macros.hpp 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. /*
  2. [auto_generated]
  3. boost/numeric/odeint/algebra/detail/macros.hpp
  4. [begin_description]
  5. Some macros for type checking.
  6. [end_description]
  7. Copyright 2010-2012 Karsten Ahnert
  8. Copyright 2010 Mario Mulansky
  9. Distributed under the Boost Software License, Version 1.0.
  10. (See accompanying file LICENSE_1_0.txt or
  11. copy at http://www.boost.org/LICENSE_1_0.txt)
  12. */
  13. #ifndef BOOST_NUMERIC_ODEINT_ALGEBRA_DETAIL_MACROS_HPP_INCLUDED
  14. #define BOOST_NUMERIC_ODEINT_ALGEBRA_DETAIL_MACROS_HPP_INCLUDED
  15. //type traits aren't working with nvcc
  16. #ifndef __CUDACC__
  17. #include <boost/type_traits.hpp>
  18. #include <boost/static_assert.hpp>
  19. #define BOOST_ODEINT_CHECK_CONTAINER_TYPE( Type1 , Type2 ) \
  20. BOOST_STATIC_ASSERT(( boost::is_same< typename boost::remove_const< Type1 >::type , Type2 >::value ))
  21. #else
  22. //empty macro for nvcc
  23. #define BOOST_ODEINT_CHECK_CONTAINER_TYPE( Type1 , Type2 )
  24. #endif // __CUDACC__
  25. /*
  26. #define BOOST_ODEINT_CHECK_OPERATION_ARITY( Operation , Arity ) \
  27. BOOST_STATIC_ASSERT(( boost::function_traits< Operation >::arity == Arity ))
  28. */
  29. #endif // BOOST_NUMERIC_ODEINT_ALGEBRA_DETAIL_MACROS_HPP_INCLUDED