Public Types | Public Member Functions | Protected Member Functions

polybori::COrderBase Class Reference

This class defines ordering related functions. More...

#include <COrderBase.h>

Inheritance diagram for polybori::COrderBase:
polybori::CAuxTypes polybori::BlockDegLexOrder polybori::BlockDegRevLexAscOrder polybori::DegLexOrder polybori::DegRevLexAscOrder polybori::LexOrder

List of all members.

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::deg_type deg_type
 Type for degrees.
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_typeblock_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 &, deg_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 &, deg_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).

Detailed Description

This class defines ordering related functions.


Member Typedef Documentation

current type should used as base only

Type for block indices.

typedef block_idx_type::const_iterator polybori::COrderBase::block_iterator

Type for block iterators.

Type for degrees.

Reimplemented from polybori::CAuxTypes.

Type of Boolean monomials.

Type for indices.

Reimplemented from polybori::CAuxTypes.

Type of Boolean monomials.

Type of Boolean polynomials.

Type of Boolean sets.

Type for sizes.

Reimplemented from polybori::CAuxTypes.


Constructor & Destructor Documentation

polybori::COrderBase::COrderBase (  )  [inline]

Default Constructor.

polybori::COrderBase::COrderBase ( const COrderBase  )  [inline]

Copy Constructor.

virtual polybori::COrderBase::~COrderBase (  )  [inline, virtual]

Destructor.


Member Function Documentation

virtual void polybori::COrderBase::appendBlock ( idx_type   )  const [inline, virtual]
virtual block_iterator polybori::COrderBase::blockBegin (  )  const [inline, virtual]
virtual block_iterator polybori::COrderBase::blockEnd (  )  const [inline, virtual]
virtual void polybori::COrderBase::clearBlocks (  )  const [inline, virtual]
virtual comp_type polybori::COrderBase::compare ( const monom_type ,
const monom_type  
) const [pure virtual]
virtual comp_type polybori::COrderBase::compare ( idx_type  ,
idx_type   
) const [pure virtual]
virtual comp_type polybori::COrderBase::compare ( const exp_type ,
const exp_type  
) const [pure virtual]
virtual monom_type polybori::COrderBase::lead ( const poly_type  )  const [pure virtual]
virtual monom_type polybori::COrderBase::lead ( const poly_type ,
deg_type   
) const [pure virtual]
virtual exp_type polybori::COrderBase::leadExp ( const poly_type  )  const [pure virtual]
virtual exp_type polybori::COrderBase::leadExp ( const poly_type ,
deg_type   
) const [pure virtual]
virtual indirect_exp_iterator polybori::COrderBase::leadExpIteratorBegin ( const poly_type  )  const [pure virtual]
virtual indirect_exp_iterator polybori::COrderBase::leadExpIteratorEnd (  )  const [pure virtual]
virtual indirect_iterator polybori::COrderBase::leadIteratorBegin ( const poly_type  )  const [pure virtual]
virtual indirect_iterator polybori::COrderBase::leadIteratorEnd (  )  const [pure virtual]
monom_type polybori::COrderBase::monom ( const set_type rhs  )  const [inline, protected]

Get monomial from set of subsets of Boolean variables (internal use only).

Referenced by polybori::DegRevLexAscOrder::lead(), polybori::DegLexOrder::lead(), and polybori::BlockDegRevLexAscOrder::lead().


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