Boost logo

Boost Users :

From: chun ping wang (cablepuff_at_[hidden])
Date: 2007-08-09 19:24:01


Hi, how would I ensured that class U of template class is a dervied class of
boost::operators<U> using BOOST_STATIC_ASSERT and boost::is_base_of...

template <T>
myFunc(const T& a)
{
    typedef boost::operators<T> operatorT;
    BOOST_STATIC_ASSERT(is_integral<T>::value || is_base_of<operatorT,
T>::value);
    // ... other codes.
}

doing this gives me an error.

 arguments, but takes just 1
./cs512/c++/cppdef/DiffieHellman.cpp: In function `T
boost::random_prime(boost::
function<bool ()(const T&, const T&), std::allocator<void> >, int)':
./cs512/c++/cppdef/DiffieHellman.cpp:23: error: `BOOST_STATIC_ASSERT' was
not de
clared in this scope
./cs512/c++/cppdef/DiffieHellman.cpp:49:78: macro "BOOST_STATIC_ASSERT"
passed 2
 arguments, but takes just 1
./cs512/c++/cppdef/DiffieHellman.cpp: In function `boost::tuples::tuple<T,
T, bo
ost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type,
boos
t::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type,
boost:
:tuples::null_type, boost::tuples::null_type> boost::dh_init(const
boost::any&)'
:
./cs512/c++/cppdef/DiffieHellman.cpp:49: error: `BOOST_STATIC_ASSERT' was
not de
clared in this scope
./cs512/c++/cppdef/DiffieHellman.cpp:64:78: macro "BOOST_STATIC_ASSERT"
passed 2
 arguments, but takes just 1
./cs512/c++/cppdef/DiffieHellman.cpp: In function `T boost::dh_secret(const
T&,
const T&, const T&)':
./cs512/c++/cppdef/DiffieHellman.cpp:64: error: `BOOST_STATIC_ASSERT' was
not de
clared in this scope
make[1]: *** [lib/DiffieHellman.o] Error 1
make[1]: Leaving directory `/c/CPW/cs_classes'
make: *** [all-before] Error 2



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net