3#ifndef DUNE_FUNCTIONS_COMMON_MULTIINDEX_HH
4#define DUNE_FUNCTIONS_COMMON_MULTIINDEX_HH
10#include <dune/common/hash.hh>
22template<
class size_type, std::
size_t n>
24 public std::array<size_type, n>
27 static constexpr std::size_t
size() {
return n; }
30 return hash_range(v.begin(), v.end());
46template<
class size_type>
48 public std::array<size_type, 1>
52 static constexpr std::size_t
size() {
return 1; }
54 operator const size_type& ()
const {
59 return hash_range(v.begin(), v.end());
62 operator size_type& () {
70template<
typename Stream,
class size_type, std::
size_t n>
72 for (
const auto& ci : c)
81template<
class size_type, std::
size_t n>
82struct std::tuple_size<
Dune::Functions::StaticMultiIndex<size_type,n> >
83 : std::integral_constant<std::size_t, n> { };
Definition: polynomial.hh:10
Definition: polynomial.hh:11
Stream & operator<<(Stream &stream, const StaticMultiIndex< size_type, n > &c)
Definition: multiindex.hh:71
A statically sized MultiIndex type.
Definition: multiindex.hh:25
static constexpr std::size_t size()
Definition: multiindex.hh:27
friend std::size_t hash_value(const StaticMultiIndex &v) noexcept
Definition: multiindex.hh:29
static constexpr std::size_t size()
Definition: multiindex.hh:52
friend std::size_t hash_value(const StaticMultiIndex &v) noexcept
Definition: multiindex.hh:58