25 #ifndef YChildrenManager_h
26 #define YChildrenManager_h
30 #include "YUIException.h"
47 : _container( containerParent )
56 typedef std::list<T *> ChildrenList;
66 bool empty()
const {
return _children.empty(); }
71 int count()
const {
return _children.size(); }
76 typename ChildrenList::const_iterator
begin()
const
77 {
return _children.begin(); }
82 typename ChildrenList::const_iterator
end()
const
83 {
return _children.end(); }
88 typename ChildrenList::const_reverse_iterator
rbegin()
const
89 {
return _children.rbegin(); }
94 typename ChildrenList::const_reverse_iterator
rend()
const
95 {
return _children.rend(); }
102 {
return _children.empty() ? (T *) 0 : _children.front(); }
108 {
return _children.empty() ? (T *) 0 : _children.back(); }
116 virtual void add( T * child )
117 { _children.push_back( child ); }
123 virtual void remove( T * child )
124 { _children.remove( child ); }
131 { _children.clear(); }
140 return ( find( _children.begin(), _children.end(), child )
141 != _children.end() );
153 ChildrenList _children;
177 virtual void add( T * child )
180 this->_children.push_back( child );
190 this->_children.clear();
191 this->_children.push_back( newChild );
220 virtual void add( T * child )
225 #endif // YChildrenManager_h
YChildrenRejector(T *containerParent)
virtual void add(T *child)
virtual ~YChildrenManager()
ChildrenList::const_iterator end() const
YChildrenManager(T *containerParent)
virtual void add(T *child)
virtual void add(T *child)
bool contains(T *child) const
void replace(T *newChild)
ChildrenList::const_iterator begin() const
ChildrenList::const_reverse_iterator rend() const
ChildrenList::const_reverse_iterator rbegin() const