
29 May
2009
29 May
'09
10:27 p.m.
On Fri, 29 May 2009, Steven Watanabe wrote:
In this case, there's nothing Boost.Parameter can do about it, since result type is instantiated when you construct bogus<const char*>(). There is no way to make operator() a template without having variadic templates or by making Boost.Parameter pass an argument to operator().
I understand that. Is there some way to get a parameter passed to operator()? I think that would add an extra layer of template instantiation to allow the result type of operator() to be invalid. Could there be some special member type that Boost.Parameter looks for to decide whether to call def() or def(0)? That would keep compatibility while allowing more unusual cases like mine to work. -- Jeremiah Willcock