LSST Applications g07dc498a13+7851b72aa9,g1409bbee79+7851b72aa9,g1a7e361dbc+7851b72aa9,g1fd858c14a+a4e18a0dda,g33399d78f5+a0324bbf49,g35bb328faa+e55fef2c71,g3bd4b5ce2c+8524b1c0c8,g53246c7159+e55fef2c71,g579b87e3d2+a58ba40925,g60b5630c4e+7b4465799a,g78460c75b0+8427c4cc8f,g78619a8342+5517f7db9e,g786e29fd12+307f82e6af,g8534526c7b+8e1c6b434f,g89139ef638+7851b72aa9,g8b49a6ea8e+7b4465799a,g8ffcb69f3d+0065d7bbc8,g9125e01d80+e55fef2c71,g97b8272a79+a8c4cb337e,g989de1cb63+7851b72aa9,g9f33ca652e+747bd1f1f9,gaaedd4e678+7851b72aa9,gabe3b4be73+9c0c3c7524,gb1101e3267+c03a154bbb,gb58c049af0+28045f66fd,gc1fe0db326+7b4465799a,gca43fec769+e55fef2c71,gce7788e931+99adca4f64,gcf25f946ba+a0324bbf49,gd397e13551+18f805d5e0,gd6cbbdb0b4+f6e5445f66,gde0f65d7ad+78b6ec8427,ge278dab8ac+b4c2c8faf7,geab183fbe5+7b4465799a,gecb8035dfe+1f480bec5e,gf58bf46354+e55fef2c71,gf92a8ffd38+e7bc33f3ea,gfe7187db8c+38a2c5c626,w.2025.03
LSST Data Management Base Package
|
A constant iterator over the ranges (represented as 2-tuples) in a RangeSet. More...
#include <RangeSet.h>
Public Types | |
using | difference_type = ptrdiff_t |
using | value_type = std::tuple<std::uint64_t, std::uint64_t> |
using | pointer = void |
using | reference = std::tuple<std::uint64_t, std::uint64_t> |
using | iterator_category = std::input_iterator_tag |
Public Member Functions | |
Iterator ()=default | |
Iterator (std::uint64_t const *ptr) | |
Iterator & | operator++ () |
Iterator & | operator-- () |
Iterator | operator++ (int) |
Iterator | operator-- (int) |
Iterator | operator+ (ptrdiff_t n) const |
Iterator | operator- (ptrdiff_t n) const |
Iterator & | operator+= (ptrdiff_t n) |
Iterator & | operator-= (ptrdiff_t n) |
ptrdiff_t | operator- (Iterator const &i) const |
bool | operator== (Iterator const &i) const |
bool | operator!= (Iterator const &i) const |
bool | operator< (Iterator const &i) const |
bool | operator> (Iterator const &i) const |
bool | operator<= (Iterator const &i) const |
bool | operator>= (Iterator const &i) const |
std::tuple< std::uint64_t, std::uint64_t > | operator* () |
std::tuple< std::uint64_t, std::uint64_t > | operator[] (ptrdiff_t n) const |
Public Attributes | |
std::uint64_t const * | p = nullptr |
Friends | |
void | swap (Iterator &a, Iterator &b) |
Iterator | operator+ (ptrdiff_t n, Iterator const &i) |
A constant iterator over the ranges (represented as 2-tuples) in a RangeSet.
RangeSet does not store an array of 2-tuples internally. But, ยง24.2.5 of the C++11 standard requires the following from constant forward iterators:
reference
type of the iterator must be a reference to const value_type
So, dereferencing a forward iterator cannot return by value, or return a reference to a member of the iterator itself. As a result, it seems impossible to provide more than an input iterator for container objects that do not store their values directly.
While this class only claims to be an input iterator, it nevertheless implements most random access iterator requirements. Dereferencing an iterator returns a tuple by value, and operator->
is omitted.
Definition at line 129 of file RangeSet.h.
using lsst::sphgeom::RangeSet::Iterator::difference_type = ptrdiff_t |
Definition at line 131 of file RangeSet.h.
Definition at line 135 of file RangeSet.h.
using lsst::sphgeom::RangeSet::Iterator::pointer = void |
Definition at line 133 of file RangeSet.h.
Definition at line 134 of file RangeSet.h.
Definition at line 132 of file RangeSet.h.
|
default |
|
inlineexplicit |
Definition at line 138 of file RangeSet.h.
|
inline |
Definition at line 165 of file RangeSet.h.
|
inline |
Definition at line 171 of file RangeSet.h.
|
inline |
Definition at line 151 of file RangeSet.h.
|
inline |
Definition at line 145 of file RangeSet.h.
|
inline |
Definition at line 148 of file RangeSet.h.
|
inline |
Definition at line 154 of file RangeSet.h.
|
inline |
Definition at line 161 of file RangeSet.h.
|
inline |
Definition at line 152 of file RangeSet.h.
|
inline |
Definition at line 146 of file RangeSet.h.
|
inline |
Definition at line 149 of file RangeSet.h.
|
inline |
Definition at line 155 of file RangeSet.h.
|
inline |
Definition at line 166 of file RangeSet.h.
|
inline |
Definition at line 168 of file RangeSet.h.
|
inline |
Definition at line 164 of file RangeSet.h.
|
inline |
Definition at line 167 of file RangeSet.h.
|
inline |
Definition at line 169 of file RangeSet.h.
|
inline |
Definition at line 175 of file RangeSet.h.
Definition at line 157 of file RangeSet.h.
Definition at line 140 of file RangeSet.h.
std::uint64_t const* lsst::sphgeom::RangeSet::Iterator::p = nullptr |
Definition at line 179 of file RangeSet.h.