CDynamicOrderBase Class Reference

This class initialize the interface for runtime-switchable orderings. More...

#include <OrderedManager.h>

Inheritance diagram for CDynamicOrderBase:
CDynamicOrder< OrderType >

List of all members.

Public Types

typedef CDynamicOrderBase self
 Type of *this.
typedef std::vector< idx_typeblock_idx_type
 Type for block indices.
typedef
block_idx_type::const_iterator 
block_iterator
 Type for block iterators.
adopt global type definitions

typedef CTypes::bool_type bool_type
typedef CTypes::size_type size_type
typedef CTypes::idx_type idx_type
typedef CTypes::comp_type comp_type
typedef CTypes::ordercode_type ordercode_type
typedef BoolePolynomial poly_type
typedef poly_type::monom_type monom_type
typedef poly_type::navigator navigator
typedef poly_type::exp_type exp_type
typedef COrderedIter
< navigator, monom_type
ordered_iterator
typedef COrderedIter
< navigator, exp_type
ordered_exp_iterator

Public Member Functions

 CDynamicOrderBase ()
 Construct new.
virtual ~CDynamicOrderBase ()
virtual comp_type compare (idx_type, idx_type) const =0
 Comparison of monomials.
virtual comp_type compare (const monom_type &, const monom_type &) const =0
virtual comp_type compare (const exp_type &, const exp_type &) const =0
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 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 upper bound).
virtual poly_type leadFirst (const poly_type &) const =0
 Generates polynomial with leading term first (other terms may be skipped).
virtual bool_type isLexicographical () const =0
 Check whether ring is lexicographical.
virtual bool_type orderedStandardIteration () const =0
 Test whether iterators respect order.
virtual bool_type isSymmetric () const =0
 Test whether variable pertubation do not change the order.
virtual bool_type isDegreeOrder () const =0
 Test whether we deal with a degree-ordering.
virtual bool_type isBlockOrder () const =0
 Test whether we deal with a block-ordering.
virtual bool_type isTotalDegreeOrder () const =0
 Test whether we deal with a total degree-ordering.
virtual bool_type ascendingVariables () const =0
 Test whether variables are in ascending order.
virtual bool_type descendingVariables () const =0
 Test whether variables are in descending order.
virtual bool_type isDegreeReverseLexicograpical () const =0
 Test whether ordering is deg-rev-lex ordering.
virtual ordered_iterator leadIteratorBegin (const poly_type &) const =0
 Initialize iterator corresponding to leading term.
virtual ordered_iterator leadIteratorEnd () const =0
virtual ordered_exp_iterator leadExpIteratorBegin (const poly_type &) const =0
virtual ordered_exp_iterator leadExpIteratorEnd () const =0
virtual ordercode_type getOrderCode () const =0
 Get numerical code for ordering.
virtual ordercode_type getBaseOrderCode () const =0
 Get numerical code for base ordering (the same for non-block orderings).
virtual bool_type lieInSameBlock (idx_type, idx_type) const =0
interface for block orderings

virtual block_iterator blockBegin () const =0
virtual block_iterator blockEnd () const =0
virtual void appendBlock (idx_type)=0
virtual void clearBlocks ()=0

Detailed Description

This class initialize the interface for runtime-switchable orderings.


Member Typedef Documentation

Type for block indices.

typedef block_idx_type::const_iterator CDynamicOrderBase::block_iterator

Type for block iterators.

Reimplemented in CDynamicOrder< OrderType >.

Reimplemented in CDynamicOrder< OrderType >.

Reimplemented in CDynamicOrder< OrderType >.

Reimplemented in CDynamicOrder< OrderType >.

Reimplemented in CDynamicOrder< OrderType >.

Reimplemented in CDynamicOrder< OrderType >.

Reimplemented in CDynamicOrder< OrderType >.

Reimplemented in CDynamicOrder< OrderType >.

Reimplemented in CDynamicOrder< OrderType >.

Reimplemented in CDynamicOrder< OrderType >.

Type of *this.

Reimplemented in CDynamicOrder< OrderType >.

Reimplemented in CDynamicOrder< OrderType >.


Constructor & Destructor Documentation

CDynamicOrderBase::CDynamicOrderBase (  )  [inline]

Construct new.

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

Member Function Documentation

virtual void CDynamicOrderBase::appendBlock ( idx_type   )  [pure virtual]

Implemented in CDynamicOrder< OrderType >.

Referenced by BooleEnv::appendBlock().

virtual bool_type CDynamicOrderBase::ascendingVariables (  )  const [pure virtual]

Test whether variables are in ascending order.

Implemented in CDynamicOrder< OrderType >.

virtual block_iterator CDynamicOrderBase::blockBegin (  )  const [pure virtual]

Implemented in CDynamicOrder< OrderType >.

Referenced by BooleEnv::blockBegin().

