EvolvingObjects
gp_parse_tree::parse_tree< T >::subtree Class Reference

List of all members.

Public Types

typedef subtreeiterator
typedef const subtreeconst_iterator

Public Member Functions

 subtree (const subtree &s)
 subtree (const T &t)
template<class It >
 subtree (It b, It e)
subtreeoperator= (const subtree &s)
subtreeoperator= (const T &t)
T & operator* (void)
const T & operator* (void) const
T * operator-> (void)
const T * operator-> (void) const
bool operator== (const subtree &other) const
bool operator!= (const subtree &other) const
int arity (void) const
template<class RetVal >
void apply (RetVal &v) const
template<class RetVal , class It >
void apply (RetVal &v, It values) const
template<class RetVal , class It >
void apply_mem_func (RetVal &v, It misc, void(T::*f)(RetVal &, typename subtree::iterator, It))
template<class Pred >
void find_nodes (std::vector< subtree * > &result, Pred &p)
template<class Pred >
void find_nodes (std::vector< const subtree * > &result, Pred &p) const
iterator begin (void)
const_iterator begin (void) const
iterator end (void)
const_iterator end (void) const
subtreeoperator[] (int i)
const subtreeoperator[] (int i) const
size_t size (void) const
size_t cumulative_size (void) const
size_t depth (void) const
const subtreeselect_cumulative (size_t which) const
subtreeselect_cumulative (size_t which)
subtreeget_node (size_t which)
const subtreeget_node (size_t which) const
subtreeget_parent (void)
const subtreeget_parent (void) const
void clear (void)
void swap (subtree &y)

Protected Member Functions

virtual void updateAfterInsert (void)

Private Member Functions

const subtreeimp_select_cumulative (size_t which) const
const subtreeimp_get_node (size_t which) const
const subtreeget_root (void) const
subtreecopy (const subtree &s)
subtreecopy (const T &t)
void disown (void)
void adopt (void)
template<class It >
void init (It b, It &last)

Private Attributes

Standard_Node_alloc< T > node_allocator
 a bit nasty way to use a pool allocator (which would otherwise use slooow new and delete)
Standard_alloc< subtreetree_allocator
T * content
subtreeargs
subtreeparent
size_t _cumulative_size
size_t _depth
size_t _size

Detailed Description

template<class T>
class gp_parse_tree::parse_tree< T >::subtree

Definition at line 194 of file parse_tree.h.


Member Data Documentation

a bit nasty way to use a pool allocator (which would otherwise use slooow new and delete)

Todo:
use the std::allocator interface

Definition at line 206 of file parse_tree.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Friends