PolyBoRi
Public Types | Public Member Functions | Public Attributes | Protected Member Functions
polybori::CTermStack< NavigatorType, Category, BaseType > Class Template Reference

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

#include <CTermStack.h>

Inheritance diagram for polybori::CTermStack< NavigatorType, Category, BaseType >:
polybori::CTermStackBase< NavigatorType, BaseType > polybori::CDegStackCore< NavigatorType, invalid_tag, Category, BaseType > polybori::CDegStackCore< NavigatorType, valid_tag, Category, BaseType >

List of all members.

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)

Detailed Description

template<class NavigatorType, class Category, class BaseType = internal_tag>
class polybori::CTermStack< NavigatorType, Category, BaseType >

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


Member Typedef Documentation

template<class NavigatorType , class Category , class BaseType = internal_tag>
typedef CTermStackBase<NavigatorType, BaseType> polybori::CTermStack< NavigatorType, Category, BaseType >::base
template<class NavigatorType , class Category , class BaseType = internal_tag>
typedef on_same_type<Category, std::forward_iterator_tag, project_ith<0>, handle_else<NavigatorType> >::type polybori::CTermStack< NavigatorType, Category, BaseType >::else_handler
template<class NavigatorType , class Category , class BaseType = internal_tag>
typedef Category polybori::CTermStack< NavigatorType, Category, BaseType >::iterator_category
template<class NavigatorType , class Category , class BaseType = internal_tag>
typedef base::navigator polybori::CTermStack< NavigatorType, Category, BaseType >::navigator
template<class NavigatorType , class Category , class BaseType = internal_tag>
typedef CTermStack<NavigatorType, Category, internal_tag> polybori::CTermStack< NavigatorType, Category, BaseType >::purestack_type

Defining a type for simple stacking of term elements.

template<class NavigatorType , class Category , class BaseType = internal_tag>
typedef CTermStack<NavigatorType, Category, BaseType> polybori::CTermStack< NavigatorType, Category, BaseType >::self

Constructor & Destructor Documentation

template<class NavigatorType , class Category , class BaseType = internal_tag>
polybori::CTermStack< NavigatorType, Category, BaseType >::CTermStack ( ) [inline]

Default constructor.

template<class NavigatorType , class Category , class BaseType = internal_tag>
polybori::CTermStack< NavigatorType, Category, BaseType >::CTermStack ( navigator  navi) [inline]

Construct from initial navigator.

template<class NavigatorType , class Category , class BaseType = internal_tag>
template<class Dummy >
polybori::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


Member Function Documentation

template<class NavigatorType , class Category , class BaseType = internal_tag>
template<class TermStack >
void polybori::CTermStack< NavigatorType, Category, BaseType >::append ( const TermStack &  rhs) [inline, protected]
template<class NavigatorType , class Category , class BaseType = internal_tag>
void polybori::CTermStack< NavigatorType, Category, BaseType >::decrement ( ) [inline]
template<class NavigatorType , class Category , class BaseType = internal_tag>
void polybori::CTermStack< NavigatorType, Category, BaseType >::followElse ( ) [inline]
template<class NavigatorType , class Category , class BaseType = internal_tag>
void polybori::CTermStack< NavigatorType, Category, BaseType >::increment ( ) [inline]
template<class NavigatorType , class Category , class BaseType = internal_tag>
void polybori::CTermStack< NavigatorType, Category, BaseType >::incrementElse ( ) [inline]
template<class NavigatorType , class Category , class BaseType = internal_tag>
void polybori::CTermStack< NavigatorType, Category, BaseType >::incrementValidElse ( ) [inline]
template<class NavigatorType , class Category , class BaseType = internal_tag>
void polybori::CTermStack< NavigatorType, Category, BaseType >::init ( ) [inline]
template<class NavigatorType , class Category , class BaseType = internal_tag>
void polybori::CTermStack< NavigatorType, Category, BaseType >::initLast ( ) [inline]
template<class NavigatorType , class Category , class BaseType = internal_tag>
void polybori::CTermStack< NavigatorType, Category, BaseType >::next ( ) [inline]
template<class NavigatorType , class Category , class BaseType = internal_tag>
void polybori::CTermStack< NavigatorType, Category, BaseType >::previous ( ) [inline]
template<class NavigatorType , class Category , class BaseType = internal_tag>
void polybori::CTermStack< NavigatorType, Category, BaseType >::terminate ( ) [inline]

Member Data Documentation

template<class NavigatorType , class Category , class BaseType = internal_tag>
else_handler polybori::CTermStack< NavigatorType, Category, BaseType >::handleElse

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