PolyBoRi
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
polybori::CIndexHandle< NaviType > Class Template Reference

This class defines an uses an navigator-like type for storing integer values from 0 upto nmax (number of currently active ring variables). More...

#include <CDegreeCache.h>

Public Types

enum  { invalid = CTypes::max_idx }
 
typedef NaviType navigator
 Set actual storage type. More...
 
typedef navigator base
 Define type base. More...
 
typedef navigator::bool_type bool_type
 Plain Boolean type. More...
 
typedef CTypes::idx_type idx_type
 Type for representing indices. More...
 
typedef CTypes::size_type size_type
 Type for representing size. More...
 
typedef BoolePolyRing manager_type
 Type of decision diagram manager. More...
 

Public Member Functions

 CIndexHandle (idx_type idx)
 Construct from index. More...
 
 CIndexHandle (navigator navi, const manager_type &mgr)
 Construct from given navigator. More...
 
idx_type operator* () const
 Dereference to get stored index. More...
 
bool isValid () const
 

Protected Member Functions

idx_type fromNode (navigator navi, const manager_type &mgr) const
 Dereference to get stored index. More...
 

Protected Attributes

idx_type m_idx
 

Detailed Description

template<class NaviType>
class polybori::CIndexHandle< NaviType >

This class defines an uses an navigator-like type for storing integer values from 0 upto nmax (number of currently active ring variables).

Member Typedef Documentation

template<class NaviType >
typedef navigator polybori::CIndexHandle< NaviType >::base

Define type base.

template<class NaviType >
typedef navigator::bool_type polybori::CIndexHandle< NaviType >::bool_type

Plain Boolean type.

template<class NaviType >
typedef CTypes::idx_type polybori::CIndexHandle< NaviType >::idx_type

Type for representing indices.

template<class NaviType >
typedef BoolePolyRing polybori::CIndexHandle< NaviType >::manager_type

Type of decision diagram manager.

template<class NaviType >
typedef NaviType polybori::CIndexHandle< NaviType >::navigator

Set actual storage type.

template<class NaviType >
typedef CTypes::size_type polybori::CIndexHandle< NaviType >::size_type

Type for representing size.

Member Enumeration Documentation

template<class NaviType >
anonymous enum
Enumerator
invalid 

Constructor & Destructor Documentation

template<class NaviType >
polybori::CIndexHandle< NaviType >::CIndexHandle ( idx_type  idx)
inline

Construct from index.

template<class NaviType >
polybori::CIndexHandle< NaviType >::CIndexHandle ( navigator  navi,
const manager_type mgr 
)
inlineexplicit

Construct from given navigator.

Member Function Documentation

template<class NaviType >
idx_type polybori::CIndexHandle< NaviType >::fromNode ( navigator  navi,
const manager_type mgr 
) const
inlineprotected

Dereference to get stored index.

References polybori::BoolePolyRing::nVariables(), and PBORI_UNLIKELY.

template<class NaviType >
bool polybori::CIndexHandle< NaviType >::isValid ( ) const
inline
template<class NaviType >
idx_type polybori::CIndexHandle< NaviType >::operator* ( ) const
inline

Dereference to get stored index.

Member Data Documentation

template<class NaviType >
idx_type polybori::CIndexHandle< NaviType >::m_idx
protected

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