virtual block_iterator CDynamicOrderBase::blockEnd (  )  const [pure virtual]
virtual void CDynamicOrderBase::clearBlocks (  )  [pure virtual]

Implemented in CDynamicOrder< OrderType >.

Referenced by BooleEnv::clearBlocks().

virtual comp_type CDynamicOrderBase::compare ( const exp_type ,
const exp_type  
) const [pure virtual]

Implemented in CDynamicOrder< OrderType >.

virtual comp_type CDynamicOrderBase::compare ( const monom_type ,
const monom_type  
) const [pure virtual]

Implemented in CDynamicOrder< OrderType >.

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

Comparison of monomials.

Implemented in CDynamicOrder< OrderType >.

virtual bool_type CDynamicOrderBase::descendingVariables (  )  const [pure virtual]

Test whether variables are in descending order.

Implemented in CDynamicOrder< OrderType >.

virtual ordercode_type CDynamicOrderBase::getBaseOrderCode (  )  const [pure virtual]

Get numerical code for base ordering (the same for non-block orderings).

Implemented in CDynamicOrder< OrderType >.

Referenced by BooleEnv::getBaseOrderCode().

virtual ordercode_type CDynamicOrderBase::getOrderCode (  )  const [pure virtual]

Get numerical code for ordering.

Implemented in CDynamicOrder< OrderType >.

Referenced by BooleEnv::getOrderCode().

virtual bool_type CDynamicOrderBase::isBlockOrder (  )  const [pure virtual]

Test whether we deal with a block-ordering.

Implemented in CDynamicOrder< OrderType >.

virtual bool_type CDynamicOrderBase::isDegreeOrder (  )  const [pure virtual]

Test whether we deal with a degree-ordering.

Implemented in CDynamicOrder< OrderType >.

virtual bool_type CDynamicOrderBase::isDegreeReverseLexicograpical (  )  const [pure virtual]

Test whether ordering is deg-rev-lex ordering.

Implemented in CDynamicOrder< OrderType >.

virtual bool_type CDynamicOrderBase::isLexicographical (  )  const [pure virtual]

Check whether ring is lexicographical.

Implemented in CDynamicOrder< OrderType >.

Referenced by BoolePolyRing::lastBlockStart().

virtual bool_type CDynamicOrderBase::isSymmetric (  )  const [pure virtual]

Test whether variable pertubation do not change the order.

Implemented in CDynamicOrder< OrderType >.

virtual bool_type CDynamicOrderBase::isTotalDegreeOrder (  )  const [pure virtual]

Test whether we deal with a total degree-ordering.

Implemented in CDynamicOrder< OrderType >.

virtual monom_type CDynamicOrderBase::lead ( const poly_type ,
size_type   
) const [pure virtual]

Get leading term (using upper bound).

Implemented in CDynamicOrder< OrderType >.

virtual monom_type CDynamicOrderBase::lead ( const poly_type  )  const [pure virtual]

Get leading term.

Implemented in CDynamicOrder< OrderType >.

virtual exp_type CDynamicOrderBase::leadExp ( const poly_type ,
size_type   
) const [pure virtual]

Get leading exponent (using upper bound).

Implemented in CDynamicOrder< OrderType >.

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

Get leading exponent.

Implemented in CDynamicOrder< OrderType >.

virtual ordered_exp_iterator CDynamicOrderBase::leadExpIteratorBegin ( const poly_type  )  const [pure virtual]

Implemented in CDynamicOrder< OrderType >.

virtual ordered_exp_iterator CDynamicOrderBase::leadExpIteratorEnd (  )  const [pure virtual]

Implemented in CDynamicOrder< OrderType >.

virtual poly_type CDynamicOrderBase::leadFirst ( const poly_type  )  const [pure virtual]

Generates polynomial with leading term first (other terms may be skipped).

Implemented in CDynamicOrder< OrderType >.

virtual ordered_iterator CDynamicOrderBase::leadIteratorBegin ( const poly_type  )  const [pure virtual]

Initialize iterator corresponding to leading term.

Implemented in CDynamicOrder< OrderType >.

virtual ordered_iterator CDynamicOrderBase::leadIteratorEnd (  )  const [pure virtual]

Implemented in CDynamicOrder< OrderType >.

virtual bool_type CDynamicOrderBase::lieInSameBlock ( idx_type  ,
idx_type   
) const [pure virtual]

Check, whether two indices are in the same block (true for nonblock orderings)

Implemented in CDynamicOrder< OrderType >.

virtual bool_type CDynamicOrderBase::orderedStandardIteration (  )  const [pure virtual]

Test whether iterators respect order.

Implemented in CDynamicOrder< OrderType >.


The documentation for this class was generated from the following file:
Generated on Wed May 5 19:06:04 2010 for PolyBoRi by  doxygen 1.6.3