53 lines
1.7 KiB
Plaintext
53 lines
1.7 KiB
Plaintext
|
//==============================================================================
|
||
|
// 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>
|
||
|
|
||
|
namespace boost { namespace numeric { namespace odeint {
|
||
|
|
||
|
template<typename T, typename S>
|
||
|
struct is_resizeable< nt2::container::table<T,S> >
|
||
|
{
|
||
|
typedef boost::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
|