Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:42:58

0001 /*
0002  [auto_generated]
0003  boost/numeric/odeint/util/split.hpp
0004 
0005  [begin_description]
0006  Split abstraction for parallel backends.
0007  [end_description]
0008 
0009  Copyright 2013 Karsten Ahnert
0010  Copyright 2013 Mario Mulansky
0011  Copyright 2013 Pascal Germroth
0012 
0013  Distributed under the Boost Software License, Version 1.0.
0014  (See accompanying file LICENSE_1_0.txt or
0015  copy at http://www.boost.org/LICENSE_1_0.txt)
0016  */
0017 
0018 
0019 #ifndef BOOST_NUMERIC_ODEINT_UTIL_SPLIT_HPP_INCLUDED
0020 #define BOOST_NUMERIC_ODEINT_UTIL_SPLIT_HPP_INCLUDED
0021 
0022 namespace boost {
0023 namespace numeric {
0024 namespace odeint {
0025 
0026 /*
0027  * No default implementation of the split operation
0028  */
0029 template< class Container1, class Container2 , class Enabler = void >
0030 struct split_impl
0031 {
0032     static void split( const Container1 &from , Container2 &to );
0033 };
0034 
0035 template< class Container1 , class Container2 >
0036 void split( const Container1 &from , Container2 &to )
0037 {
0038     split_impl< Container1 , Container2 >::split( from , to );
0039 }
0040 
0041 
0042 /*
0043  * No default implementation of the unsplit operation
0044  */
0045 template< class Container1, class Container2 , class Enabler = void >
0046 struct unsplit_impl
0047 {
0048     static void unsplit( const Container1 &from , Container2 &to );
0049 };
0050 
0051 template< class Container1 , class Container2 >
0052 void unsplit( const Container1 &from , Container2 &to )
0053 {
0054     unsplit_impl< Container1 , Container2 >::unsplit( from , to );
0055 }
0056 
0057 
0058 } // namespace odeint
0059 } // namespace numeric
0060 } // namespace boost
0061 
0062 
0063 #endif // BOOST_NUMERIC_ODEINT_UTIL_COPY_HPP_INCLUDED
0064