00001 // -*- c++ -*- 00002 //***************************************************************************** 00014 //***************************************************************************** 00015 00016 #ifndef polybori_groebner_LeadingTerms00_h_ 00017 #define polybori_groebner_LeadingTerms00_h_ 00018 00019 #include "PolyEntry.h" 00020 #include "TermsFacade.h" 00021 00022 // include basic definitions 00023 #include "groebner_defs.h" 00024 00025 BEGIN_NAMESPACE_PBORIGB 00026 00032 class LeadingTerms00: 00033 public TermsFacade<LeadingTerms00> { 00034 00035 public: 00036 template <class Type> 00037 LeadingTerms00(const Type& rhs): TermsFacade<LeadingTerms00>(rhs) {} 00038 00039 bool isCompatible(const PolyEntry& entry) const { 00040 return entry.literal_factors.is00Factorization(); 00041 } 00042 }; 00043 00044 00045 END_NAMESPACE_PBORIGB 00046 00047 #endif /* polybori_groebner_LeadingTerms00_h_ */