This class defines ordering related functions. More...
#include <COrderBase.h>
Public Types | |
| typedef COrderBase | base |
| current type should used as base only | |
| typedef BoolePolynomial | poly_type |
| Type of Boolean polynomials. | |
| typedef poly_type::size_type | size_type |
| Type for sizes. | |
| typedef poly_type::idx_type | idx_type |
| Type for indices. | |
| typedef BooleMonomial | monom_type |
| Type of Boolean monomials. | |
| typedef BoolePolynomial::navigator | navigator |
| typedef COrderedIter < navigator, monom_type > | indirect_iterator |
| typedef BooleSet | set_type |
| Type of Boolean sets. | |
| typedef BooleExponent | exp_type |
| Type of Boolean monomials. | |
| typedef COrderedIter < navigator, exp_type > | indirect_exp_iterator |
| typedef std::vector< idx_type > | block_idx_type |
| Type for block indices. | |
| typedef block_idx_type::const_iterator | block_iterator |
| Type for block iterators. | |
define generic property markers (default is invalid) | |
| typedef invalid_tag | lex_property |
| typedef invalid_tag | ordered_property |
| typedef invalid_tag | symmetry_property |
| typedef invalid_tag | degorder_property |
| typedef invalid_tag | blockorder_property |
| typedef invalid_tag | degrevlexorder_property |
| typedef invalid_tag | totaldegorder_property |
| typedef invalid_tag | ascending_property |
| typedef invalid_tag | descending_property |
Public Member Functions | |
| COrderBase () | |
| Default Constructor. | |
| COrderBase (const COrderBase &) | |
| Copy Constructor. | |
| virtual | ~COrderBase () |
| Destructor. | |
| virtual comp_type | compare (idx_type, idx_type) const =0 |
| Comparison of indices corresponding to variables. | |
| virtual comp_type | compare (const monom_type &, const monom_type &) const =0 |
| Comparison of monomials. | |
| virtual comp_type | compare (const exp_type &, const exp_type &) const =0 |
| Comparison of exponent vectors. | |
| virtual monom_type | lead (const poly_type &) const =0 |
| Get leading term. | |
| virtual monom_type | lead (const poly_type &, size_type) const =0 |
| Get leading term (using an upper bound). | |
| virtual exp_type | leadExp (const poly_type &) const =0 |
| Get leading exponent. | |
| virtual exp_type | leadExp (const poly_type &, size_type) const =0 |
| Get leading exponent (using an upper bound). | |
| virtual indirect_iterator | leadIteratorBegin (const poly_type &) const =0 |
| Initialize iterator corresponding to leading term. | |
| virtual indirect_iterator | leadIteratorEnd () const =0 |
| virtual indirect_exp_iterator | leadExpIteratorBegin (const poly_type &) const =0 |
| virtual indirect_exp_iterator | leadExpIteratorEnd () const =0 |
interface for block orderings | |
| virtual block_iterator | blockBegin () const |
| virtual block_iterator | blockEnd () const |
| virtual void | appendBlock (idx_type) const |
| virtual void | clearBlocks () const |
Protected Member Functions | |
| monom_type | monom (const set_type &rhs) const |
| Get monomial from set of subsets of Boolean variables (internal use only). | |
This class defines ordering related functions.
Reimplemented in DegRevLexAscOrder.
| typedef COrderBase COrderBase::base |
current type should used as base only
| typedef std::vector<idx_type> COrderBase::block_idx_type |
Type for block indices.
| typedef block_idx_type::const_iterator COrderBase::block_iterator |
Type for block iterators.
Reimplemented in polybori::BlockDegLexOrder, and BlockDegRevLexAscOrder.
Reimplemented in DegLexOrder, and DegRevLexAscOrder.
Reimplemented in DegRevLexAscOrder.
Reimplemented in polybori::BlockDegLexOrder, BlockDegRevLexAscOrder, DegLexOrder, and LexOrder.
| typedef BooleExponent COrderBase::exp_type |
Type of Boolean monomials.
Type for indices.
Reimplemented from CAuxTypes.
| typedef invalid_tag COrderBase::lex_property |
Reimplemented in LexOrder.
| typedef BooleMonomial COrderBase::monom_type |
Type of Boolean monomials.
Reimplemented in LexOrder.
| typedef BoolePolynomial COrderBase::poly_type |
Type of Boolean polynomials.
| typedef BooleSet COrderBase::set_type |
Type of Boolean sets.
Type for sizes.
Reimplemented from CAuxTypes.
Reimplemented in DegLexOrder, DegRevLexAscOrder, and LexOrder.
Reimplemented in DegLexOrder, and DegRevLexAscOrder.
| COrderBase::COrderBase | ( | ) | [inline] |
Default Constructor.
| COrderBase::COrderBase | ( | const COrderBase & | ) | [inline] |
Copy Constructor.
| virtual COrderBase::~COrderBase | ( | ) | [inline, virtual] |
Destructor.
| virtual void COrderBase::appendBlock | ( | idx_type | ) | const [inline, virtual] |
| virtual block_iterator COrderBase::blockBegin | ( | ) | const [inline, virtual] |
Reimplemented in polybori::BlockDegLexOrder, and BlockDegRevLexAscOrder.
| virtual block_iterator COrderBase::blockEnd | ( | ) | const [inline, virtual] |
Reimplemented in polybori::BlockDegLexOrder, and BlockDegRevLexAscOrder.
| virtual void COrderBase::clearBlocks | ( | ) | const [inline, virtual] |
Comparison of exponent vectors.
Implemented in polybori::BlockDegLexOrder, BlockDegRevLexAscOrder, DegLexOrder, DegRevLexAscOrder, and LexOrder.
| virtual comp_type COrderBase::compare | ( | const monom_type & | , | |
| const monom_type & | ||||
| ) | const [pure virtual] |
Comparison of monomials.
Implemented in polybori::BlockDegLexOrder, BlockDegRevLexAscOrder, DegLexOrder, DegRevLexAscOrder, and LexOrder.
Comparison of indices corresponding to variables.
Implemented in polybori::BlockDegLexOrder, BlockDegRevLexAscOrder, DegLexOrder, DegRevLexAscOrder, and LexOrder.
| virtual monom_type COrderBase::lead | ( | const poly_type & | , | |
| size_type | ||||
| ) | const [pure virtual] |
Get leading term (using an upper bound).
Implemented in polybori::BlockDegLexOrder, BlockDegRevLexAscOrder, DegLexOrder, DegRevLexAscOrder, and LexOrder.
| virtual monom_type COrderBase::lead | ( | const poly_type & | ) | const [pure virtual] |
Get leading term.
Implemented in polybori::BlockDegLexOrder, BlockDegRevLexAscOrder, DegLexOrder, DegRevLexAscOrder, and LexOrder.
Get leading exponent (using an upper bound).
Implemented in polybori::BlockDegLexOrder, BlockDegRevLexAscOrder, DegLexOrder, DegRevLexAscOrder, and LexOrder.
Get leading exponent.
Implemented in polybori::BlockDegLexOrder, BlockDegRevLexAscOrder, DegLexOrder, DegRevLexAscOrder, and LexOrder.
| virtual indirect_exp_iterator COrderBase::leadExpIteratorBegin | ( | const poly_type & | ) | const [pure virtual] |
Implemented in polybori::BlockDegLexOrder, BlockDegRevLexAscOrder, DegLexOrder, DegRevLexAscOrder, and LexOrder.
| virtual indirect_exp_iterator COrderBase::leadExpIteratorEnd | ( | ) | const [pure virtual] |
Implemented in polybori::BlockDegLexOrder, BlockDegRevLexAscOrder, DegLexOrder, DegRevLexAscOrder, and LexOrder.
| virtual indirect_iterator COrderBase::leadIteratorBegin | ( | const poly_type & | ) | const [pure virtual] |
Initialize iterator corresponding to leading term.
Implemented in polybori::BlockDegLexOrder, BlockDegRevLexAscOrder, DegLexOrder, DegRevLexAscOrder, and LexOrder.
| virtual indirect_iterator COrderBase::leadIteratorEnd | ( | ) | const [pure virtual] |
Implemented in polybori::BlockDegLexOrder, BlockDegRevLexAscOrder, DegLexOrder, DegRevLexAscOrder, and LexOrder.
| monom_type COrderBase::monom | ( | const set_type & | rhs | ) | const [inline, protected] |
Get monomial from set of subsets of Boolean variables (internal use only).
Referenced by DegRevLexAscOrder::lead(), DegLexOrder::lead(), and BlockDegRevLexAscOrder::lead().
1.6.3