Given this code
which is suggested by David Abraham....
template
char (& is_op_test(boost::operators const&) )[2];
template <class T>
char is_op_test(T const&);
template<class T>
T const& make();
template <class T>
struct is_operators
: boost::mpl::bool_<(sizeof(is_op_test(make<T>())) == 2)>
{};
and this function declaration.
template
class CONT
typename boost::enable_if, CONT<T> >::type
primelist(const T& MAX_BOUND, const T& K, boost::function f);
I compile with T = int and it works.
When i compile with T = BigInteger I get the following errors.
./cs512/c++/primeMain.cpp(78) : error C2770: invalid explicit template
argument(s) for
'boost::enable_if
,CONT<T>>::type primelist(const T &,const T &,boost::function)'
./cs512/c++/primeMain.cpp(24) : see declaration of 'primelist'"
BigInteger class declaration looks like this..
class BigInteger : public BigUnsigned, boost::operators<BigInteger>,
boost::operators
{
};
thanks for the help.