BALL  1.5.0
compositeManager.h
Go to the documentation of this file.
1 // -*- Mode: C++; tab-width: 2; -*-
2 // vi: set ts=2:
3 //
4 
5 #ifndef BALL_VIEW_KERNEL_COMPOSITEMANAGER_H
6 #define BALL_VIEW_KERNEL_COMPOSITEMANAGER_H
7 
8 #ifndef BALL_DATATYPE_HASHSET_H
9 # include <BALL/DATATYPE/hashSet.h>
10 #endif
11 
12 namespace BALL
13 {
14  class Composite;
15  class System;
16 
17  namespace VIEW
18  {
27  {
28  public:
33  typedef Composite *& reference;
34  typedef Composite** pointer;
35  typedef const Composite*& const_reference;
36  typedef const Composite** const_pointer;
38  typedef Size size_type;
40 
43 
46 
48 
51 
55 
59 
62  virtual ~CompositeManager();
63 
66  virtual void clear();
67 
69 
72 
76  bool has(const Composite* composite) const;
77 
81  bool hasRoot(const Composite* composite) const;
82 
84 
87 
92  bool insert(Composite& composite);
93 
97  void remove(Composite& composite, bool to_delete = true);
98 
102  { return composite_set_.size();}
103 
105 
108 
111  { return composite_set_.begin();}
112 
115  { return composite_set_.end();}
116 
119  { return composite_set_.begin();}
120 
123  { return composite_set_.end();}
124 
127  { return composite_set_;}
128 
131  { return composite_set_;}
132 
138  virtual void dump(std::ostream& s = std::cout, Size depth = 0) const;
139 
141 
142  private:
143 
144  HashSet<Composite*> composite_set_;
145  HashSet<String> name_set_;
146  };
147 
148  } // namespace VIEW
149 } // namespace BALL
150 
151 #endif // BALL_VIEW_KERNEL_COMPOSITEMANAGER_H
BALL::VIEW::CompositeManager::const_pointer
const typedef Composite ** const_pointer
Definition: compositeManager.h:36
BALL::ConstForwardIterator
Definition: forwardIterator.h:24
BALL::VIEW::CompositeManager::end
CompositeConstIterator end() const
Definition: compositeManager.h:122
BALL::VIEW::CompositeManager::const_reference
const typedef Composite *& const_reference
Definition: compositeManager.h:35
BALL::ConstForwardIterator::begin
static ConstForwardIterator begin(const Container &container)
Definition: forwardIterator.h:145
BALL::VIEW::CompositeManager::value_type
Composite * value_type
Definition: compositeManager.h:32
BALL::VIEW::CompositeManager::begin
CompositeConstIterator begin() const
Definition: compositeManager.h:118
BALL
Definition: constants.h:12
BALL::HashSet
Definition: hashSet.h:45
BALL::VIEW::CompositeManager::size_type
Size size_type
Definition: compositeManager.h:38
BALL::VIEW::CompositeManager::getNumberOfComposites
Size getNumberOfComposites() const
Definition: compositeManager.h:101
BALL::VIEW::CompositeManager::reference
Composite *& reference
Definition: compositeManager.h:33
BALL::VIEW::CompositeManager::begin
CompositeIterator begin()
Definition: compositeManager.h:110
BALL_INDEX_TYPE
BALL::Composite
Definition: composite.h:71
BALL_SIZE_TYPE
BALL::VIEW::CompositeManager::end
CompositeIterator end()
Definition: compositeManager.h:114
BALL::ForwardIterator
Definition: forwardIterator.h:197
hashSet.h
BALL::ForwardIterator::end
static ForwardIterator end(const Container &container)
Definition: forwardIterator.h:317
BALL::ForwardIterator::begin
static ForwardIterator begin(const Container &container)
Definition: forwardIterator.h:307
BALL::VIEW::CompositeManager::getComposites
const HashSet< Composite * > & getComposites() const
Definition: compositeManager.h:130
BALL::VIEW::CompositeManager
Definition: compositeManager.h:26
BALL::VIEW::CompositeManager::CompositeConstIterator
HashSet< Composite * >::ConstIterator CompositeConstIterator
Definition: compositeManager.h:45
BALL::VIEW::CompositeManager::pointer
Composite ** pointer
Definition: compositeManager.h:34
BALL_VIEW_EXPORT
#define BALL_VIEW_EXPORT
Definition: COMMON/global.h:52
BALL::ConstForwardIterator::end
static ConstForwardIterator end(const Container &container)
Definition: forwardIterator.h:175
BALL::VIEW::CompositeManager::getComposites
HashSet< Composite * > & getComposites()
Definition: compositeManager.h:126
BALL::VIEW::CompositeManager::iterator
HashSet< Composite * >::Iterator iterator
Definition: compositeManager.h:39
BALL::VIEW::CompositeManager::difference_type
Index difference_type
Definition: compositeManager.h:37
BALL::VIEW::CompositeManager::CompositeIterator
HashSet< Composite * >::Iterator CompositeIterator
Definition: compositeManager.h:42