3 boost/numeric/odeint/util/resizer.hpp
6 Implementation of the resizers.
9 Copyright 2011-2012 Mario Mulansky
10 Copyright 2011 Karsten Ahnert
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)
18 #ifndef BOOST_NUMERIC_ODEINT_UTIL_RESIZER_HPP_INCLUDED
19 #define BOOST_NUMERIC_ODEINT_UTIL_RESIZER_HPP_INCLUDED
22 #include <boost/numeric/odeint/util/is_resizeable.hpp>
23 #include <boost/numeric/odeint/util/same_size.hpp>
24 #include <boost/numeric/odeint/util/resize.hpp>
30 template< class ResizeWrappedState , class State >
31 bool adjust_size_by_resizeability( ResizeWrappedState &x , const State &y , boost::true_type )
33 if ( !same_size( x.m_v , y ) )
42 template< class ResizeWrappedState , class State >
43 bool adjust_size_by_resizeability( ResizeWrappedState & /* x */ , const State & /* y */ , boost::false_type )
50 template< class State , class ResizeFunction >
51 bool adjust_size( const State &x , ResizeFunction f )
58 struct initially_resizer
63 initially_resizer() : m_initialized( false )
66 template< class State , class ResizeFunction >
67 bool adjust_size( const State &x , ResizeFunction f )
81 template< class State , class ResizeFunction >
82 bool adjust_size( const State &/*x*/ , ResizeFunction /*f*/ )
93 #endif // BOOST_NUMERIC_ODEINT_UTIL_RESIZER_HPP_INCLUDED