00001 // -*- c++ -*- 00002 //***************************************************************************** 00014 //***************************************************************************** 00015 00016 #ifndef polybori_groebner_GetNthPoly_h_ 00017 #define polybori_groebner_GetNthPoly_h_ 00018 00019 // include basic definitions 00020 #include "groebner_defs.h" 00021 00022 #include "ReductionStrategy.h" 00023 00024 BEGIN_NAMESPACE_PBORIGB 00025 00032 class GetNthPoly { 00033 public: 00034 GetNthPoly(ReductionStrategy& strat): m_strat(strat) {} 00035 00036 template <class KeyType> 00037 const Polynomial& operator()(const KeyType& key) { 00038 return m_strat[key].p; 00039 } 00040 00041 ReductionStrategy& m_strat; 00042 }; 00043 00044 END_NAMESPACE_PBORIGB 00045 00046 #endif /* polybori_groebner_GetNthPoly_h_ */