• Main Page
  • Related Pages
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

DegLexOrder.h

Go to the documentation of this file.
00001 // -*- c++ -*-
00002 //*****************************************************************************
00066 //*****************************************************************************
00067 
00068 // include basic definitions
00069 #include "pbori_defs.h"
00070 
00071 // include base order definitions
00072 #include "COrderBase.h"
00073 
00074 #ifndef DegLexOrder_h_
00075 #define DegLexOrder_h_
00076 
00077 BEGIN_NAMESPACE_PBORI
00078 
00084 class DegLexOrder:
00085   public COrderBase {
00086 
00087  public:
00088   //-------------------------------------------------------------------------
00089   // types definitions
00090   //-------------------------------------------------------------------------
00091 
00093   typedef DegLexOrder self;
00094 
00096 
00097   typedef valid_tag symmetry_property;
00098   typedef valid_tag degorder_property;
00099   typedef valid_tag totaldegorder_property;
00100   typedef valid_tag descending_property;
00101   typedef dlex_tag order_tag;
00103 
00105   typedef std::less<idx_type> idx_comparer_type;
00106 
00108   enum { order_code = CTypes::dlex, baseorder_code = order_code };
00109 
00111   DegLexOrder(): base() {};
00112 
00114   DegLexOrder(const self& rhs): base(rhs) {};
00115 
00117   ~DegLexOrder() {};
00118 
00120   comp_type compare(idx_type, idx_type) const;
00121 
00123   comp_type compare(const monom_type&, const monom_type&) const;
00124 
00126   comp_type compare(const exp_type&, const exp_type&) const;
00127 
00129   monom_type lead(const poly_type&) const;
00130 
00132   monom_type lead(const poly_type& poly, deg_type) const;
00133 
00135   exp_type leadExp(const poly_type&) const;
00136 
00138   exp_type leadExp(const poly_type&, deg_type) const;
00139 
00141   indirect_iterator leadIteratorBegin(const poly_type&) const;
00142   indirect_iterator leadIteratorEnd() const;
00143   indirect_exp_iterator leadExpIteratorBegin(const poly_type&) const;
00144   indirect_exp_iterator leadExpIteratorEnd() const;
00145 };
00146 
00147 
00148 END_NAMESPACE_PBORI
00149 
00150 #endif // DegLexOrder_h_

Generated on Thu Feb 10 2011 for PolyBoRi by  doxygen 1.7.1