PolyBoRi
Public Types | Public Member Functions | Protected Attributes | List of all members
polybori::VariableBlock Class Reference

This class defines a VariableBlock. More...

#include <VariableBlock.h>

Inheritance diagram for polybori::VariableBlock:
polybori::VariableFactory polybori::CFactoryBase

Public Types

typedef VariableFactory base
 
typedef base::value_type var_type
 
typedef var_type::ring_type ring_type
 
typedef var_type::idx_type idx_type
 

Public Member Functions

 VariableBlock (idx_type size, idx_type start_index, idx_type offset, bool reverse, const ring_type &ring)
 Construct block. More...
 
 VariableBlock (const self &rhs)
 Copy constructor. More...
 
 ~VariableBlock ()
 Destructor. More...
 
var_type operator() (idx_type i)
 We may easily. More...
 

Protected Attributes

const idx_type m_start_index
 
const idx_type m_last
 
const idx_type m_offset
 
const bool m_reverse
 

Additional Inherited Members

- Protected Types inherited from polybori::VariableFactory
typedef base::parent_type parent_type
 Type of parent. More...
 
typedef BooleVariable value_type
 We construct element of this type. More...
 
- Protected Member Functions inherited from polybori::VariableFactory
 VariableFactory (const parent_type &ring)
 Construct from given ring. More...
 
 VariableFactory (const self &rhs)
 Copy constructor. More...
 
 ~VariableFactory ()
 Destructor. More...
 
value_type operator() () const
 Get first variable of the ring. More...
 
value_type operator() (const value_type &rhs) const
 Indirect copy constructor. More...
 
value_type operator() (const value_type::ring_type &ring) const
 Get first variable of explicit ring. More...
 
value_type operator() (value_type::idx_type idx, const value_type::ring_type &ring) const
 Construct i-th variable for explit ring. More...
 
value_type operator() (value_type::idx_type idx) const
 Construct i-th variable. More...
 

Detailed Description

This class defines a VariableBlock.

We break down the two-argumented class BooleVariables(idx, ring) to a one argumented call over a functional object var(idx) which knows about the ring ("currying").

Member Typedef Documentation

typedef var_type::idx_type polybori::VariableBlock::idx_type

Constructor & Destructor Documentation

polybori::VariableBlock::VariableBlock ( idx_type  size,
idx_type  start_index,
idx_type  offset,
bool  reverse,
const ring_type ring 
)
inline

Construct block.

polybori::VariableBlock::VariableBlock ( const self rhs)
inline

Copy constructor.

polybori::VariableBlock::~VariableBlock ( )
inline

Destructor.

Member Function Documentation

var_type polybori::VariableBlock::operator() ( idx_type  i)
inline

We may easily.

References PBORI_UNLIKELY.

Member Data Documentation

const idx_type polybori::VariableBlock::m_last
protected
const idx_type polybori::VariableBlock::m_offset
protected
const bool polybori::VariableBlock::m_reverse
protected
const idx_type polybori::VariableBlock::m_start_index
protected

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