PolyBoRi
BlockDegLexOrder.h
Go to the documentation of this file.
00001 // -*- c++ -*-
00002 //*****************************************************************************
00013 //*****************************************************************************
00014 
00015 #ifndef polybori_BlockDegLexOrder_h_
00016 #define polybori_BlockDegLexOrder_h_
00017 
00018 // include basic definitions
00019 #include <polybori/pbori_defs.h>
00020 
00021 // include base order definitions
00022 #include <polybori/orderings/CBlockOrderingFacade.h>
00023 #include <polybori/orderings/COrderingTags.h>
00024 
00025 BEGIN_NAMESPACE_PBORI
00026 
00032 class BlockDegLexOrder:
00033   public CBlockOrderingFacade<BlockDegLexOrder, block_dlex_tag> { 
00034 
00036   typedef BlockDegLexOrder self;
00037 
00038 public:
00039 
00041   typedef std::less<idx_type> idx_comparer_type;
00042 
00044   BlockDegLexOrder(): base() {};
00045 
00047   BlockDegLexOrder(const self& rhs): base(rhs) {};
00048 
00050   ~BlockDegLexOrder() {};
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 // polybori_BlockDegLexOrder_h_