Itasca C++ Interface
Loading...
Searching...
No Matches
iparenttochildcontainer.h
1#pragma once
2// iparenttochildcontainer.h
4
5namespace itasca {
6 class IThing;
7
15 public:
17 inline static const TType type_ = 0x4e95af7a;
18
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;
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 const IContainer::signal_type * getDestroySignalChild() const =0
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 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 IContainer::IOpaqueIterator * acquireChild(IThing *) const =0
Returns an opaque interator pointer to an available (or new) object in the container
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 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 incrementChild(IContainer::IOpaqueIterator *i) const =0
Moves child pointer to the next child, incrementing the iterator.
virtual const IContainer::signal_type * getAddedSignalChild() const =0
virtual bool atEndChild(IContainer::IOpaqueIterator *i) const =0
Returns true if this child is the last one in the list.
virtual const IContainer::signal_type * getRemovedSignalChild() const =0
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