diff --git a/include/boost/pending/indirect_cmp.hpp b/include/boost/pending/indirect_cmp.hpp index 59c69856..471ef2c8 100644 --- a/include/boost/pending/indirect_cmp.hpp +++ b/include/boost/pending/indirect_cmp.hpp @@ -40,17 +40,17 @@ namespace boost { // //!category: functors //!component: type - //!tparam: Decorator - a model of Decorator + //!tparam: ReadablePropertyMap - a model of ReadablePropertyMap //!definition: functor.h - template + template class indirect_cmp { public: - typedef typename boost::property_traits::value_type T; - typedef typename boost::property_traits::key_type K; + typedef typename boost::property_traits::value_type T; + typedef typename boost::property_traits::key_type K; typedef K first_argument_type; typedef K second_argument_type; typedef T result_type; - inline indirect_cmp(const Decorator& df, const Compare& c = Compare()) + inline indirect_cmp(const ReadablePropertyMap& df, const Compare& c = Compare()) : d(df), cmp(c) { } template @@ -60,10 +60,15 @@ namespace boost { return cmp(du, dv); } protected: - Decorator d; + ReadablePropertyMap d; Compare cmp; }; + template + make_indirect_cmp(const Compare& cmp, ReadablePropertyMap map) { + return indirect_cmp(map, cmp); + } + } // namespace boost