3#include <dune/common/rangeutilities.hh>
5#include <amdis/common/Concepts.hpp>
6#include <amdis/typetree/MultiIndex.hpp>
7#include <amdis/utility/MappedRangeView.hpp>
12 template <
class LocalView,
class Node>
13 auto nodeIndices(
LocalView const& localView, Node
const& node)
15 static_assert(Concepts::LocalView<LocalView>,
"");
16 static_assert(Concepts::BasisTree<Node, typename LocalView::GridView>,
"");
18 return mappedRangeView(Dune::range(node.size()), [&](std::size_t j) ->
typename LocalView::MultiIndex {
19 return localView.index(node.localIndex(j));
24 template <
class LocalView>
25 auto nodeIndices(
LocalView const& localView)
27 static_assert(Concepts::LocalView<LocalView>,
"");
29 return mappedRangeView(Dune::range(localView.size()), [&](std::size_t i) ->
typename LocalView::MultiIndex {
30 return localView.index(i);
36 template <
class LocalView,
class Node>
37 std::size_t nodeIndexCount(
LocalView const& , Node
const& node)
43 template <
class LocalView>
44 std::size_t nodeIndexCount(
LocalView const& localView)
46 return localView.size();
constexpr bool MultiIndex
A multi-index type.
Definition: Concepts.hpp:149
constexpr bool LocalView
A Dune::Functions::LocalView type.
Definition: Concepts.hpp:181