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;
 
   85         explicit TreeItem(
const TreeItemPtr& parent);
 
   95         bool hasChildren() 
const;
 
  111         const std::list<TreeItemPtr>& getChildren() 
const;
 
  120         const TreeItemPtr& getChild(std::size_t i) 
const;
 
  129         const TreeItemPtr& operator[](std::size_t i) 
const;
 
  141         void add(
const TreeItemPtr& childItem);
 
  154         void insert(std::size_t i, 
const TreeItemPtr& childItem);
 
  165         TreeItemPtr 
remove(std::size_t i);
 
  176         std::list<TreeItemPtr> 
remove(std::size_t i, std::size_t count);
 
  187         TreeItemPtr replace(std::size_t i, 
const TreeItemPtr& childItem);
 
  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;
 
  234         void swap(
const TreeItemPtr& firstChild, 
const TreeItemPtr& secondChild);
 
  241         void swap(
const TreeItemPtr& sibling);
 
  248         const_iterator begin() 
const;
 
  262         const_iterator end() 
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