31#ifndef OPM_ELEMENTMARKHANDLE_HEADER
32#define OPM_ELEMENTMARKHANDLE_HEADER
34#include <opm/grid/cpgrid/Entity.hpp>
39struct ElementMarkHandle {
43 explicit ElementMarkHandle(std::vector<DataType>& winningMark)
44 : winningMark_(winningMark)
47 bool fixedSize(std::size_t, std::size_t)
53 bool contains(std::size_t, std::size_t codim)
60 std::size_t size([[maybe_unused]]
const T& element)
66 template <
class B,
class T>
67 void gather(B& buffer,
const T& element)
69 buffer.write( winningMark_[element.index()] );
73 template <
class B,
class T>
74 void scatter(B& buffer,
const T& element, [[maybe_unused]] std::size_t size)
77 buffer.read(tmp_mark);
78 winningMark_[element.index()] = std::max(winningMark_[element.index()], tmp_mark);
82 std::vector<DataType>& winningMark_;