LSST Applications
21.0.0-172-gfb10e10a+18fedfabac,22.0.0+297cba6710,22.0.0+80564b0ff1,22.0.0+8d77f4f51a,22.0.0+a28f4c53b1,22.0.0+dcf3732eb2,22.0.1-1-g7d6de66+2a20fdde0d,22.0.1-1-g8e32f31+297cba6710,22.0.1-1-geca5380+7fa3b7d9b6,22.0.1-12-g44dc1dc+2a20fdde0d,22.0.1-15-g6a90155+515f58c32b,22.0.1-16-g9282f48+790f5f2caa,22.0.1-2-g92698f7+dcf3732eb2,22.0.1-2-ga9b0f51+7fa3b7d9b6,22.0.1-2-gd1925c9+bf4f0e694f,22.0.1-24-g1ad7a390+a9625a72a8,22.0.1-25-g5bf6245+3ad8ecd50b,22.0.1-25-gb120d7b+8b5510f75f,22.0.1-27-g97737f7+2a20fdde0d,22.0.1-32-gf62ce7b1+aa4237961e,22.0.1-4-g0b3f228+2a20fdde0d,22.0.1-4-g243d05b+871c1b8305,22.0.1-4-g3a563be+32dcf1063f,22.0.1-4-g44f2e3d+9e4ab0f4fa,22.0.1-42-gca6935d93+ba5e5ca3eb,22.0.1-5-g15c806e+85460ae5f3,22.0.1-5-g58711c4+611d128589,22.0.1-5-g75bb458+99c117b92f,22.0.1-6-g1c63a23+7fa3b7d9b6,22.0.1-6-g50866e6+84ff5a128b,22.0.1-6-g8d3140d+720564cf76,22.0.1-6-gd805d02+cc5644f571,22.0.1-8-ge5750ce+85460ae5f3,master-g6e05de7fdc+babf819c66,master-g99da0e417a+8d77f4f51a,w.2021.48
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< uint64_t, uint64_t > |
using | pointer = void |
using | reference = std::tuple< uint64_t, uint64_t > |
using | iterator_category = std::input_iterator_tag |
Public Member Functions | |
Iterator ()=default | |
Iterator (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< uint64_t, uint64_t > | operator* () |
std::tuple< uint64_t, uint64_t > | operator[] (ptrdiff_t n) const |
Public Attributes | |
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 122 of file RangeSet.h.
using lsst::sphgeom::RangeSet::Iterator::difference_type = ptrdiff_t |
Definition at line 124 of file RangeSet.h.
Definition at line 128 of file RangeSet.h.
using lsst::sphgeom::RangeSet::Iterator::pointer = void |
Definition at line 126 of file RangeSet.h.
using lsst::sphgeom::RangeSet::Iterator::reference = std::tuple<uint64_t, uint64_t> |
Definition at line 127 of file RangeSet.h.
using lsst::sphgeom::RangeSet::Iterator::value_type = std::tuple<uint64_t, uint64_t> |
Definition at line 125 of file RangeSet.h.
|
default |
|
inlineexplicit |
Definition at line 131 of file RangeSet.h.
|
inline |
Definition at line 158 of file RangeSet.h.
|
inline |
Definition at line 164 of file RangeSet.h.
|
inline |
Definition at line 144 of file RangeSet.h.
|
inline |
Definition at line 138 of file RangeSet.h.
|
inline |
Definition at line 141 of file RangeSet.h.
|
inline |
Definition at line 147 of file RangeSet.h.
|
inline |
Definition at line 154 of file RangeSet.h.
|
inline |
Definition at line 145 of file RangeSet.h.
|
inline |
Definition at line 139 of file RangeSet.h.
|
inline |
Definition at line 142 of file RangeSet.h.
|
inline |
Definition at line 148 of file RangeSet.h.
|
inline |
Definition at line 159 of file RangeSet.h.
|
inline |
Definition at line 161 of file RangeSet.h.
|
inline |
Definition at line 157 of file RangeSet.h.
|
inline |
Definition at line 160 of file RangeSet.h.
|
inline |
Definition at line 162 of file RangeSet.h.
|
inline |
Definition at line 168 of file RangeSet.h.
Definition at line 150 of file RangeSet.h.
Definition at line 133 of file RangeSet.h.
uint64_t const* lsst::sphgeom::RangeSet::Iterator::p = nullptr |
Definition at line 172 of file RangeSet.h.