Boost logo

Proto :

Subject: [proto] pod_generator Question
From: Nate Knight (Nate.Knight_at_[hidden])
Date: 2011-02-11 19:17:37


I see in the Proto documentation a trick for getting the Proto operator overloads found by ADL using something like

template<class T, class Dummy = proto::is_proto_expr>
struct my_complex
{
    BOOST_PROTO_EXTENDS(
        typename proto::terminal<std::complex<T> >::type
      , my_complex<T>
      , proto::default_domain
    )
};

The proto::pod_generator class template, however, expects its argument to be a one argument class template.
So, something like

struct my_domain : proto::domain< proto::pod_generator< my_complex> > {};

won't work because my_complex is a two argument class template (even though its got one default argument).

Is there some work around for this, am I missing something, or am I out of luck.

Thanks
Nate


Proto list run by eric at boostpro.com