10#include <kernel/geometry/index_set.hpp> 
   16namespace FEAT::Geometry::Intern
 
   18  template<
typename VertexMarking_, 
int size_>
 
   21    static_assert(size_ > 0, 
"Invalid RefinementFieldTuple size. Must be greater than 0.");
 
   27    static constexpr std::size_t 
size = size_;
 
   30    std::array<VertexMarkingType, size_> 
levels;
 
   47  template<
typename VertexMarking_>
 
   51    using VertexMarkingType = VertexMarking_;
 
   54    std::vector<VertexMarkingType> _markings;
 
   61    RefinementField(
Index num_vertices, VertexMarkingType default_marking) : _markings(num_vertices, default_marking)
 
   67      _markings(std::forward<std::vector<VertexMarkingType>>(
other._markings))
 
   79      _markings = std::forward<std::vector<VertexMarkingType>>(
other._markings);
 
   96      ASSERT(idx < _markings.size());
 
   97      return _markings[idx];
 
  103      ASSERT(idx < _markings.size());
 
  104      return _markings[idx];
 
  107    std::size_t size()
 const 
  109      return _markings.size();
 
  115      RefinementFieldTuple<VertexMarkingType, n_> result = {};
 
  117      for(
int i(0); i < n_; ++i)
 
  119        result[i] = _markings[indices[i]];
 
#define ASSERT(expr)
Debug-Assertion macro definition.
RefinementField & operator=(RefinementField &other)=delete
deleted copy-assign operator
VertexMarkingType & operator[](Index idx)
access operator
RefinementField(RefinementField &other)=delete
deleted copy-constructor
~RefinementField()=default
destructor
const VertexMarkingType & operator[](Index idx) const
const access operator
RefinementField & operator=(RefinementField &&other) noexcept
move-assign operator
RefinementField(RefinementField &&other) noexcept
move-constructor
VertexMarkingType & operator[](Index idx)
access operator
VertexMarking_ VertexMarkingType
Type of vertex marking.
const VertexMarkingType & operator[](Index idx) const
access operator
std::array< VertexMarkingType, size_ > levels
Tuple values.
static constexpr std::size_t size
Tuple size.
@ other
generic/other permutation strategy
std::uint64_t Index
Index data type.
Index Tuple class template.