PolyBoRi
|
00001 // -*- c++ -*- 00002 //***************************************************************************** 00014 //***************************************************************************** 00015 00016 // include basic definitions 00017 #include "pbori_defs.h" 00018 00019 // include base order definitions 00020 #include "CBlockOrderingFacade.h" 00021 #include "COrderingTags.h" 00022 00023 #ifndef BlockDegRevLexAscOrder_h_ 00024 #define BlockDegRevLexAscOrder_h_ 00025 00026 BEGIN_NAMESPACE_PBORI 00027 00033 class BlockDegRevLexAscOrder: 00034 public CBlockOrderingFacade<BlockDegRevLexAscOrder, block_dp_asc_tag> { 00035 00037 typedef BlockDegRevLexAscOrder self; 00038 00039 public: 00041 typedef std::greater<idx_type> idx_comparer_type; 00042 00044 BlockDegRevLexAscOrder(): base() {}; 00045 00047 BlockDegRevLexAscOrder(const self& rhs): base(rhs) {}; 00048 00050 ~BlockDegRevLexAscOrder() {}; 00051 00053 comp_type compare(idx_type, idx_type) const; 00054 00056 comp_type compare(const monom_type&, const monom_type&) const; 00057 00059 comp_type compare(const exp_type&, const exp_type&) const; 00060 00061 }; 00062 00063 00064 END_NAMESPACE_PBORI 00065 00066 #endif // BlockDegRevLexAscOrder_h_