1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
// SPDX-FileCopyrightInfo: Copyright © DUNE Project contributors, see file LICENSE.md in module root
// SPDX-License-Identifier: LicenseRef-GPL-2.0-only-with-DUNE-exception
#ifndef DUNE_PYTHON_COMMON_GETDIMENSION_HH
#define DUNE_PYTHON_COMMON_GETDIMENSION_HH
#include <type_traits>
#include <dune/common/fvector.hh>
#include <dune/common/fmatrix.hh>
template< class T, class=void >
struct GetDimension;
template< class T >
struct GetDimension< T, std::enable_if_t<std::is_arithmetic<T>::value>>
: public std::integral_constant< int, 1 > {};
template< class FT, int dim >
struct GetDimension<Dune::FieldVector<FT,dim>>
: public std::integral_constant< int, dim > {};
template< class FT, int dimr, int dimc >
struct GetDimension<Dune::FieldMatrix<FT,dimr,dimc>>
: public std::integral_constant< int, dimr*dimc > {};
#endif // DUNE_PYTHON_COMMON_GETDIMENSION_HH
|