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 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 >.
References CTermStackBase< NavigatorType, BaseType >::append().
| void CTermStack< NavigatorType, Category, BaseType >::decrement | ( | ) | [inline] |
References CTermStackBase< NavigatorType, BaseType >::clearOne(), CTermStackBase< NavigatorType, BaseType >::decrementNode(), CTermStack< NavigatorType, Category, BaseType >::followElse(), CTermStackBase< NavigatorType, BaseType >::markedOne(), and CTermStack< NavigatorType, Category, BaseType >::previous().
| void CTermStack< NavigatorType, Category, BaseType >::followElse | ( | ) | [inline] |
| void CTermStack< NavigatorType, Category, BaseType >::increment | ( | ) | [inline] |
References CTermStackBase< NavigatorType, BaseType >::clearOne(), CTermStackBase< NavigatorType, BaseType >::empty(), CTermStackBase< NavigatorType, BaseType >::followThen(), CTermStackBase< NavigatorType, BaseType >::markedOne(), CTermStack< NavigatorType, Category, BaseType >::next(), and CTermStack< NavigatorType, Category, BaseType >::terminate().
| void CTermStack< NavigatorType, Category, BaseType >::incrementElse | ( | ) | [inline] |
Reimplemented from CTermStackBase< NavigatorType, BaseType >.
References CTermStackBase< NavigatorType, BaseType >::empty(), CTermStack< NavigatorType, Category, BaseType >::handleElse, CTermStackBase< NavigatorType, BaseType >::incrementElse(), and CTermStackBase< NavigatorType, BaseType >::top().
Referenced by CTermStack< NavigatorType, Category, BaseType >::incrementValidElse(), and CTermStack< NavigatorType, Category, BaseType >::next().
| void CTermStack< NavigatorType, Category, BaseType >::incrementValidElse | ( | ) | [inline] |
References CTermStackBase< NavigatorType, BaseType >::empty(), CTermStack< NavigatorType, Category, BaseType >::incrementElse(), CTermStackBase< NavigatorType, BaseType >::incrementThen(), CTermStackBase< NavigatorType, BaseType >::isConstant(), and CTermStackBase< NavigatorType, BaseType >::top().
Referenced by CTermStack< NavigatorType, Category, BaseType >::followElse().
| void CTermStack< NavigatorType, Category, BaseType >::init | ( | ) | [inline] |
| void CTermStack< NavigatorType, Category, BaseType >::initLast | ( | ) | [inline] |
| void CTermStack< NavigatorType, Category, BaseType >::next | ( | ) | [inline] |
Reimplemented in CDegStackCore< NavigatorType, valid_tag, Category, BaseType >.
References CTermStackBase< NavigatorType, BaseType >::decrementNode(), CTermStackBase< NavigatorType, BaseType >::empty(), CTermStack< NavigatorType, Category, BaseType >::incrementElse(), and CTermStackBase< NavigatorType, BaseType >::isInvalid().
Referenced by CTermStack< NavigatorType, Category, BaseType >::increment().
| void CTermStack< NavigatorType, Category, BaseType >::previous | ( | ) | [inline] |
Reimplemented in CDegStackCore< NavigatorType, valid_tag, Category, BaseType >.
Referenced by CTermStack< NavigatorType, Category, BaseType >::decrement().
| void CTermStack< NavigatorType, Category, BaseType >::terminate | ( | ) | [inline] |
References CTermStackBase< NavigatorType, BaseType >::decrementNode(), CTermStackBase< NavigatorType, BaseType >::empty(), CTermStackBase< NavigatorType, BaseType >::isInvalid(), CTermStackBase< NavigatorType, BaseType >::isZero(), and CTermStackBase< NavigatorType, BaseType >::markOne().
Referenced by CTermStack< NavigatorType, Category, BaseType >::increment(), CTermStack< NavigatorType, Category, BaseType >::init(), and CTermStack< NavigatorType, Category, BaseType >::initLast().
| else_handler CTermStack< NavigatorType, Category, BaseType >::handleElse |
1.6.3