BALL 1.5.0
Loading...
Searching...
No Matches
BALL::VIEW::CompositeManager Class Reference

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

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
 

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

◆ CompositeConstIterator

◆ CompositeIterator

◆ const_pointer

◆ const_reference

◆ difference_type

◆ iterator

◆ pointer

◆ reference

◆ size_type

◆ value_type

Constructor & Destructor Documentation

◆ CompositeManager() [1/2]

BALL::VIEW::CompositeManager::CompositeManager ( )

Default Constructor.

◆ CompositeManager() [2/2]

BALL::VIEW::CompositeManager::CompositeManager ( const CompositeManager & cm)

Copy Constructor

◆ ~CompositeManager()

virtual BALL::VIEW::CompositeManager::~CompositeManager ( )
virtual

Destructor.

Member Function Documentation

◆ begin() [1/2]

CompositeIterator BALL::VIEW::CompositeManager::begin ( )
inline

Definition at line 110 of file compositeManager.h.

◆ begin() [2/2]

CompositeConstIterator BALL::VIEW::CompositeManager::begin ( ) const
inline

Definition at line 118 of file compositeManager.h.

◆ clear()

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

Explicit default initialization.

◆ dump()

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

◆ end() [1/2]

CompositeIterator BALL::VIEW::CompositeManager::end ( )
inline

Definition at line 114 of file compositeManager.h.

◆ end() [2/2]

CompositeConstIterator BALL::VIEW::CompositeManager::end ( ) const
inline

Definition at line 122 of file compositeManager.h.

◆ getComposites() [1/2]

HashSet< Composite * > & BALL::VIEW::CompositeManager::getComposites ( )
inline

Definition at line 126 of file compositeManager.h.

◆ getComposites() [2/2]

const HashSet< Composite * > & BALL::VIEW::CompositeManager::getComposites ( ) const
inline

Definition at line 130 of file compositeManager.h.

◆ getNumberOfComposites()

Size BALL::VIEW::CompositeManager::getNumberOfComposites ( ) const
inline

Return the number of inserted Composites

Definition at line 101 of file compositeManager.h.

◆ has()

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 !

◆ hasRoot()

bool BALL::VIEW::CompositeManager::hasRoot ( const Composite * composite) const

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()

bool BALL::VIEW::CompositeManager::insert ( Composite & composite)

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

Returns
true, if the Composite could be inserted

◆ remove()

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