COrderBase Class Reference

This class defines ordering related functions. More...

#include <COrderBase.h>

Inheritance diagram for COrderBase:
BlockDegLexOrder BlockDegRevLexAscOrder DegLexOrder DegRevLexAscOrder 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

typedef invalid_tag COrderBase::ascending_property

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.

typedef invalid_tag COrderBase::blockorder_property

Reimplemented in BlockDegLexOrder, and BlockDegRevLexAscOrder.

Type for degrees.

typedef invalid_tag COrderBase::degorder_property

Reimplemented in DegLexOrder, and DegRevLexAscOrder.

Reimplemented in DegRevLexAscOrder.

typedef invalid_tag COrderBase::descending_property

Type of Boolean monomials.

Type for indices.

typedef invalid_tag COrderBase::lex_property

Reimplemented in LexOrder.

Type of Boolean monomials.

typedef invalid_tag COrderBase::ordered_property

Reimplemented in LexOrder.

Type of Boolean polynomials.

Type of Boolean sets.

Type for sizes.

typedef invalid_tag COrderBase::symmetry_property

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]

Reimplemented in BlockDegLexOrder, and BlockDegRevLexAscOrder.

virtual block_iterator COrderBase::blockEnd (  )  const [inline, virtual]

Reimplemented in BlockDegLexOrder, and BlockDegRevLexAscOrder.

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

virtual comp_type COrderBase::compare ( idx_type  ,
idx_type   
) const [pure virtual]

Comparison of indices corresponding to variables.

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

virtual monom_type COrderBase::lead ( const poly_type ,
deg_type   
) const [pure virtual]

Get leading term (using an upper bound).

Implemented in 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 ,
deg_type   
) const [pure virtual]

Get leading exponent (using an upper bound).

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

virtual exp_type COrderBase::leadExp ( const poly_type  )  const [pure virtual]

Get leading exponent.

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

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 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(), BlockDegRevLexAscOrder::lead(), and BlockDegLexOrder::lead().


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

Generated on 23 Dec 2009 for PolyBoRi by  doxygen 1.6.1