H
Hicham Mouline
Hello,
I have this code
http://codepad.org/CDOFhSqZ
I have a non templated member function GetSpot(tType) const
and a templated one.
Besides, argument 2 and 3 of the templated have default arguments.
Users of this class call either
class.GetSpot( 10. );
or
class.GetSpot<Linear, Polynomial>( 15. ); // case 2
or
class.GetSpot<Linear, Linear>( 15., Linear(5), Linear(7) );
These actual calls happen in 1 translation unit and so the member functions
are instantiated.
Question 1 : Is this valid C++03?
Question 2 : I would like opinions about the style
Question 3 : with vs2005 debugger, arg2 and arg3 in case 2 are not
constructed properly sometimes.
Question 4: would removing the non templated member, and setting default
template args for Interp and Extrap
be possible with at the same time having default formal args 2 and 3.
Would this then be a better style?
PS: typename boost::call_traits<Interp>:aram_type is simply
const Interp&
in this case
regards,
I have this code
http://codepad.org/CDOFhSqZ
I have a non templated member function GetSpot(tType) const
and a templated one.
Besides, argument 2 and 3 of the templated have default arguments.
Users of this class call either
class.GetSpot( 10. );
or
class.GetSpot<Linear, Polynomial>( 15. ); // case 2
or
class.GetSpot<Linear, Linear>( 15., Linear(5), Linear(7) );
These actual calls happen in 1 translation unit and so the member functions
are instantiated.
Question 1 : Is this valid C++03?
Question 2 : I would like opinions about the style
Question 3 : with vs2005 debugger, arg2 and arg3 in case 2 are not
constructed properly sometimes.
Question 4: would removing the non templated member, and setting default
template args for Interp and Extrap
be possible with at the same time having default formal args 2 and 3.
Would this then be a better style?
PS: typename boost::call_traits<Interp>:aram_type is simply
const Interp&
in this case
regards,