19#ifndef OPM_ELEMENT_CHUNKS_HEADER
20#define OPM_ELEMENT_CHUNKS_HEADER
75template <
class Gr
idView,
class PartitionSet>
79 using Iter =
decltype(std::begin(elements(std::declval<const GridView&>(), PartitionSet())));
80 using Storage = std::vector<Iter>;
81 using StorageIter =
decltype(Storage().cbegin());
85 const PartitionSet included_partition,
86 const std::size_t num_chunks)
94 Chunk(
const Iter& i1,
const Iter& i2) :
pi_(i1, i2) {}
96 auto end()
const {
return pi_.second; }
97 std::pair<Iter, Iter>
pi_;
105 const StorageIter it = *
this;
106 return Chunk{*it, *(it+1)};
123 return grid_chunk_iterators_.size() - 1;
126 Storage grid_chunk_iterators_;
Definition: ElementChunks.hpp:77
auto end() const
Definition: ElementChunks.hpp:114
auto size() const
Definition: ElementChunks.hpp:121
auto begin() const
Definition: ElementChunks.hpp:110
ElementChunks(const GridView &gv, const PartitionSet included_partition, const std::size_t num_chunks)
Definition: ElementChunks.hpp:84
Holds the implementation of the CpGrid as a pimple.
Definition: CellQuadrature.hpp:26
auto createChunkIterators(const Range &r, const std::size_t num_elem, const std::size_t num_chunks)
Definition: createThreadIterators.hpp:48
Definition: ElementChunks.hpp:101
Chunk operator*() const
Definition: ElementChunks.hpp:103
ChunkIterator(const StorageIter &itit)
Definition: ElementChunks.hpp:102
Definition: ElementChunks.hpp:93
auto end() const
Definition: ElementChunks.hpp:96
std::pair< Iter, Iter > pi_
Definition: ElementChunks.hpp:97
auto begin() const
Definition: ElementChunks.hpp:95
Chunk(const Iter &i1, const Iter &i2)
Definition: ElementChunks.hpp:94