COrderBase Class Reference

This class defines ordering related functions. More...

#include <COrderBase.h>

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

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::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 &, 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).

Detailed Description

This class defines ordering related functions.


Member Typedef Documentation

Reimplemented in DegRevLexAscOrder.

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 DegLexOrder, and DegRevLexAscOrder.

Reimplemented in DegRevLexAscOrder.

Type of Boolean monomials.

Type for indices.

Reimplemented from CAuxTypes.

Reimplemented in LexOrder.

Type of Boolean monomials.

Reimplemented in LexOrder.

Type of Boolean polynomials.

Type of Boolean sets.

Type for sizes.

Reimplemented from CAuxTypes.

Reimplemented in DegLexOrder, DegRevLexAscOrder, and LexOrder.

Reimplemented in DegLexOrder, and DegRevLexAscOrder.


Constructor & Destructor Documentation

COrderBase::COrderBase (  )  [inline]

Default Constructor.

COrderBase::COrderBase ( const COrderBase  )  [inline]

Copy Constructor.

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

Destructor.


Member Function Documentation

virtual void COrderBase::appendBlock ( idx_type   )  const [inline, virtual]
virtual block_iterator COrderBase::blockBegin (  )  const [inline, virtual]
virtual block_iterator COrderBase::blockEnd (  )  const [inline, virtual]
virtual void COrderBase::clearBlocks (  )  const [inline, virtual]
virtual comp_type COrderBase::compare ( const exp_type ,
const exp_type  
) const [pure 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]
virtual comp_type COrderBase::compare ( idx_type  ,
idx_type   
) const [pure virtual]

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]
virtual exp_type COrderBase::leadExp ( const poly_type ,
size_type   
) const [pure virtual]

Get leading exponent (using an upper bound).

Implemented in polybori::BlockDegLexOrder, BlockDegRevLexAscOrder, DegLexOrder, DegRevLexAscOrder, and LexOrder.

virtual exp_type COrderBase::leadExp ( const poly_type  )  const [pure virtual]
virtual indirect_exp_iterator COrderBase::leadExpIteratorBegin ( const poly_type  )  const [pure virtual]
virtual indirect_exp_iterator COrderBase::leadExpIteratorEnd (  )  const [pure virtual]
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]
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().


The documentation for this class was generated from the following file:
Generated on Tue May 4 08:39:39 2010 for PolyBoRi by  doxygen 1.6.3