polybori::CBlockOrderingFacade< OrderType, OrderTag > Class Template Reference

This class implements block orderings for COrderingFacade. OrderType must inherit from COrderingFacade<OrderType>. More...

#include <CBlockOrderingFacade.h>

Inheritance diagram for polybori::CBlockOrderingFacade< OrderType, OrderTag >:

polybori::COrderingFacade< OrderType, OrderTag > polybori::COrderingBase COrderingTags< OrderTag > polybori::order_traits< OrderTag > polybori::CAuxTypes polybori::BlockDegLexOrder polybori::BlockDegRevLexAscOrder

List of all members.

Public Types

typedef self base
 *this is to be used as base for OrderType only
Declare template argument-dependent types
typedef base_type::order_lead_tag order_lead_tag
 Tag for for leading monomial cache.
typedef base_type::poly_type poly_type
typedef base_type::monom_type monom_type
typedef base_type::exp_type exp_type
typedef base_type::deg_type deg_type
 Type for polynomial degrees (ranges from -1 to maxint).
typedef base_type::set_type set_type
 Type of Boolean sets.
typedef base_type::comp_type comp_type
 Type for comparisons.

Public Member Functions

 CBlockOrderingFacade ()
 Default Constructor.
 CBlockOrderingFacade (const self &rhs)
 Copy Constructor.
 ~CBlockOrderingFacade ()=0
 Destructor.
monom_type lead (const poly_type &poly) const
 generic block lead
monom_type lead (const poly_type &poly, deg_type) const
exp_type leadExp (const poly_type &poly) const
 Extraction of leading exponent - just using lead.
exp_type leadExp (const poly_type &poly, deg_type) const
interface for block orderings
COrderingBase::block_iterator blockBegin () const
COrderingBase::block_iterator blockEnd () const
void appendBlock (COrderingBase::checked_idx_type idx)
void clearBlocks ()

Protected Member Functions

template<class TermType, class BinOpType>
comp_type compare_terms (const TermType &lhs, const TermType &rhs, const BinOpType &idx_comparer) const
 Comparison of monomials/expoinents template.

Protected Attributes

COrderingBase::block_idx_type m_indices
 index data


Detailed Description

template<class OrderType, class OrderTag>
class polybori::CBlockOrderingFacade< OrderType, OrderTag >

This class implements block orderings for COrderingFacade. OrderType must inherit from COrderingFacade<OrderType>.

Member Typedef Documentation

template<class OrderType, class OrderTag>
typedef self polybori::CBlockOrderingFacade< OrderType, OrderTag >::base

*this is to be used as base for OrderType only

Reimplemented from polybori::COrderingFacade< OrderType, OrderTag >.

template<class OrderType, class OrderTag>
typedef base_type::order_lead_tag polybori::CBlockOrderingFacade< OrderType, OrderTag >::order_lead_tag

Tag for for leading monomial cache.

Reimplemented from polybori::COrderingFacade< OrderType, OrderTag >.

template<class OrderType, class OrderTag>
typedef base_type::poly_type polybori::CBlockOrderingFacade< OrderType, OrderTag >::poly_type

Reimplemented from polybori::COrderingBase.

template<class OrderType, class OrderTag>
typedef base_type::monom_type polybori::CBlockOrderingFacade< OrderType, OrderTag >::monom_type

Reimplemented from polybori::COrderingBase.

template<class OrderType, class OrderTag>
typedef base_type::exp_type polybori::CBlockOrderingFacade< OrderType, OrderTag >::exp_type

Reimplemented from polybori::COrderingBase.

template<class OrderType, class OrderTag>
typedef base_type::deg_type polybori::CBlockOrderingFacade< OrderType, OrderTag >::deg_type

Type for polynomial degrees (ranges from -1 to maxint).

Reimplemented from polybori::CAuxTypes.

template<class OrderType, class OrderTag>
typedef base_type::set_type polybori::CBlockOrderingFacade< OrderType, OrderTag >::set_type

Type of Boolean sets.

Reimplemented from polybori::COrderingBase.

template<class OrderType, class OrderTag>
typedef base_type::comp_type polybori::CBlockOrderingFacade< OrderType, OrderTag >::comp_type

Type for comparisons.

Reimplemented from polybori::CAuxTypes.


Constructor & Destructor Documentation

template<class OrderType, class OrderTag>
polybori::CBlockOrderingFacade< OrderType, OrderTag >::CBlockOrderingFacade (  )  [inline]

Default Constructor.

template<class OrderType, class OrderTag>
polybori::CBlockOrderingFacade< OrderType, OrderTag >::CBlockOrderingFacade ( const self rhs  )  [inline]

Copy Constructor.

template<class OrderType, class OrderTag>
polybori::CBlockOrderingFacade< OrderType, OrderTag >::~CBlockOrderingFacade (  )  [inline, pure virtual]

Destructor.


Member Function Documentation

template<class OrderType, class OrderTag>
COrderingBase::block_iterator polybori::CBlockOrderingFacade< OrderType, OrderTag >::blockBegin (  )  const [inline, virtual]

template<class OrderType, class OrderTag>
COrderingBase::block_iterator polybori::CBlockOrderingFacade< OrderType, OrderTag >::blockEnd (  )  const [inline, virtual]

template<class OrderType, class OrderTag>
void polybori::CBlockOrderingFacade< OrderType, OrderTag >::appendBlock ( COrderingBase::checked_idx_type  idx  )  [inline, virtual]

Reimplemented from polybori::COrderingBase.

template<class OrderType, class OrderTag>
void polybori::CBlockOrderingFacade< OrderType, OrderTag >::clearBlocks (  )  [inline, virtual]

Reimplemented from polybori::COrderingBase.

template<class OrderType, class OrderTag>
monom_type polybori::CBlockOrderingFacade< OrderType, OrderTag >::lead ( const poly_type poly  )  const [inline, virtual]

generic block lead

Implements polybori::COrderingBase.

template<class OrderType, class OrderTag>
monom_type polybori::CBlockOrderingFacade< OrderType, OrderTag >::lead ( const poly_type poly,
deg_type   
) const [inline]

Leading monomial with bound (just the ordinary leading monomial)

Note:
falls back to lead, ignores second argument

template<class OrderType, class OrderTag>
exp_type polybori::CBlockOrderingFacade< OrderType, OrderTag >::leadExp ( const poly_type poly  )  const [inline, virtual]

Extraction of leading exponent - just using lead.

Implements polybori::COrderingBase.

template<class OrderType, class OrderTag>
exp_type polybori::CBlockOrderingFacade< OrderType, OrderTag >::leadExp ( const poly_type poly,
deg_type   
) const [inline]

Leading exponent with bound (just the ordinary leading monomial)

Note:
falls back to leadExp, ignores second argument

template<class OrderType, class OrderTag>
template<class TermType, class BinOpType>
comp_type polybori::CBlockOrderingFacade< OrderType, OrderTag >::compare_terms ( const TermType &  lhs,
const TermType &  rhs,
const BinOpType &  idx_comparer 
) const [inline, protected]

Comparison of monomials/expoinents template.

Referenced by polybori::BlockDegRevLexAscOrder::compare(), and polybori::BlockDegLexOrder::compare().


Member Data Documentation

template<class OrderType, class OrderTag>
COrderingBase::block_idx_type polybori::CBlockOrderingFacade< OrderType, OrderTag >::m_indices [protected]

index data


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

Generated on Wed Jan 30 16:39:53 2013 for PolyBoRi by  doxygen 1.5.6