polybori::VariableBlock Class Reference

This class defines a VariableBlock. More...

`#include <VariableBlock.h>`

Inheritance diagram for polybori::VariableBlock:

## 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 VariableFactory polybori::VariableBlock::base

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

typedef var_type::ring_type polybori::VariableBlock::ring_type

typedef base::value_type polybori::VariableBlock::var_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:

- VariableBlock.h