$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Jonathan Turkanis (technews_at_[hidden])
Date: 2004-07-08 16:26:37
"David B. Held" <dheld_at_[hidden]> wrote in message
news:cck1t5$g3r$1_at_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