7#ifndef DUNE_FUNCTIONS_COMMON_TYPE_TRAITS_HH
8#define DUNE_FUNCTIONS_COMMON_TYPE_TRAITS_HH
12#include <dune/common/hybridutilities.hh>
13#include <dune/common/typeutilities.hh>
29template<
class T,
class... Args>
31 std::is_constructible_v<T, Args...>,
int>;
44 public IsIntegralConstant<decltype(Dune::Hybrid::size(std::declval<T>()))>
61 public std::conditional_t<HasStaticSize_v<T>,
62 decltype(Dune::Hybrid::size(std::declval<T>())),
63 std::integral_constant<std::size_t,0>>
72 decltype(Dune::Hybrid::size(std::declval<T>()))>;
std::enable_if_t< std::is_constructible_v< T, Args... >, int > enableIfConstructible
Helper to constrain forwarding constructors.
Definition type_traits.hh:31
std::enable_if_t< HasStaticSize_v< T >, decltype(Dune::Hybrid::size(std::declval< T >()))> StaticSize
Obtain size of statically sized container as integral_constant, or fail.
Definition type_traits.hh:72
Definition polynomial.hh:17
constexpr bool HasStaticSize_v
A variable template representing the value of HasStaticSize.
Definition type_traits.hh:49
Check if type is a statically sized container.
Definition type_traits.hh:45
Obtain size of statically sized container, or 0 if dynamic size.
Definition type_traits.hh:64