polybori::CVariableIter< Iterator, VariableType > Class Template Reference

This template class defines an iterator for monomial types. More...

#include <CVariableIter.h>

List of all members.

Public Types

typedef Iterator iterator_type
 Fixing Iterator type to be extended.
typedef VariableType var_type
 Fixing variables, which is used for dereferencing.
typedef var_type::ring_type ring_type
 Fixing ring, which is used to generate variables.
typedef var_type value_type
 Return type for dereferencing.
typedef CVariableIter
< iterator_type, var_type
self
 Get type of *this.
Interface types for standard iterator access
typedef
iterator_type::iterator_category 
iterator_category
typedef int difference_type
typedef void pointer
typedef value_type reference

Public Member Functions

 CVariableIter ()
 Default constructor.
 CVariableIter (const iterator_type &rhs, const ring_type &ring)
 Constructor for given iterator (and ring).
selfoperator++ ()
 Prefix increment operator.
self operator++ (int)
 Postfix increment operator.
reference operator* () const
 Constant dereference operator.
bool operator== (const self &rhs) const
 Equality check.
bool operator!= (const self &rhs) const
 Unequality check.

Protected Attributes

iterator_type m_iter
 The actual iterator.
ring_type m_ring
 The ring, we take the variables from.


Detailed Description

template<class Iterator, class VariableType>
class polybori::CVariableIter< Iterator, VariableType >

This template class defines an iterator for monomial types.

It uses a given iterator, and converts indices to Boolean variables (via a given ring).


Member Typedef Documentation

template<class Iterator, class VariableType>
typedef Iterator polybori::CVariableIter< Iterator, VariableType >::iterator_type

Fixing Iterator type to be extended.

template<class Iterator, class VariableType>
typedef VariableType polybori::CVariableIter< Iterator, VariableType >::var_type

Fixing variables, which is used for dereferencing.

template<class Iterator, class VariableType>
typedef var_type::ring_type polybori::CVariableIter< Iterator, VariableType >::ring_type

Fixing ring, which is used to generate variables.

template<class Iterator, class VariableType>
typedef var_type polybori::CVariableIter< Iterator, VariableType >::value_type

Return type for dereferencing.

template<class Iterator, class VariableType>
typedef iterator_type::iterator_category polybori::CVariableIter< Iterator, VariableType >::iterator_category

template<class Iterator, class VariableType>
typedef int polybori::CVariableIter< Iterator, VariableType >::difference_type

template<class Iterator, class VariableType>
typedef void polybori::CVariableIter< Iterator, VariableType >::pointer

template<class Iterator, class VariableType>
typedef value_type polybori::CVariableIter< Iterator, VariableType >::reference

template<class Iterator, class VariableType>
typedef CVariableIter<iterator_type, var_type> polybori::CVariableIter< Iterator, VariableType >::self

Get type of *this.


Constructor & Destructor Documentation

template<class Iterator, class VariableType>
polybori::CVariableIter< Iterator, VariableType >::CVariableIter (  )  [inline]

Default constructor.

template<class Iterator, class VariableType>
polybori::CVariableIter< Iterator, VariableType >::CVariableIter ( const iterator_type rhs,
const ring_type ring 
) [inline]

Constructor for given iterator (and ring).


Member Function Documentation

template<class Iterator, class VariableType>
self& polybori::CVariableIter< Iterator, VariableType >::operator++ (  )  [inline]

Prefix increment operator.

template<class Iterator, class VariableType>
self polybori::CVariableIter< Iterator, VariableType >::operator++ ( int   )  [inline]

Postfix increment operator.

template<class Iterator, class VariableType>
reference polybori::CVariableIter< Iterator, VariableType >::operator* (  )  const [inline]

Constant dereference operator.

template<class Iterator, class VariableType>
bool polybori::CVariableIter< Iterator, VariableType >::operator== ( const self rhs  )  const [inline]

Equality check.

template<class Iterator, class VariableType>
bool polybori::CVariableIter< Iterator, VariableType >::operator!= ( const self rhs  )  const [inline]

Unequality check.


Member Data Documentation

template<class Iterator, class VariableType>
iterator_type polybori::CVariableIter< Iterator, VariableType >::m_iter [protected]

The actual iterator.

template<class Iterator, class VariableType>
ring_type polybori::CVariableIter< Iterator, VariableType >::m_ring [protected]

The ring, we take the variables from.


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

Generated on Tue May 6 05:20:00 2008 for PolyBoRi by  doxygen 1.5.5