PolyBoRi
MonomialTerms.h
Go to the documentation of this file.
00001 // -*- c++ -*-
00002 //*****************************************************************************
00014 //*****************************************************************************
00015 
00016 #ifndef polybori_groebner_MonomialTerms_h_
00017 #define polybori_groebner_MonomialTerms_h_
00018 
00019 #include "TermsFacade.h"
00020 
00021 // include basic definitions
00022 #include "groebner_defs.h"
00023 
00024 BEGIN_NAMESPACE_PBORIGB
00025 
00031 class MonomialTerms:
00032   public TermsFacade<MonomialTerms> {
00033 
00034 public:
00035   template <class Type>
00036   MonomialTerms(const Type& rhs): TermsFacade<MonomialTerms>(rhs) {}
00037 
00038   bool isCompatible(const PolyEntry& entry) const {
00039     PBORI_ASSERT( (entry.length != 1) || (entry.p == entry.lead) );
00040     return (entry.length == 1);
00041   }
00042 };
00043 
00044 END_NAMESPACE_PBORIGB
00045 
00046 #endif /* polybori_groebner_MonomialTerms_h_ */