BALL  1.4.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines
Private Attributes
BALL::VIEW::CompositeManager Class Reference

#include <BALL/VIEW/KERNEL/compositeManager.h>

List of all members.

Public Types

Typedefs for STL compliance
typedef Compositevalue_type
typedef Composite *& reference
typedef Composite ** pointer
typedef const Composite *& const_reference
typedef const Composite ** const_pointer
typedef Index difference_type
typedef Size size_type
typedef HashSet< Composite * >
::Iterator 
iterator
typedef HashSet< Composite * >
::Iterator 
CompositeIterator
typedef HashSet< Composite * >
::ConstIterator 
CompositeConstIterator

Public Member Functions

Constructors and Destructors
 CompositeManager ()
 CompositeManager (const CompositeManager &cm)
virtual ~CompositeManager ()
virtual void clear ()
Predicates
bool has (const Composite *composite) const
bool hasRoot (const Composite *composite) const
Accessors: inspectors and mutators
bool insert (Composite &composite)
void remove (Composite &composite, bool to_delete=true)
Size getNumberOfComposites () const
STL Iterator compliance
CompositeIterator begin ()
CompositeIterator end ()
CompositeConstIterator begin () const
CompositeConstIterator end () const
HashSet< Composite * > & getComposites ()
const HashSet< Composite * > & getComposites () const
virtual void dump (std::ostream &s=std::cout, Size depth=0) const

Private Attributes

HashSet< Composite * > composite_set_
HashSet< Stringname_set_

Detailed Description

CompositeManager class. Management of Composites. This class is a container for all Composite objects, which are used in an application. When the CompositeManager is destroyed, all inserted Composites are deleted.

Definition at line 26 of file compositeManager.h.


Member Typedef Documentation

Definition at line 45 of file compositeManager.h.

Definition at line 42 of file compositeManager.h.

Definition at line 36 of file compositeManager.h.

Definition at line 35 of file compositeManager.h.

Definition at line 37 of file compositeManager.h.

Definition at line 39 of file compositeManager.h.

Definition at line 34 of file compositeManager.h.

Definition at line 33 of file compositeManager.h.

Definition at line 38 of file compositeManager.h.

Definition at line 32 of file compositeManager.h.


Constructor & Destructor Documentation

Default Constructor.

Copy Constructor

Destructor.


Member Function Documentation

Definition at line 110 of file compositeManager.h.

Definition at line 118 of file compositeManager.h.

virtual void BALL::VIEW::CompositeManager::clear ( ) [virtual]

Explicit default initialization.

virtual void BALL::VIEW::CompositeManager::dump ( std::ostream &  s = std::cout,
Size  depth = 0 
) const [virtual]

Internal value dump. Dumps the current state to a output ostream s with dumping depth depth.

Parameters:
soutput stream where to output the state
depththe dumping depth

Definition at line 114 of file compositeManager.h.

Definition at line 122 of file compositeManager.h.

Definition at line 126 of file compositeManager.h.

Definition at line 130 of file compositeManager.h.

Return the number of inserted Composites

Definition at line 101 of file compositeManager.h.

bool BALL::VIEW::CompositeManager::has ( const Composite composite) const

Test if the CompositeManager has the Composite itself or one of its ancestors. This method also works if the Composite might have been deleted, but it is quite slow O(n) with n = number of all Composites !

Test if the CompositeManager has the Composite itself as root entry (no search for childs or descendents). Quite Fast with O(log n) with n = number of roots (Systems).

Insert a Composite. Composites which are descendents of already inserted Composites can not be inserted.

Returns:
true, if the Composite could be inserted
void BALL::VIEW::CompositeManager::remove ( Composite composite,
bool  to_delete = true 
)

Remove a Composite. The Composite and its descendents will be destroyed if to_delete is true


Member Data Documentation

Definition at line 144 of file compositeManager.h.

Definition at line 145 of file compositeManager.h.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines