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