20 #ifndef RAJA_REPEATVIEW_HPP
21 #define RAJA_REPEATVIEW_HPP
25 #include <type_traits>
66 constexpr
iterator(
const T* base,
size_t index)
75 return *(*
this + index);
143 return lhs.m_index == rhs.m_index;
148 return !(lhs == rhs);
153 return lhs.m_index < rhs.m_index;
172 const T* m_value =
nullptr;
185 m_value(
std::move(value))
188 constexpr T
const&
front()
const {
return m_value; }
190 constexpr T
const&
back()
const {
return m_value; }
205 constexpr
explicit operator bool()
const {
return m_bound != 0; }
207 constexpr
bool empty()
const {
return m_bound == 0; }
209 constexpr
size_t size()
const {
return m_bound; }
Header file for common RAJA internal macro definitions.
#define RAJA_UNUSED_ARG(x)
Definition: macros.hpp:97
Definition: AlignedRangeIndexSetBuilders.cpp:35
Definition: ListSegment.hpp:416
Definition: RepeatView.hpp:59
constexpr iterator operator++(int)
Definition: RepeatView.hpp:84
constexpr iterator & operator++()
Definition: RepeatView.hpp:78
T value_type
Definition: RepeatView.hpp:61
constexpr friend bool operator>(iterator const &lhs, iterator const &rhs)
Definition: RepeatView.hpp:161
constexpr iterator operator--(int)
Definition: RepeatView.hpp:97
constexpr friend bool operator<=(iterator const &lhs, iterator const &rhs)
Definition: RepeatView.hpp:156
constexpr friend iterator operator+(difference_type lhs, iterator rhs)
Definition: RepeatView.hpp:122
constexpr iterator(const T *base, size_t index)
Definition: RepeatView.hpp:66
constexpr friend iterator operator-(iterator lhs, difference_type rhs)
Definition: RepeatView.hpp:128
constexpr friend bool operator<(iterator const &lhs, iterator const &rhs)
Definition: RepeatView.hpp:151
std::ptrdiff_t difference_type
Definition: RepeatView.hpp:60
constexpr iterator & operator+=(difference_type rhs)
Definition: RepeatView.hpp:104
constexpr iterator & operator--()
Definition: RepeatView.hpp:91
constexpr friend bool operator==(iterator const &lhs, iterator const &rhs)
Definition: RepeatView.hpp:141
constexpr friend bool operator>=(iterator const &lhs, iterator const &rhs)
Definition: RepeatView.hpp:166
constexpr friend bool operator!=(iterator const &lhs, iterator const &rhs)
Definition: RepeatView.hpp:146
value_type const & reference
Definition: RepeatView.hpp:62
constexpr friend difference_type operator-(iterator const &lhs, iterator const &rhs)
Definition: RepeatView.hpp:134
constexpr reference operator*() const noexcept
Definition: RepeatView.hpp:71
constexpr reference operator[](difference_type index) const noexcept
Definition: RepeatView.hpp:73
constexpr friend iterator operator+(iterator lhs, difference_type rhs)
Definition: RepeatView.hpp:116
constexpr iterator & operator-=(difference_type rhs)
Definition: RepeatView.hpp:110
A view of a single object repeated a certain number of times.
Definition: RepeatView.hpp:57
constexpr iterator end() const
Definition: RepeatView.hpp:201
constexpr RepeatView(T const &value, size_t bound)
Definition: RepeatView.hpp:178
constexpr iterator begin() const
Definition: RepeatView.hpp:197
constexpr iterator cend() const
Definition: RepeatView.hpp:203
constexpr bool empty() const
Definition: RepeatView.hpp:207
constexpr T const & front() const
Definition: RepeatView.hpp:188
constexpr RepeatView(T &&value, size_t bound)
Definition: RepeatView.hpp:183
constexpr iterator cbegin() const
Definition: RepeatView.hpp:199
constexpr T const & operator[](size_t RAJA_UNUSED_ARG(index)) const
Definition: RepeatView.hpp:192
constexpr size_t size() const
Definition: RepeatView.hpp:209
constexpr T const & back() const
Definition: RepeatView.hpp:190