1 #ifndef OMEGA_H_INT_ITERATOR_HPP
2 #define OMEGA_H_INT_ITERATOR_HPP
4 #include <Omega_h_defines.hpp>
13 using value_type = LO;
14 using difference_type = LO;
15 using reference = LO
const&;
16 using pointer = LO
const*;
17 using iterator_category = std::random_access_iterator_tag;
19 OMEGA_H_INLINE
IntIterator(LO i_in) noexcept : i(i_in) {}
20 OMEGA_H_INLINE
bool operator==(
IntIterator const& other)
const noexcept {
23 OMEGA_H_INLINE
bool operator!=(
IntIterator const& other)
const noexcept {
26 OMEGA_H_INLINE reference operator*()
const noexcept {
return i; }
27 OMEGA_H_INLINE pointer operator->()
const noexcept {
return &i; }
32 OMEGA_H_INLINE
IntIterator operator++(
int) noexcept {
41 OMEGA_H_INLINE
IntIterator operator--(
int) noexcept {
46 OMEGA_H_INLINE
IntIterator& operator+=(difference_type n) noexcept {
50 OMEGA_H_INLINE
IntIterator& operator-=(difference_type n) noexcept {
54 OMEGA_H_INLINE
IntIterator operator+(difference_type n)
const noexcept {
57 OMEGA_H_INLINE
IntIterator operator-(difference_type n)
const noexcept {
60 OMEGA_H_INLINE difference_type operator-(
IntIterator const& other)
const
64 OMEGA_H_INLINE value_type operator[](difference_type n)
const noexcept {
67 OMEGA_H_INLINE
bool operator<(
IntIterator const& other)
const noexcept {
70 OMEGA_H_INLINE
bool operator>(
IntIterator const& other)
const noexcept {
73 OMEGA_H_INLINE
bool operator<=(
IntIterator const& other)
const noexcept {
76 OMEGA_H_INLINE
bool operator>=(
IntIterator const& other)
const noexcept {
82 IntIterator::difference_type n,
IntIterator it) noexcept {
Definition: Omega_h_int_iterator.hpp:9
Definition: amr_mpi_test.cpp:6