PolyBoRi
DegLexOrder.h
Go to the documentation of this file.
1 // -*- c++ -*-
2 //*****************************************************************************
14 //*****************************************************************************
15 
16 #ifndef polybori_DegLexOrder_h_
17 #define polybori_DegLexOrder_h_
18 
19 // include basic definitions
20 #include <polybori/pbori_defs.h>
21 
22 // include base order definitions
25 
27 
34  public COrderingFacade<DegLexOrder, dlex_tag> {
35 
37  typedef DegLexOrder self;
38 
39 public:
40 
42  typedef std::less<idx_type> idx_comparer_type;
43 
45  DegLexOrder(): base() {};
46 
48  DegLexOrder(const self& rhs): base(rhs) {};
49 
52 
54  comp_type compare(idx_type, idx_type) const;
55 
57  comp_type compare(const monom_type&, const monom_type&) const;
58 
60  comp_type compare(const exp_type&, const exp_type&) const;
61 
63  monom_type lead(const poly_type&) const;
64 
67  monom_type lead(const poly_type& poly, deg_type bound) const;
68 
70  exp_type leadExp(const poly_type&) const;
71 
74  exp_type leadExp(const poly_type&, deg_type) const;
75 };
76 
77 
79 
80 #endif // polybori_DegLexOrder_h_