20#ifndef OPM_ITERATOR_RANGE_HEADER
21#define OPM_ITERATOR_RANGE_HEADER
28template <
class DataType>
30 iterator_range_pod(
const DataType* begin,
const DataType* end) : begin_(begin), end_(end) {}
33 size_t size()
const {
return std::distance(begin_,end_); }
34 bool empty()
const {
return begin_ == end_; }
36 {
return (begin_ == rhs.begin_) && (end_ == rhs.end_); }
38 const DataType& operator[](
int idx)
const {
return begin_[idx]; }
40 const DataType* begin()
const {
return begin_; }
41 const DataType* end()
const {
return end_; }
44 const DataType* begin_;
54 size_t size()
const {
return std::distance(begin_,end_); }
55 bool empty()
const {
return begin_ == end_; }
57 {
return (begin_ == rhs.begin_) && (end_ == rhs.end_); }
59 const typename Iter::value_type& operator[](
int idx)
const
60 {
return *(begin_+ idx); }
62 Iter begin()
const {
return begin_; }
63 Iter end()
const {
return end_; }
69template<
typename Iter>
74 size_t size()
const {
return std::distance(begin_,end_); }
75 bool empty()
const {
return begin_ == end_; }
76 bool operator==(
const Iter& rhs)
const
77 {
return (begin_ == rhs.begin_) && (end_ == rhs.end_); }
79 typename Iter::value_type& operator[](
int idx)
80 {
return begin_[idx]; }
82 Iter begin()
const {
return begin_; }
83 Iter end()
const {
return end_; }
Holds the implementation of the CpGrid as a pimple.
Definition: CellQuadrature.hpp:29
Definition: IteratorRange.hpp:29
Definition: IteratorRange.hpp:50
Definition: IteratorRange.hpp:70