This class defines an iterator for the monomials in a Boolean polynomial. More...
#include <CTermStack.h>
Public Types | |
typedef CTermStackBase < NavigatorType, BaseType > | base |
typedef CTermStack < NavigatorType, Category, BaseType > | self |
typedef CTermStack < NavigatorType, Category, internal_tag > | purestack_type |
Defining a type for simple stacking of term elements. | |
typedef Category | iterator_category |
typedef base::navigator | navigator |
Get type of navigators. | |
typedef on_same_type< Category, std::forward_iterator_tag, project_ith< 0 >, handle_else < NavigatorType > >::type | else_handler |
Public Member Functions | |
CTermStack () | |
Default constructor. | |
CTermStack (navigator navi) | |
Construct from initial navigator. | |
template<class Dummy > | |
CTermStack (navigator navi, const Dummy &) | |
void | init () |
void | initLast () |
void | incrementElse () |
void | next () |
void | previous () |
void | increment () |
void | decrement () |
void | terminate () |
void | followElse () |
void | incrementValidElse () |
Public Attributes | |
else_handler | handleElse |
Protected Member Functions | |
template<class TermStack > | |
void | append (const TermStack &rhs) |
This class defines an iterator for the monomials in a Boolean polynomial.
typedef CTermStackBase<NavigatorType, BaseType> CTermStack< NavigatorType, Category, BaseType >::base |
typedef on_same_type<Category, std::forward_iterator_tag, project_ith<0>, handle_else<NavigatorType> >::type CTermStack< NavigatorType, Category, BaseType >::else_handler |
typedef Category CTermStack< NavigatorType, Category, BaseType >::iterator_category |
typedef base::navigator CTermStack< NavigatorType, Category, BaseType >::navigator |
Get type of navigators.
Reimplemented from CTermStackBase< NavigatorType, BaseType >.
Reimplemented in CReverseTermStack< NavigatorType, Category >, CDegStackCore< NavigatorType, invalid_tag, Category, BaseType >, and CDegStackCore< NavigatorType, valid_tag, Category, BaseType >.
typedef CTermStack<NavigatorType, Category, internal_tag> CTermStack< NavigatorType, Category, BaseType >::purestack_type |
Defining a type for simple stacking of term elements.
typedef CTermStack<NavigatorType, Category, BaseType> CTermStack< NavigatorType, Category, BaseType >::self |
Reimplemented from CTermStackBase< NavigatorType, BaseType >.
CTermStack< NavigatorType, Category, BaseType >::CTermStack | ( | ) | [inline] |
Default constructor.
CTermStack< NavigatorType, Category, BaseType >::CTermStack | ( | navigator | navi | ) | [inline] |
Construct from initial navigator.
CTermStack< NavigatorType, Category, BaseType >::CTermStack | ( | navigator | navi, | |
const Dummy & | ||||
) | [inline] |
Construct from initial navigator, second argument is just for having the same interface with block and degree-stacks
void CTermStack< NavigatorType, Category, BaseType >::append | ( | const TermStack & | rhs | ) | [inline, protected] |
Reimplemented from CTermStackBase< NavigatorType, BaseType >.
Referenced by CTermStack< NavigatorType, Category >::append().
void CTermStack< NavigatorType, Category, BaseType >::decrement | ( | ) | [inline] |
Reimplemented in CReverseTermStack< NavigatorType, Category >.
void CTermStack< NavigatorType, Category, BaseType >::followElse | ( | ) | [inline] |
void CTermStack< NavigatorType, Category, BaseType >::increment | ( | ) | [inline] |
Reimplemented in CReverseTermStack< NavigatorType, Category >.
void CTermStack< NavigatorType, Category, BaseType >::incrementElse | ( | ) | [inline] |
Reimplemented from CTermStackBase< NavigatorType, BaseType >.
Referenced by CTermStack< NavigatorType, Category >::incrementValidElse(), and CTermStack< NavigatorType, Category >::next().
void CTermStack< NavigatorType, Category, BaseType >::incrementValidElse | ( | ) | [inline] |
Referenced by CTermStack< NavigatorType, Category >::followElse().
void CTermStack< NavigatorType, Category, BaseType >::init | ( | ) | [inline] |
Reimplemented in CReverseTermStack< NavigatorType, Category >.
void CTermStack< NavigatorType, Category, BaseType >::initLast | ( | ) | [inline] |
Reimplemented in CReverseTermStack< NavigatorType, Category >.
void CTermStack< NavigatorType, Category, BaseType >::next | ( | ) | [inline] |
Reimplemented in CDegStackCore< NavigatorType, valid_tag, Category, BaseType >.
Referenced by CTermStack< NavigatorType, Category >::increment().
void CTermStack< NavigatorType, Category, BaseType >::previous | ( | ) | [inline] |
Reimplemented in CDegStackCore< NavigatorType, valid_tag, Category, BaseType >.
Referenced by CTermStack< NavigatorType, Category >::decrement(), and CTermStack< NavigatorType, Category >::previous().
void CTermStack< NavigatorType, Category, BaseType >::terminate | ( | ) | [inline] |
else_handler CTermStack< NavigatorType, Category, BaseType >::handleElse |
Referenced by CTermStack< NavigatorType, Category >::incrementElse().