PolyBoRi
Public Types | Public Member Functions | Protected Attributes | List of all members
polybori::CDegStackCore< NavigatorType, valid_tag, Category, BaseType > Class Template Reference

for block stacks More...

#include <CTermStack.h>

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

Public Types

typedef CTermStack
< NavigatorType, Category,
BaseType > 
base
 
typedef NavigatorType navigator
 
typedef base::idx_type idx_type
 
typedef base::deg_type deg_type
 
typedef base::size_type size_type
 
typedef cached_block_deg
< navigator >::manager_type 
manager_type
 
- Public Types inherited from polybori::CTermStack< NavigatorType, Category, BaseType >
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
 
- Public Types inherited from polybori::CTermStackBase< NavigatorType, BaseType >
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< navigatorstack_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

 CDegStackCore (navigator navi, const manager_type &mgr)
 
 CDegStackCore (const CDegStackCore &rhs)
 
deg_type getDeg (navigator navi) const
 
bool atBegin () const
 
bool atEnd () const
 
bool atEnd (navigator navi) const
 
bool validEnd () const
 
bool validEnd (navigator navi) const
 
void next ()
 
void previous ()
 
void gotoEnd ()
 
- Public Member Functions inherited from polybori::CTermStack< NavigatorType, Category, BaseType >
 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 ()
 
- Public Member Functions inherited from polybori::CTermStackBase< NavigatorType, BaseType >
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 Attributes

cached_block_deg< navigatorblock
 

Additional Inherited Members

- Public Attributes inherited from polybori::CTermStack< NavigatorType, Category, BaseType >
else_handler handleElse
 
- Protected Member Functions inherited from polybori::CTermStack< NavigatorType, Category, BaseType >
template<class TermStack >
void append (const TermStack &rhs)
 

Detailed Description

template<class NavigatorType, class Category, class BaseType>
class polybori::CDegStackCore< NavigatorType, valid_tag, Category, BaseType >

for block stacks

Member Typedef Documentation

template<class NavigatorType , class Category , class BaseType >
typedef CTermStack<NavigatorType, Category, BaseType> polybori::CDegStackCore< NavigatorType, valid_tag, Category, BaseType >::base
template<class NavigatorType , class Category , class BaseType >
typedef base::deg_type polybori::CDegStackCore< NavigatorType, valid_tag, Category, BaseType >::deg_type
template<class NavigatorType , class Category , class BaseType >
typedef base::idx_type polybori::CDegStackCore< NavigatorType, valid_tag, Category, BaseType >::idx_type
template<class NavigatorType , class Category , class BaseType >
typedef cached_block_deg<navigator>::manager_type polybori::CDegStackCore< NavigatorType, valid_tag, Category, BaseType >::manager_type
template<class NavigatorType , class Category , class BaseType >
typedef NavigatorType polybori::CDegStackCore< NavigatorType, valid_tag, Category, BaseType >::navigator
template<class NavigatorType , class Category , class BaseType >
typedef base::size_type polybori::CDegStackCore< NavigatorType, valid_tag, Category, BaseType >::size_type

Constructor & Destructor Documentation

template<class NavigatorType , class Category , class BaseType >
polybori::CDegStackCore< NavigatorType, valid_tag, Category, BaseType >::CDegStackCore ( navigator  navi,
const manager_type mgr 
)
inline
template<class NavigatorType , class Category , class BaseType >
polybori::CDegStackCore< NavigatorType, valid_tag, Category, BaseType >::CDegStackCore ( const CDegStackCore< NavigatorType, valid_tag, Category, BaseType > &  rhs)
inline

Member Function Documentation

template<class NavigatorType , class Category , class BaseType >
bool polybori::CDegStackCore< NavigatorType, valid_tag, Category, BaseType >::atBegin ( ) const
inline
template<class NavigatorType , class Category , class BaseType >
bool polybori::CDegStackCore< NavigatorType, valid_tag, Category, BaseType >::atEnd ( ) const
inline

References atEnd().

Referenced by atEnd().

template<class NavigatorType , class Category , class BaseType >
bool polybori::CDegStackCore< NavigatorType, valid_tag, Category, BaseType >::atEnd ( navigator  navi) const
inline
template<class NavigatorType , class Category , class BaseType >
deg_type polybori::CDegStackCore< NavigatorType, valid_tag, Category, BaseType >::getDeg ( navigator  navi) const
inline
template<class NavigatorType , class Category , class BaseType >
void polybori::CDegStackCore< NavigatorType, valid_tag, Category, BaseType >::gotoEnd ( )
inline

References PBORI_ASSERT.

template<class NavigatorType , class Category , class BaseType >
void polybori::CDegStackCore< NavigatorType, valid_tag, Category, BaseType >::next ( )
inline

References PBORI_ASSERT.

template<class NavigatorType , class Category , class BaseType >
void polybori::CDegStackCore< NavigatorType, valid_tag, Category, BaseType >::previous ( )
inline

References PBORI_ASSERT.

template<class NavigatorType , class Category , class BaseType >
bool polybori::CDegStackCore< NavigatorType, valid_tag, Category, BaseType >::validEnd ( ) const
inline

References validEnd().

Referenced by validEnd().

template<class NavigatorType , class Category , class BaseType >
bool polybori::CDegStackCore< NavigatorType, valid_tag, Category, BaseType >::validEnd ( navigator  navi) const
inline

Member Data Documentation

template<class NavigatorType , class Category , class BaseType >
cached_block_deg<navigator> polybori::CDegStackCore< NavigatorType, valid_tag, Category, BaseType >::block
protected

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