carl  24.04
Computer ARithmetic Library
carl::tree_detail Namespace Reference

Data Structures

struct  Node
 
struct  BaseIterator
 This is the base class for all iterators. More...
 
struct  PreorderIterator
 Iterator class for pre-order iterations over all elements. More...
 
struct  PostorderIterator
 Iterator class for post-order iterations over all elements. More...
 
struct  LeafIterator
 Iterator class for iterations over all leaf elements. More...
 
struct  DepthIterator
 Iterator class for iterations over all elements of a certain depth. More...
 
struct  ChildrenIterator
 Iterator class for iterations over all children of a given element. More...
 
struct  PathIterator
 Iterator class for iterations from a given element to the root. More...
 

Functions

template<typename T >
bool operator== (const Node< T > &lhs, const Node< T > &rhs)
 
template<typename T >
std::ostream & operator<< (std::ostream &os, const Node< T > &n)
 
template<typename T , typename I , bool r>
T & operator* (BaseIterator< T, I, r > &bi)
 
template<typename T , typename I , bool r>
const T & operator* (const BaseIterator< T, I, r > &bi)
 
template<typename T , typename I , bool reverse>
std::enable_if<!reverse, I >::type & operator++ (BaseIterator< T, I, reverse > &it)
 
template<typename T , typename I , bool reverse>
std::enable_if< reverse, I >::type & operator++ (BaseIterator< T, I, reverse > &it)
 
template<typename T , typename I , bool reverse>
std::enable_if<!reverse, I >::type operator++ (BaseIterator< T, I, reverse > &it, int)
 
template<typename T , typename I , bool reverse>
std::enable_if< reverse, I >::type operator++ (BaseIterator< T, I, reverse > &it, int)
 
template<typename T , typename I , bool reverse>
std::enable_if<!reverse, I >::type & operator-- (BaseIterator< T, I, reverse > &it)
 
template<typename T , typename I , bool reverse>
std::enable_if< reverse, I >::type & operator-- (BaseIterator< T, I, reverse > &it)
 
template<typename T , typename I , bool reverse>
std::enable_if<!reverse, I >::type operator-- (BaseIterator< T, I, reverse > &it, int)
 
template<typename T , typename I , bool reverse>
std::enable_if< reverse, I >::type operator-- (BaseIterator< T, I, reverse > &it, int)
 
template<typename T , typename I , bool r>
bool operator== (const BaseIterator< T, I, r > &i1, const BaseIterator< T, I, r > &i2)
 
template<typename T , typename I , bool r>
bool operator!= (const BaseIterator< T, I, r > &i1, const BaseIterator< T, I, r > &i2)
 
template<typename T , typename I , bool r>
bool operator< (const BaseIterator< T, I, r > &i1, const BaseIterator< T, I, r > &i2)
 

Variables

constexpr std::size_t MAXINT = std::numeric_limits<std::size_t>::max()
 

Function Documentation

◆ operator!=()

template<typename T , typename I , bool r>
bool carl::tree_detail::operator!= ( const BaseIterator< T, I, r > &  i1,
const BaseIterator< T, I, r > &  i2 
)

Definition at line 164 of file carlTree.h.

◆ operator*() [1/2]

template<typename T , typename I , bool r>
T& carl::tree_detail::operator* ( BaseIterator< T, I, r > &  bi)

Definition at line 117 of file carlTree.h.

Here is the call graph for this function:

◆ operator*() [2/2]

template<typename T , typename I , bool r>
const T& carl::tree_detail::operator* ( const BaseIterator< T, I, r > &  bi)

Definition at line 121 of file carlTree.h.

Here is the call graph for this function:

◆ operator++() [1/4]

template<typename T , typename I , bool reverse>
std::enable_if<!reverse,I>::type& carl::tree_detail::operator++ ( BaseIterator< T, I, reverse > &  it)

Definition at line 126 of file carlTree.h.

◆ operator++() [2/4]

template<typename T , typename I , bool reverse>
std::enable_if<reverse,I>::type& carl::tree_detail::operator++ ( BaseIterator< T, I, reverse > &  it)

Definition at line 130 of file carlTree.h.

◆ operator++() [3/4]

template<typename T , typename I , bool reverse>
std::enable_if<!reverse,I>::type carl::tree_detail::operator++ ( BaseIterator< T, I, reverse > &  it,
int   
)

Definition at line 134 of file carlTree.h.

◆ operator++() [4/4]

template<typename T , typename I , bool reverse>
std::enable_if<reverse,I>::type carl::tree_detail::operator++ ( BaseIterator< T, I, reverse > &  it,
int   
)

Definition at line 138 of file carlTree.h.

◆ operator--() [1/4]

template<typename T , typename I , bool reverse>
std::enable_if<!reverse,I>::type& carl::tree_detail::operator-- ( BaseIterator< T, I, reverse > &  it)

Definition at line 142 of file carlTree.h.

◆ operator--() [2/4]

template<typename T , typename I , bool reverse>
std::enable_if<reverse,I>::type& carl::tree_detail::operator-- ( BaseIterator< T, I, reverse > &  it)

Definition at line 146 of file carlTree.h.

◆ operator--() [3/4]

template<typename T , typename I , bool reverse>
std::enable_if<!reverse,I>::type carl::tree_detail::operator-- ( BaseIterator< T, I, reverse > &  it,
int   
)

Definition at line 150 of file carlTree.h.

◆ operator--() [4/4]

template<typename T , typename I , bool reverse>
std::enable_if<reverse,I>::type carl::tree_detail::operator-- ( BaseIterator< T, I, reverse > &  it,
int   
)

Definition at line 154 of file carlTree.h.

◆ operator<()

template<typename T , typename I , bool r>
bool carl::tree_detail::operator< ( const BaseIterator< T, I, r > &  i1,
const BaseIterator< T, I, r > &  i2 
)

Definition at line 168 of file carlTree.h.

◆ operator<<()

template<typename T >
std::ostream& carl::tree_detail::operator<< ( std::ostream &  os,
const Node< T > &  n 
)

Definition at line 47 of file carlTree.h.

◆ operator==() [1/2]

template<typename T , typename I , bool r>
bool carl::tree_detail::operator== ( const BaseIterator< T, I, r > &  i1,
const BaseIterator< T, I, r > &  i2 
)

Definition at line 160 of file carlTree.h.

◆ operator==() [2/2]

template<typename T >
bool carl::tree_detail::operator== ( const Node< T > &  lhs,
const Node< T > &  rhs 
)

Definition at line 43 of file carlTree.h.

Variable Documentation

◆ MAXINT

constexpr std::size_t carl::tree_detail::MAXINT = std::numeric_limits<std::size_t>::max()
constexpr

Definition at line 26 of file carlTree.h.