Here is a coliru of the error: http://coliru.stacked-crooked.com/a/a03c61dc0c33c94b
I have a type with two template parameters like so:
template <typename T, typename U> class DoubleTemplate {};
In a struct I have a member of the above type like so:
namespace test
{
struct adaptee
{
DoubleTemplate<int, int> dt;
};
}
When I attempt to call the Boost adapt function like so:
BOOST_FUSION_ADAPT_STRUCT( test::adaptee,
(DoubleTemplate<int, int>, dt) )
it complains that there are 3 parameters being passed in (I am guessing it is seeing these three: DoubleTemplate<int
, int>
, dt
)
It works ok if I typedef
the DoubleTemplate
type and use the shorter name in the Boost adapt call, but that would require a nasty 10-or-so typedef
s in my code.
Is there a simple way to just pass in the double template? I feel like I am missing a simple answer here. Thanks for your help.