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

DegLexOrder.h

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

Generated on Thu Nov 4 2010 08:06:23 for PolyBoRi by  doxygen 1.7.1