#include <CTermStack.h>
Public Types | |
typedef CTermStackBase < NavigatorType, BaseType > | self |
typedef NavigatorType | navigator |
Get type of navigators. | |
typedef navigator::idx_type | idx_type |
Type for indices. | |
typedef navigator::size_type | size_type |
Type for lengths. | |
typedef navigator::bool_type | bool_type |
typedef std::deque< navigator > | stack_type |
Define type for stacking. | |
typedef stack_type::reference | reference |
typedef stack_type::const_reference | const_reference |
typedef boost::indirect_iterator < typename stack_type::const_iterator, typename navigator::value_type, boost::use_default, typename navigator::reference > | const_iterator |
typedef stack_type::const_iterator | stack_iterator |
typedef stack_type::const_reverse_iterator | stack_reverse_iterator |
typedef boost::indirect_iterator < typename stack_type::const_reverse_iterator, typename navigator::value_type, boost::use_default, typename navigator::reference > | const_reverse_iterator |
typedef stack_type::value_type | top_type |
result type of top() | |
Public Member Functions | |
const_reference | top () const |
idx_type | index () const |
bool_type | empty () const |
size_type | size () const |
const_iterator | begin () const |
const_iterator | end () const |
const_reverse_iterator | rbegin () const |
const_reverse_iterator | rend () const |
navigator | navigation () const |
Get navigator of stack start. | |
CTermStackBase () | |
Default constructor. | |
CTermStackBase (navigator navi) | |
Construct from initial navigator. | |
bool_type | equal (const self &rhs) const |
default Copy Constructor | |
void | incrementThen () |
void | incrementElse () |
void | decrementNode () |
bool_type | isConstant () const |
bool_type | isTerminated () const |
bool_type | isInvalid () const |
void | followThen () |
void | markOne () |
bool_type | markedOne () const |
void | clearOne () |
size_type | deg () const |
void | invalidate () |
void | restart (navigator navi) |
bool | isOne () const |
bool | isZero () const |
bool | atBegin () const |
bool | atEnd () const |
bool | atEnd (navigator navi) const |
bool | validEnd () const |
bool | validEnd (navigator navi) const |
void | print () const |
stack_iterator | stackBegin () const |
stack_iterator | stackEnd () const |
stack_reverse_iterator | stackRBegin () const |
stack_reverse_iterator | stackREnd () const |
Protected Member Functions | |
void | push (navigator __x) |
void | clear () |
template<class TermStack > | |
void | append (const TermStack &rhs) |
Friends | |
class | CTermStackBase |
typedef navigator::bool_type CTermStackBase< NavigatorType, BaseType >::bool_type |
typedef boost::indirect_iterator<typename stack_type::const_iterator, typename navigator::value_type, boost::use_default, typename navigator::reference> CTermStackBase< NavigatorType, BaseType >::const_iterator |
typedef stack_type::const_reference CTermStackBase< NavigatorType, BaseType >::const_reference |
typedef boost::indirect_iterator<typename stack_type::const_reverse_iterator, typename navigator::value_type, boost::use_default, typename navigator::reference> CTermStackBase< NavigatorType, BaseType >::const_reverse_iterator |
typedef navigator::idx_type CTermStackBase< NavigatorType, BaseType >::idx_type |
Type for indices.
Reimplemented in CDegStackCore< NavigatorType, valid_tag, Category, BaseType >.
typedef NavigatorType CTermStackBase< NavigatorType, BaseType >::navigator |
Get type of navigators.
Reimplemented in CTermStack< NavigatorType, Category, BaseType >, CDegStackCore< NavigatorType, invalid_tag, Category, BaseType >, and CDegStackCore< NavigatorType, valid_tag, Category, BaseType >.
typedef stack_type::reference CTermStackBase< NavigatorType, BaseType >::reference |
typedef CTermStackBase<NavigatorType, BaseType> CTermStackBase< NavigatorType, BaseType >::self |
Reimplemented in CTermStack< NavigatorType, Category, BaseType >.
typedef navigator::size_type CTermStackBase< NavigatorType, BaseType >::size_type |
Type for lengths.
Reimplemented in CDegStackCore< NavigatorType, valid_tag, Category, BaseType >.
typedef stack_type::const_iterator CTermStackBase< NavigatorType, BaseType >::stack_iterator |
typedef stack_type::const_reverse_iterator CTermStackBase< NavigatorType, BaseType >::stack_reverse_iterator |
typedef std::deque<navigator> CTermStackBase< NavigatorType, BaseType >::stack_type |
Define type for stacking.
typedef stack_type::value_type CTermStackBase< NavigatorType, BaseType >::top_type |
result type of top()
CTermStackBase< NavigatorType, BaseType >::CTermStackBase | ( | ) | [inline] |
Default constructor.
CTermStackBase< NavigatorType, BaseType >::CTermStackBase | ( | navigator | navi | ) | [inline] |
Construct from initial navigator.
References CTermStackBase< NavigatorType, BaseType >::push().
void CTermStackBase< NavigatorType, BaseType >::append | ( | const TermStack & | rhs | ) | [inline, protected] |
Reimplemented in CTermStack< NavigatorType, Category, BaseType >.
References CTermStackBase< NavigatorType, BaseType >::empty(), and CTermStackBase< NavigatorType, BaseType >::top().
Referenced by CTermStack< NavigatorType, Category, BaseType >::append().
bool CTermStackBase< NavigatorType, BaseType >::atBegin | ( | ) | const [inline] |
Reimplemented in CDegStackCore< NavigatorType, valid_tag, Category, BaseType >.
References CTermStackBase< NavigatorType, BaseType >::empty().
Referenced by CDegStackCore< NavigatorType, valid_tag, Category, BaseType >::next(), and CDegStackCore< NavigatorType, valid_tag, Category, BaseType >::previous().
bool CTermStackBase< NavigatorType, BaseType >::atEnd | ( | navigator | navi | ) | const [inline] |
Reimplemented in CDegStackCore< NavigatorType, valid_tag, Category, BaseType >.
bool CTermStackBase< NavigatorType, BaseType >::atEnd | ( | ) | const [inline] |
Reimplemented in CDegStackCore< NavigatorType, valid_tag, Category, BaseType >.
References CTermStackBase< NavigatorType, BaseType >::atEnd(), and CTermStackBase< NavigatorType, BaseType >::top().
Referenced by CTermStackBase< NavigatorType, BaseType >::atEnd(), and CDegStackCore< NavigatorType, valid_tag, Category, BaseType >::validEnd().
const_iterator CTermStackBase< NavigatorType, BaseType >::begin | ( | ) | const [inline] |
References CTermStackBase< NavigatorType, BaseType >::stackBegin().
Referenced by CTermStackBase< NavigatorType, BaseType >::print().
void CTermStackBase< NavigatorType, BaseType >::clear | ( | ) | [inline, protected] |
void CTermStackBase< NavigatorType, BaseType >::clearOne | ( | ) | [inline] |
void CTermStackBase< NavigatorType, BaseType >::decrementNode | ( | ) | [inline] |
size_type CTermStackBase< NavigatorType, BaseType >::deg | ( | ) | const [inline] |
bool_type CTermStackBase< NavigatorType, BaseType >::empty | ( | ) | const [inline] |
Referenced by CTermStackBase< NavigatorType, BaseType >::append(), CTermStackBase< NavigatorType, BaseType >::atBegin(), CTermStackBase< NavigatorType, BaseType >::clearOne(), CTermStackBase< NavigatorType, BaseType >::decrementNode(), CTermStackBase< NavigatorType, BaseType >::equal(), CTermStackBase< NavigatorType, BaseType >::followThen(), CTermStack< NavigatorType, Category, BaseType >::increment(), CTermStack< NavigatorType, Category, BaseType >::incrementElse(), CTermStack< NavigatorType, Category, BaseType >::incrementValidElse(), CTermStackBase< NavigatorType, BaseType >::isConstant(), CTermStackBase< NavigatorType, BaseType >::isInvalid(), CTermStackBase< NavigatorType, BaseType >::isTerminated(), CTermStackBase< NavigatorType, BaseType >::isZero(), CTermStackBase< NavigatorType, BaseType >::markedOne(), CTermStackBase< NavigatorType, BaseType >::markOne(), CTermStack< NavigatorType, Category, BaseType >::next(), CDegStackCore< NavigatorType, valid_tag, Category, BaseType >::previous(), CTermStackBase< NavigatorType, BaseType >::restart(), and CTermStack< NavigatorType, Category, BaseType >::terminate().
const_iterator CTermStackBase< NavigatorType, BaseType >::end | ( | ) | const [inline] |
References CTermStackBase< NavigatorType, BaseType >::stackEnd().
Referenced by CTermStackBase< NavigatorType, BaseType >::print().
bool_type CTermStackBase< NavigatorType, BaseType >::equal | ( | const self & | rhs | ) | const [inline] |
default Copy Constructor
Equality test (assume iterators from same instance)
References CTermStackBase< NavigatorType, BaseType >::empty().
void CTermStackBase< NavigatorType, BaseType >::followThen | ( | ) | [inline] |
References CTermStackBase< NavigatorType, BaseType >::empty(), CTermStackBase< NavigatorType, BaseType >::incrementThen(), and CTermStackBase< NavigatorType, BaseType >::isConstant().
Referenced by CTermStack< NavigatorType, Category, BaseType >::increment(), and CTermStack< NavigatorType, Category, BaseType >::init().
void CTermStackBase< NavigatorType, BaseType >::incrementElse | ( | ) | [inline] |
Reimplemented in CTermStack< NavigatorType, Category, BaseType >.
References CTermStackBase< NavigatorType, BaseType >::isConstant().
Referenced by CTermStack< NavigatorType, Category, BaseType >::incrementElse().
void CTermStackBase< NavigatorType, BaseType >::incrementThen | ( | ) | [inline] |
References CTermStackBase< NavigatorType, BaseType >::isConstant(), CTermStackBase< NavigatorType, BaseType >::push(), and CTermStackBase< NavigatorType, BaseType >::top().
Referenced by CTermStackBase< NavigatorType, BaseType >::followThen(), and CTermStack< NavigatorType, Category, BaseType >::incrementValidElse().
idx_type CTermStackBase< NavigatorType, BaseType >::index | ( | ) | const [inline] |
References CTermStackBase< NavigatorType, BaseType >::top().
void CTermStackBase< NavigatorType, BaseType >::invalidate | ( | ) | [inline] |
bool_type CTermStackBase< NavigatorType, BaseType >::isConstant | ( | ) | const [inline] |
References CTermStackBase< NavigatorType, BaseType >::empty(), and CTermStackBase< NavigatorType, BaseType >::top().
Referenced by CTermStack< NavigatorType, Category, BaseType >::followElse(), CTermStackBase< NavigatorType, BaseType >::followThen(), CTermStackBase< NavigatorType, BaseType >::incrementElse(), CTermStackBase< NavigatorType, BaseType >::incrementThen(), and CTermStack< NavigatorType, Category, BaseType >::incrementValidElse().
bool_type CTermStackBase< NavigatorType, BaseType >::isInvalid | ( | ) | const [inline] |
bool CTermStackBase< NavigatorType, BaseType >::isOne | ( | ) | const [inline] |
bool_type CTermStackBase< NavigatorType, BaseType >::isTerminated | ( | ) | const [inline] |
bool CTermStackBase< NavigatorType, BaseType >::isZero | ( | ) | const [inline] |
References CTermStackBase< NavigatorType, BaseType >::empty().
Referenced by CTermStack< NavigatorType, Category, BaseType >::terminate().
bool_type CTermStackBase< NavigatorType, BaseType >::markedOne | ( | ) | const [inline] |
References CTermStackBase< NavigatorType, BaseType >::empty().
Referenced by CTermStack< NavigatorType, Category, BaseType >::decrement(), CTermStackBase< NavigatorType, BaseType >::deg(), CTermStack< NavigatorType, Category, BaseType >::increment(), CTermStackBase< NavigatorType, BaseType >::isOne(), CTermStackBase< NavigatorType, BaseType >::stackBegin(), and CTermStackBase< NavigatorType, BaseType >::stackRBegin().
void CTermStackBase< NavigatorType, BaseType >::markOne | ( | ) | [inline] |
navigator CTermStackBase< NavigatorType, BaseType >::navigation | ( | ) | const [inline] |
Get navigator of stack start.
Referenced by CTermStackBase< NavigatorType, BaseType >::invalidate().
void CTermStackBase< NavigatorType, BaseType >::print | ( | ) | const [inline] |
void CTermStackBase< NavigatorType, BaseType >::push | ( | navigator | __x | ) | [inline, protected] |
Referenced by CTermStackBase< NavigatorType, BaseType >::CTermStackBase(), CTermStackBase< NavigatorType, BaseType >::incrementThen(), CTermStackBase< NavigatorType, BaseType >::invalidate(), CTermStackBase< NavigatorType, BaseType >::markOne(), and CTermStackBase< NavigatorType, BaseType >::restart().
const_reverse_iterator CTermStackBase< NavigatorType, BaseType >::rbegin | ( | ) | const [inline] |
const_reverse_iterator CTermStackBase< NavigatorType, BaseType >::rend | ( | ) | const [inline] |
void CTermStackBase< NavigatorType, BaseType >::restart | ( | navigator | navi | ) | [inline] |
size_type CTermStackBase< NavigatorType, BaseType >::size | ( | ) | const [inline] |
Referenced by CTermStackBase< NavigatorType, BaseType >::deg().
stack_iterator CTermStackBase< NavigatorType, BaseType >::stackBegin | ( | ) | const [inline] |
References CTermStackBase< NavigatorType, BaseType >::markedOne().
Referenced by CTermStackBase< NavigatorType, BaseType >::begin().
stack_iterator CTermStackBase< NavigatorType, BaseType >::stackEnd | ( | ) | const [inline] |
Referenced by CTermStackBase< NavigatorType, BaseType >::end().
stack_reverse_iterator CTermStackBase< NavigatorType, BaseType >::stackRBegin | ( | ) | const [inline] |
References CTermStackBase< NavigatorType, BaseType >::markedOne().
Referenced by CTermStackBase< NavigatorType, BaseType >::rbegin().
stack_reverse_iterator CTermStackBase< NavigatorType, BaseType >::stackREnd | ( | ) | const [inline] |
Referenced by CTermStackBase< NavigatorType, BaseType >::rend().
const_reference CTermStackBase< NavigatorType, BaseType >::top | ( | ) | const [inline] |
Referenced by CTermStackBase< NavigatorType, BaseType >::append(), CTermStackBase< NavigatorType, BaseType >::atEnd(), CTermStack< NavigatorType, Category, BaseType >::incrementElse(), CTermStackBase< NavigatorType, BaseType >::incrementThen(), CTermStack< NavigatorType, Category, BaseType >::incrementValidElse(), CTermStackBase< NavigatorType, BaseType >::index(), CTermStackBase< NavigatorType, BaseType >::isConstant(), CTermStackBase< NavigatorType, BaseType >::isInvalid(), CTermStackBase< NavigatorType, BaseType >::isTerminated(), CDegStackCore< NavigatorType, valid_tag, Category, BaseType >::previous(), and CTermStackBase< NavigatorType, BaseType >::validEnd().
bool CTermStackBase< NavigatorType, BaseType >::validEnd | ( | navigator | navi | ) | const [inline] |
Reimplemented in CDegStackCore< NavigatorType, valid_tag, Category, BaseType >.
bool CTermStackBase< NavigatorType, BaseType >::validEnd | ( | ) | const [inline] |
friend class CTermStackBase [friend] |