Itasca C++ Interface
iparenttochildcontainer.h
1 #pragma once
2 // iparenttochildcontainer.h
4 
5 namespace itasca {
6  class IThing;
7 
15  public:
17  inline static const TType type_ = 0x4e95af7a;
18 
21  virtual const IContainer::signal_type *getAddedSignalChild() const=0;
29  virtual void pushFrontChild(IThing *)=0;
31  virtual void pushBackChild(IThing *)=0;
35  virtual void releaseChild(IContainer::IOpaqueIterator *i) const=0;
37  virtual bool atEndChild(IContainer::IOpaqueIterator *i) const=0;
41  virtual const IThing *getChild(IContainer::IOpaqueIterator *i) const=0;
43  virtual bool incrementChild(IContainer::IOpaqueIterator *i) const=0;
47  virtual void cleanIterators(IThing *)=0;
48 
49  };
50 }
51 // EoF
Interface class for iterating through the container that has a null implementation.
Definition: icontainer.h:33
shared::Signal< const IThing *, const IContainer * > signal_type
Defines the Signal2<> type used for removed, added, and destroy signals sent from the container.
Definition: icontainer.h:27
Provides a class to use as the parent to a child container, or the main container of all of the child...
Definition: iparenttochildcontainer.h:14
virtual void releaseChild(IContainer::IOpaqueIterator *i) const =0
Make the opaque iterator availble.
static const TType type_
The type identification number for this class, for use in convert_cast() and convert_getcast().
Definition: iparenttochildcontainer.h:17
virtual IContainer::IOpaqueIterator * acquireChild(IThing *) const =0
Returns an opaque interator pointer to an available (or new) object in the container
virtual void cleanIterators(IThing *)=0
Clean up the iterators upon deletion.
virtual IThing * getChild(IContainer::IOpaqueIterator *i)=0
Returns a pointer to the child of the given iterator, or NULL if the iterator does not have a child.
virtual void pushBackChild(IThing *)=0
Adds child to the back of the list.
virtual bool copyChild(IContainer::IOpaqueIterator *iSrc, IContainer::IOpaqueIterator *iDst) const =0
Child shallow copy.
virtual const IContainer::signal_type * getAddedSignalChild() const =0
virtual bool incrementChild(IContainer::IOpaqueIterator *i) const =0
Moves child pointer to the next child, incrementing the iterator.
virtual const IContainer::signal_type * getDestroySignalChild() const =0
virtual const IContainer::signal_type * getRemovedSignalChild() const =0
virtual const IThing * getChild(IContainer::IOpaqueIterator *i) const =0
Returns a constant pointer to the child of the given iterdator, or NULL if the iterator does not have...
virtual bool atEndChild(IContainer::IOpaqueIterator *i) const =0
Returns true if this child is the last one in the list.
virtual void pushFrontChild(IThing *)=0
Adds child to the front of the list.
Base class for items that will be stored in containers.
Definition: ithing.h:30
uint32 TType
class type indicator
Definition: basedef.h:46
Interface for container of IThings.
namespace Itasca
Definition: basememory.cpp:10