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