Workspace 6.21.5
Public Member Functions | List of all members
IndexToNumberedObjectMap< T > Class Template Reference

Maps the index of a NumberedObject in a NumberedObjectList<T> to the object. More...

#include <Mesh/DataStructures/indextonumberedobjectmap.h>

Inheritance diagram for IndexToNumberedObjectMap< T >:
[legend]

Public Member Functions

 IndexToNumberedObjectMap (NumberedObjectListType &objects)
 
 ~IndexToNumberedObjectMap ()
 
NumberedObjectListTypegetNumberedObjectList ()
 
T * getObject (unsigned index)
 
virtual void indexAdded (T *object)
 
virtual void indexRemoved (T *object)
 
virtual void reindexed ()
 
- Public Member Functions inherited from NumberedObjectList< T >::IndexChangeRecipient
virtual ~IndexChangeRecipient ()=default
 
virtual void indexAdded (BaseItemType *object)=0
 
virtual void indexRemoved (BaseItemType *object)=0
 
virtual void reindexed ()=0
 

Detailed Description

template<class T>
class CSIRO::Mesh::IndexToNumberedObjectMap< T >

This map attaches itself to the NumberedObjectList to automatically stay up to date as the observed list changes. Clients must ensure that the NumberedObjectList exists for the lifetime of this object.

Constructor & Destructor Documentation

◆ IndexToNumberedObjectMap()

◆ ~IndexToNumberedObjectMap()

Member Function Documentation

◆ getNumberedObjectList()

NumberedObjectListType & getNumberedObjectList ( )
inline

◆ getObject()

T * getObject ( unsigned  index)
inline
Returns
The object for the given index, or NULL is no object for that index exists.

◆ indexAdded()

virtual void indexAdded ( T *  object)
inlinevirtual

Called by the observed list when a new object is added.

Implements NumberedObjectList< T >::IndexChangeRecipient.

◆ indexRemoved()

virtual void indexRemoved ( T *  object)
inlinevirtual

Called by the observed list when an index is removed. Should only be called by NumberedObjectList<T>::killBack() otherwise this will require a full reindex.

Implements NumberedObjectList< T >::IndexChangeRecipient.

◆ reindexed()

virtual void reindexed ( )
inlinevirtual

Called by the observed list when all indices may have changed.

Implements NumberedObjectList< T >::IndexChangeRecipient.