123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- //==============================================================================
- // Copyright 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI
- // Copyright 2014 NumScale SAS
- //
- // Distributed under the Boost Software License, Version 1.0.
- // See accompanying file LICENSE.txt or copy at
- // http://www.boost.org/LICENSE_1_0.txt
- //==============================================================================
- #ifndef BOOST_NUMERIC_ODEINT_EXTERNAL_NT2_NT2_RESIZE_HPP_INCLUDED
- #define BOOST_NUMERIC_ODEINT_EXTERNAL_NT2_NT2_RESIZE_HPP_INCLUDED
- #include <nt2/core/container/table/table.hpp>
- #include <boost/numeric/odeint/util/same_size.hpp>
- #include <type_traits>
- namespace boost { namespace numeric { namespace odeint {
- template<typename T, typename S>
- struct is_resizeable< nt2::container::table<T,S> >
- {
- typedef std::true_type type;
- static const bool value = type::value;
- };
- template<typename T, typename S>
- struct same_size_impl< nt2::container::table<T,S>
- , nt2::container::table<T,S>
- >
- {
- static bool same_size ( const nt2::container::table<T,S> &v1
- , const nt2::container::table<T,S> &v2
- )
- {
- return v1.extent() == v2.extent();
- }
- };
- template<typename T, typename S>
- struct resize_impl< nt2::container::table<T,S>
- , nt2::container::table<T,S>
- >
- {
- static void resize ( nt2::container::table<T,S> &v1
- , const nt2::container::table<T,S> &v2
- )
- {
- v1.resize( v2.extent() );
- }
- };
- } } }
- #endif
|