PolyBoRi
|
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. More... | |
typedef Category | iterator_category |
typedef base::navigator | navigator |
typedef on_same_type< Category, std::forward_iterator_tag, project_ith< 0 >, handle_else < NavigatorType > >::type | else_handler |
![]() | |
typedef CTermStackBase < NavigatorType, BaseType > | self |
typedef NavigatorType | navigator |
Get type of navigators. More... | |
typedef navigator::idx_type | idx_type |
Type for indices. More... | |
typedef navigator::size_type | size_type |
Type for lengths. More... | |
typedef navigator::deg_type | deg_type |
typedef navigator::bool_type | bool_type |
typedef std::deque< navigator > | stack_type |
Define type for stacking. More... | |
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() More... | |
Public Member Functions | |
CTermStack () | |
Default constructor. More... | |
CTermStack (navigator navi) | |
Construct from initial navigator. More... | |
CTermStack (const CTermStack &rhs) | |
Copy constructor. More... | |
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 () |
![]() | |
bool_type | empty () const |
const_reference | top () const |
idx_type | index () 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. More... | |
CTermStackBase () | |
Default constructor. More... | |
CTermStackBase (navigator navi) | |
Construct from initial navigator. More... | |
CTermStackBase (const CTermStackBase &rhs) | |
Copy constructor. More... | |
bool_type | equal (const self &rhs) const |
Equality test (assume iterators from same instance) More... | |
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 () |
deg_type | deg () const |
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 |
Public Attributes | |
else_handler | handleElse |
Protected Member Functions | |
template<class TermStack > | |
void | append (const TermStack &rhs) |
![]() | |
void | push (navigator __x) |
void | clear () |
template<class TermStack > | |
void | append (const TermStack &rhs) |
This class defines an iterator for the monomials in a Boolean polynomial.
typedef CTermStackBase<NavigatorType, BaseType> polybori::CTermStack< NavigatorType, Category, BaseType >::base |
typedef on_same_type<Category, std::forward_iterator_tag, project_ith<0>, handle_else<NavigatorType> >::type polybori::CTermStack< NavigatorType, Category, BaseType >::else_handler |
typedef Category polybori::CTermStack< NavigatorType, Category, BaseType >::iterator_category |
typedef base::navigator polybori::CTermStack< NavigatorType, Category, BaseType >::navigator |
typedef CTermStack<NavigatorType, Category, internal_tag> polybori::CTermStack< NavigatorType, Category, BaseType >::purestack_type |
Defining a type for simple stacking of term elements.
typedef CTermStack<NavigatorType, Category, BaseType> polybori::CTermStack< NavigatorType, Category, BaseType >::self |
|
inline |
Default constructor.
|
inline |
Construct from initial navigator.
|
inline |
Copy constructor.
|
inline |
Construct from initial navigator, third argument is just for having the same interface with block and degree-stacks
|
inlineprotected |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
else_handler polybori::CTermStack< NavigatorType, Category, BaseType >::handleElse |