
"David B. Held" <dheld@codelogicconsulting.com> wrote in message news:cck1t5$g3r$1@sea.gmane.org...
This is what I would like to do:
template <class P1, class P2> struct sp { template <typename T> struct nested { }; };
template <typename T> struct less;
template <class P1, class P2, typename T> struct less<sp<P1, P2>::nested<T> > : binary_function<...> { bool operator()(...); };
Could you pull the definition of nested outside of sp template<typename P1, typename P2, typename T> struct sp_nested { }; then use a metafunction within sp: template<typename P1, typename P2> struct sp { template<typename T> struct nested { typedef sp_nested<P1, P2, T> type; }; }; ? You can then make less< sp_nested<P1, P2, T> > do pretty much whatever you want; the question is whether you can make the metafunction do whatever you needed the nested template to do. Jonathan