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.
 CTermStack (const CTermStack &rhs)
 Copy constructor.
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 CTermStack<NavigatorType, Category, BaseType> polybori::CTermStack< NavigatorType, Category, BaseType >::self

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 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 on_same_type<Category, std::forward_iterator_tag, project_ith<0>, handle_else<NavigatorType> >::type polybori::CTermStack< NavigatorType, Category, BaseType >::else_handler


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>
polybori::CTermStack< NavigatorType, Category, BaseType >::CTermStack ( const CTermStack< NavigatorType, Category, BaseType > &  rhs  )  [inline]

Copy constructor.

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, third 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>
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 >::incrementElse (  )  [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 >::increment (  )  [inline]

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 >::terminate (  )  [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 >::incrementValidElse (  )  [inline]

template<class NavigatorType, class Category, class BaseType = internal_tag>
template<class TermStack>
void polybori::CTermStack< NavigatorType, Category, BaseType >::append ( const TermStack &  rhs  )  [inline, protected]


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:

Generated on Wed Jan 30 16:39:53 2013 for PolyBoRi by  doxygen 1.5.6