26 #ifndef __TERRALIB_COMMON_INTERNAL_COUNTEDTREEITEM_H
27 #define __TERRALIB_COMMON_INTERNAL_COUNTEDTREEITEM_H
37 #include <boost/intrusive_ptr.hpp>
66 typedef std::list<TreeItemPtr>::iterator
iterator;
95 bool hasChildren()
const;
111 const std::list<TreeItemPtr>& getChildren()
const;
129 const TreeItemPtr& operator[](std::size_t i)
const;
176 std::list<TreeItemPtr>
remove(std::size_t i, std::size_t count);
196 bool isSibling(
const TreeItem* item)
const;
203 std::size_t getChildrenCount()
const;
215 void getDescendantsCount(std::size_t& count)
const;
226 std::size_t getIndex()
const;
296 #endif // __TERRALIB_COMMON_INTERNAL_COUNTEDTREEITEM_H
This abstract class describes a basic item to be organized in a tree-oriented way.
Configuration flags for the TerraLib Common Runtime module.
TreeItem * m_parent
A pointer to the parent node.
std::list< TreeItemPtr >::iterator iterator
boost::intrusive_ptr< TreeItem > TreeItemPtr
mydialect insert("+", new te::da::BinaryOpEncoder("+"))
#define TECOMMONEXPORT
You can use this macro in order to export/import classes and functions from this module.
std::list< TreeItemPtr > m_children
Pointers to the items that are children.
A counted class keeps track of how many abstract instances are pointing to it.
static const std::size_t npos
A value to indicate no match.
A counted class keeps track of how many abstract instances are pointing to it.
std::list< TreeItemPtr >::const_iterator const_iterator