split.hpp 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. /*
  2. [auto_generated]
  3. boost/numeric/odeint/util/split.hpp
  4. [begin_description]
  5. Split abstraction for parallel backends.
  6. [end_description]
  7. Copyright 2013 Karsten Ahnert
  8. Copyright 2013 Mario Mulansky
  9. Copyright 2013 Pascal Germroth
  10. Distributed under the Boost Software License, Version 1.0.
  11. (See accompanying file LICENSE_1_0.txt or
  12. copy at http://www.boost.org/LICENSE_1_0.txt)
  13. */
  14. #ifndef BOOST_NUMERIC_ODEINT_UTIL_SPLIT_HPP_INCLUDED
  15. #define BOOST_NUMERIC_ODEINT_UTIL_SPLIT_HPP_INCLUDED
  16. namespace boost {
  17. namespace numeric {
  18. namespace odeint {
  19. /*
  20. * No default implementation of the split operation
  21. */
  22. template< class Container1, class Container2 , class Enabler = void >
  23. struct split_impl
  24. {
  25. static void split( const Container1 &from , Container2 &to );
  26. };
  27. template< class Container1 , class Container2 >
  28. void split( const Container1 &from , Container2 &to )
  29. {
  30. split_impl< Container1 , Container2 >::split( from , to );
  31. }
  32. /*
  33. * No default implementation of the unsplit operation
  34. */
  35. template< class Container1, class Container2 , class Enabler = void >
  36. struct unsplit_impl
  37. {
  38. static void unsplit( const Container1 &from , Container2 &to );
  39. };
  40. template< class Container1 , class Container2 >
  41. void unsplit( const Container1 &from , Container2 &to )
  42. {
  43. unsplit_impl< Container1 , Container2 >::unsplit( from , to );
  44. }
  45. } // namespace odeint
  46. } // namespace numeric
  47. } // namespace boost
  48. #endif // BOOST_NUMERIC_ODEINT_UTIL_COPY_HPP_INCLUDED