polybori::CTermStackBase< NavigatorType, BaseType > Class Template Reference

This class defines an iterator for the monomials in a Boolean polynomial. More...

`#include <CTermStack.h>`

Inheritance diagram for polybori::CTermStackBase< NavigatorType, BaseType >:

## Public Types

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

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

## Protected Member Functions

void | push (navigator __x)
void | clear ()
template<class TermStack >
void | append (const TermStack &rhs)

## Friends

template<class , class >
class | CTermStackBase

## Detailed Description

### template<class NavigatorType, class BaseType = internal_tag>
class polybori::CTermStackBase< NavigatorType, BaseType >

This class defines an iterator for the monomials in a Boolean polynomial.

## Member Typedef Documentation

template<class NavigatorType, class BaseType = internal_tag>

typedef navigator::bool_type polybori::CTermStackBase< NavigatorType, BaseType >::bool_type

template<class NavigatorType, class BaseType = internal_tag>

typedef boost::indirect_iterator<typename stack_type::const_iterator, typename navigator::value_type, boost::use_default, typename navigator::reference> polybori::CTermStackBase< NavigatorType, BaseType >::const_iterator

template<class NavigatorType, class BaseType = internal_tag>

typedef stack_type::const_reference polybori::CTermStackBase< NavigatorType, BaseType >::const_reference

template<class NavigatorType, class BaseType = internal_tag>

typedef boost::indirect_iterator<typename stack_type::const_reverse_iterator, typename navigator::value_type, boost::use_default, typename navigator::reference> polybori::CTermStackBase< NavigatorType, BaseType >::const_reverse_iterator

template<class NavigatorType, class BaseType = internal_tag>

typedef navigator::deg_type polybori::CTermStackBase< NavigatorType, BaseType >::deg_type

template<class NavigatorType, class BaseType = internal_tag>

typedef navigator::idx_type polybori::CTermStackBase< NavigatorType, BaseType >::idx_type

Type for indices.

template<class NavigatorType, class BaseType = internal_tag>

typedef NavigatorType polybori::CTermStackBase< NavigatorType, BaseType >::navigator

Get type of navigators.

template<class NavigatorType, class BaseType = internal_tag>

typedef stack_type::reference polybori::CTermStackBase< NavigatorType, BaseType >::reference

template<class NavigatorType, class BaseType = internal_tag>

typedef CTermStackBase<NavigatorType, BaseType> polybori::CTermStackBase< NavigatorType, BaseType >::self

template<class NavigatorType, class BaseType = internal_tag>

typedef navigator::size_type polybori::CTermStackBase< NavigatorType, BaseType >::size_type

Type for lengths.

template<class NavigatorType, class BaseType = internal_tag>

typedef stack_type::const_iterator polybori::CTermStackBase< NavigatorType, BaseType >::stack_iterator

template<class NavigatorType, class BaseType = internal_tag>

typedef stack_type::const_reverse_iterator polybori::CTermStackBase< NavigatorType, BaseType >::stack_reverse_iterator

template<class NavigatorType, class BaseType = internal_tag>

typedef std::deque<navigator> polybori::CTermStackBase< NavigatorType, BaseType >::stack_type

Define type for stacking.

template<class NavigatorType, class BaseType = internal_tag>

typedef stack_type::value_type polybori::CTermStackBase< NavigatorType, BaseType >::top_type

result type of top()

## Constructor & Destructor Documentation

template<class NavigatorType, class BaseType = internal_tag>

polybori::CTermStackBase< NavigatorType, BaseType >::CTermStackBase | ( |  | ) |

inline

Default constructor.

template<class NavigatorType, class BaseType = internal_tag>

polybori::CTermStackBase< NavigatorType, BaseType >::CTermStackBase | ( | navigator | navi | ) |

inline

Construct from initial navigator.

template<class NavigatorType, class BaseType = internal_tag>

polybori::CTermStackBase< NavigatorType, BaseType >::CTermStackBase | ( | const CTermStackBase< NavigatorType, BaseType > & | rhs | ) |

inline

Copy constructor.

## Member Function Documentation

template<class NavigatorType, class BaseType = internal_tag>
template<class TermStack >

void polybori::CTermStackBase< NavigatorType, BaseType >::append | ( | const TermStack & | rhs | ) |

inline protected

template<class NavigatorType, class BaseType = internal_tag>

bool polybori::CTermStackBase< NavigatorType, BaseType >::atBegin | ( |  | ) | const

inline

template<class NavigatorType, class BaseType = internal_tag>

bool polybori::CTermStackBase< NavigatorType, BaseType >::atEnd | ( |  | ) | const

inline

Referenced by polybori::CTermStackBase< NavigatorType, internal_tag >::atEnd().

template<class NavigatorType, class BaseType = internal_tag>

bool polybori::CTermStackBase< NavigatorType, BaseType >::atEnd | ( | navigator | navi | ) | const

inline

template<class NavigatorType, class BaseType = internal_tag>

const_iterator polybori::CTermStackBase< NavigatorType, BaseType >::begin | ( |  | ) | const

inline

template<class NavigatorType, class BaseType = internal_tag>

void polybori::CTermStackBase< NavigatorType, BaseType >::clear | ( |  | ) |

inline protected

template<class NavigatorType, class BaseType = internal_tag>

void polybori::CTermStackBase< NavigatorType, BaseType >::clearOne | ( |  | ) |

inline

template<class NavigatorType, class BaseType = internal_tag>

