7#ifndef DUNE_FUNCTIONS_COMMON_MULTIINDEX_HH
8#define DUNE_FUNCTIONS_COMMON_MULTIINDEX_HH
15#include <dune/common/hash.hh>
27template<
class size_type, std::
size_t n>
29 public std::array<size_type, n>
32 static constexpr std::size_t
size() {
return n; }
33 static constexpr std::size_t
max_size() {
return n; }
36 return hash_range(v.begin(), v.end());
52template<
class size_type>
54 public std::array<size_type, 1>
58 static constexpr std::size_t
size() {
return 1; }
59 static constexpr std::size_t
max_size() {
return 1; }
62 operator const size_type& ()
const {
67 return hash_range(v.begin(), v.end());
70 operator size_type& () {
78template<
class size_type, std::
size_t n>
80 for (
const auto& ci : c)
89template<
class size_type, std::
size_t n>
90struct std::tuple_size<
Dune::Functions::StaticMultiIndex<size_type,n> >
91 : std::integral_constant<std::size_t, n> { };
Definition monomialset.hh:19
Definition monomialset.hh:19
std::ostream & operator<<(std::ostream &stream, const StaticMultiIndex< size_type, n > &c)
Definition multiindex.hh:79
A statically sized MultiIndex type.
Definition multiindex.hh:30
static constexpr std::size_t size()
Definition multiindex.hh:32
friend std::size_t hash_value(const StaticMultiIndex &v) noexcept
Definition multiindex.hh:35
static constexpr std::size_t max_size()
Definition multiindex.hh:33
static constexpr std::size_t max_size()
Definition multiindex.hh:59
static constexpr std::size_t size()
Definition multiindex.hh:58
friend std::size_t hash_value(const StaticMultiIndex &v) noexcept
Definition multiindex.hh:66