7#ifndef DUNE_FUNCTIONS_COMMON_MULTIINDEX_HH
8#define DUNE_FUNCTIONS_COMMON_MULTIINDEX_HH
14#include <dune/common/hash.hh>
17namespace Dune::Functions {
26template<
class size_type, std::
size_t n>
28 public std::array<size_type, n>
31 static constexpr std::size_t size() {
return n; }
32 static constexpr std::size_t max_size() {
return n; }
35 return hash_range(v.begin(), v.end());
51template<
class size_type>
53 public std::array<size_type, 1>
57 static constexpr std::size_t size() {
return 1; }
58 static constexpr std::size_t max_size() {
return 1; }
61 operator const size_type& ()
const {
66 return hash_range(v.begin(), v.end());
69 operator size_type& () {
77template<
typename Stream,
class size_type, std::
size_t n>
79 for (
const auto& ci : c)
88template<
class size_type, std::
size_t n>
89struct std::tuple_size<
Dune::Functions::StaticMultiIndex<size_type,n> >
90 : std::integral_constant<std::size_t, n> { };
A statically sized MultiIndex type.
Definition: multiindex.hh:29
Definition: polynomial.hh:17