polybori::groebner::PolyEntryIndices Class Reference

This class defines PolyEntryIndices. More...

`#include <PolyEntryIndices.h>`

## Public Types

typedef Monomial::idx_map_type | lm2Index_map_type
typedef Exponent::idx_map_type | exp2Index_map_type
typedef lm2Index_map_type::value_type | value_type
typedef value_type::second_type | data_type

## Public Member Functions

| PolyEntryIndices ()
void | insert (const PolyEntry &entry, const data_type &rhs)
| Consistently inserting element. More...
void | update (const Monomial &key, const PolyEntry &entry)
| Consistently replacing keys. More...
template<class KeyType >
data_type | operator() (const KeyType &key) const
| Lookup indices. More...
template<class KeyType >
data_type | checked (const KeyType &key) const
| Savely looking up indices, returns -1 if key is invalid. More...

## Protected Member Functions

template<class CheckType >
data_type | get (data_type key, CheckType) const
template<class CheckType >
data_type | get (const Exponent &key, CheckType dummy) const
template<class CheckType >
data_type | get (const Monomial &key, CheckType dummy) const
template<class CheckType >
data_type | get (const PolyEntry &key, CheckType dummy) const
template<class MapType , class KeyType >
data_type | get (const MapType &map, const KeyType &key, check) const
template<class MapType , class KeyType >
data_type | get (const MapType &map, const KeyType &key, uncheck) const

## Detailed Description

This class defines PolyEntryIndices.

## Member Typedef Documentation

typedef value_type::second_type polybori::groebner::PolyEntryIndices::data_type

typedef Exponent::idx_map_type polybori::groebner::PolyEntryIndices::exp2Index_map_type

typedef Monomial::idx_map_type polybori::groebner::PolyEntryIndices::lm2Index_map_type

typedef lm2Index_map_type::value_type polybori::groebner::PolyEntryIndices::value_type

## Constructor & Destructor Documentation

polybori::groebner::PolyEntryIndices::PolyEntryIndices | ( |  | ) |

inline

## Member Function Documentation

template<class KeyType >

data_type polybori::groebner::PolyEntryIndices::checked | ( | const KeyType & | key | ) | const

inline

Savely looking up indices, returns -1 if key is invalid.

template<class CheckType >

data_type polybori::groebner::PolyEntryIndices::get | ( | data_type | key,
|  | CheckType |
| ) |  | const

inline protected

template<class CheckType >

data_type polybori::groebner::PolyEntryIndices::get | ( | const Exponent & | key,
|  | CheckType | dummy
| ) |  | const

inline protected

template<class CheckType >

data_type polybori::groebner::PolyEntryIndices::get | ( | const Monomial & | key,
|  | CheckType | dummy
| ) |  | const

inline protected

template<class CheckType >

data_type polybori::groebner::PolyEntryIndices::get | ( | const PolyEntry & | key,
|  | CheckType | dummy
| ) |  | const

inline protected

template<class MapType , class KeyType >

data_type polybori::groebner::PolyEntryIndices::get | ( | const MapType & | map,
|  | const KeyType & | key,
|  | check |
| ) |  | const

inline protected

References PBORI_ASSERT.

template<class MapType , class KeyType >

data_type polybori::groebner::PolyEntryIndices::get | ( | const MapType & | map,
|  | const KeyType & | key,
|  | uncheck |
| ) |  | const

inline protected

References PBORI_ASSERT.

void polybori::groebner::PolyEntryIndices::insert | ( | const PolyEntry & | entry,
|  | const data_type & | rhs
| ) |  |

inline

Consistently inserting element.

Todo:
  for some reason not inlinable

References polybori::groebner::PolyEntryBase::lead, and polybori::groebner::PolyEntryBase::leadExp.

template<class KeyType >

data_type polybori::groebner::PolyEntryIndices::operator() | ( | const KeyType & | key | ) | const

inline

Lookup indices.

Note
  could fail for invalid keys

void polybori::groebner::PolyEntryIndices::update | ( | const Monomial & | key,
|  | const PolyEntry & | entry
| ) |  |

inline

Consistently replacing keys.

References polybori::BooleMonomial::exp(), polybori::groebner::PolyEntryBase::lead, polybori::groebner::PolyEntryBase::leadExp, PBORI_ASSERT, and PBORI_UNLIKELY.

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

- PolyEntryIndices.h