void polybori::CTermStackBase< NavigatorType, BaseType >::decrementNode | ( |  | ) |

inline

template<class NavigatorType, class BaseType = internal_tag>

deg_type polybori::CTermStackBase< NavigatorType, BaseType >::deg | ( |  | ) | const

inline

template<class NavigatorType, class BaseType = internal_tag>

bool_type polybori::CTermStackBase< NavigatorType, BaseType >::empty | ( |  | ) | const

inline

template<class NavigatorType, class BaseType = internal_tag>

const_iterator polybori::CTermStackBase< NavigatorType, BaseType >::end | ( |  | ) | const

inline

template<class NavigatorType, class BaseType = internal_tag>

bool_type polybori::CTermStackBase< NavigatorType, BaseType >::equal | ( | const self & | rhs | ) | const

inline

Equality test (assume iterators from same instance)

template<class NavigatorType, class BaseType = internal_tag>

void polybori::CTermStackBase< NavigatorType, BaseType >::followThen | ( |  | ) |

inline

template<class NavigatorType, class BaseType = internal_tag>

void polybori::CTermStackBase< NavigatorType, BaseType >::incrementElse | ( |  | ) |

inline

template<class NavigatorType, class BaseType = internal_tag>

void polybori::CTermStackBase< NavigatorType, BaseType >::incrementThen | ( |  | ) |

inline

template<class NavigatorType, class BaseType = internal_tag>

idx_type polybori::CTermStackBase< NavigatorType, BaseType >::index | ( |  | ) | const

inline

template<class NavigatorType, class BaseType = internal_tag>

bool_type polybori::CTermStackBase< NavigatorType, BaseType >::isConstant | ( |  | ) | const

inline

template<class NavigatorType, class BaseType = internal_tag>

bool_type polybori::CTermStackBase< NavigatorType, BaseType >::isInvalid | ( |  | ) | const

inline

template<class NavigatorType, class BaseType = internal_tag>

bool polybori::CTermStackBase< NavigatorType, BaseType >::isOne | ( |  | ) | const

inline

template<class NavigatorType, class BaseType = internal_tag>

bool_type polybori::CTermStackBase< NavigatorType, BaseType >::isTerminated | ( |  | ) | const

inline

template<class NavigatorType, class BaseType = internal_tag>

bool polybori::CTermStackBase< NavigatorType, BaseType >::isZero | ( |  | ) | const

inline

template<class NavigatorType, class BaseType = internal_tag>

bool_type polybori::CTermStackBase< NavigatorType, BaseType >::markedOne | ( |  | ) | const

inline

template<class NavigatorType, class BaseType = internal_tag>

void polybori::CTermStackBase< NavigatorType, BaseType >::markOne | ( |  | ) |

inline

template<class NavigatorType, class BaseType = internal_tag>

navigator polybori::CTermStackBase< NavigatorType, BaseType >::navigation | ( |  | ) | const

inline

Get navigator of stack start.

template<class NavigatorType, class BaseType = internal_tag>

void polybori::CTermStackBase< NavigatorType, BaseType >::print | ( |  | ) | const

inline

template<class NavigatorType, class BaseType = internal_tag>

void polybori::CTermStackBase< NavigatorType, BaseType >::push | ( | navigator | __x | ) |

inline protected

template<class NavigatorType, class BaseType = internal_tag>

const_reverse_iterator polybori::CTermStackBase< NavigatorType, BaseType >::rbegin | ( |  | ) | const

inline

template<class NavigatorType, class BaseType = internal_tag>

const_reverse_iterator polybori::CTermStackBase< NavigatorType, BaseType >::rend | ( |  | ) | const

inline

template<class NavigatorType, class BaseType = internal_tag>

void polybori::CTermStackBase< NavigatorType, BaseType >::restart | ( | navigator | navi | ) |

inline

template<class NavigatorType, class BaseType = internal_tag>

size_type polybori::CTermStackBase< NavigatorType, BaseType >::size | ( |  | ) | const

inline

template<class NavigatorType, class BaseType = internal_tag>

stack_iterator polybori::CTermStackBase< NavigatorType, BaseType >::stackBegin | ( |  | ) | const

inline

template<class NavigatorType, class BaseType = internal_tag>

stack_iterator polybori::CTermStackBase< NavigatorType, BaseType >::stackEnd | ( |  | ) | const

inline

template<class NavigatorType, class BaseType = internal_tag>

stack_reverse_iterator polybori::CTermStackBase< NavigatorType, BaseType >::stackRBegin | ( |  | ) | const

inline

template<class NavigatorType, class BaseType = internal_tag>

stack_reverse_iterator polybori::CTermStackBase< NavigatorType, BaseType >::stackREnd | ( |  | ) | const

inline

template<class NavigatorType, class BaseType = internal_tag>

const_reference polybori::CTermStackBase< NavigatorType, BaseType >::top | ( |  | ) | const

inline

template<class NavigatorType, class BaseType = internal_tag>

bool polybori::CTermStackBase< NavigatorType, BaseType >::validEnd | ( |  | ) | const

inline

Referenced by polybori::CTermStackBase< NavigatorType, internal_tag >::validEnd().

template<class NavigatorType, class BaseType = internal_tag>

bool polybori::CTermStackBase< NavigatorType, BaseType >::validEnd | ( | navigator | navi | ) | const

inline

## Friends And Related Function Documentation

template<class NavigatorType, class BaseType = internal_tag>
template<class , class >

friend class CTermStackBase

friend

The documentation for this class was generated from the following file:

- CTermStack.h