template <typename It>
class RepeatedPtrIterator
Defined at line 1608 of file ../../third_party/protobuf/src/google/protobuf/repeated_ptr_field.h
STL-like iterator implementation for RepeatedPtrField. You should not
refer to this class directly; use RepeatedPtrField
<T
>::iterator instead.
The iterator for RepeatedPtrField
<T
>, RepeatedPtrIterator
<T
>, is
very similar to iterator_ptr
<T
**> in util/gtl/iterator_adaptors.h,
but adds random-access operators and is modified to wrap a void** base
iterator (since RepeatedPtrField stores its array as a void* array and
casting void** to T** would violate C++ aliasing rules).
This code based on net/proto/proto-array-internal.h by Jeffrey Yasskin
(jyasskin
.com).
Public Methods
void RepeatedPtrIterator<It> ()
Defined at line 1617 of file ../../third_party/protobuf/src/google/protobuf/repeated_ptr_field.h
void RepeatedPtrIterator<It> (void *const * it)
Defined at line 1618 of file ../../third_party/protobuf/src/google/protobuf/repeated_ptr_field.h
template <typename OtherElement, typename std::enable_if<std::is_convertible<
OtherElement*, pointer>::value>::type* = nullptr>
void RepeatedPtrIterator<It> (const RepeatedPtrIterator<OtherElement> & other)
Allows "upcasting" from RepeatedPtrIterator
<T
**> to
RepeatedPtrIterator
<const
T*const*>.
Defined at line 1625 of file ../../third_party/protobuf/src/google/protobuf/repeated_ptr_field.h
reference operator* ()
dereferenceable
Defined at line 1629 of file ../../third_party/protobuf/src/google/protobuf/repeated_ptr_field.h
pointer operator-> ()
Defined at line 1630 of file ../../third_party/protobuf/src/google/protobuf/repeated_ptr_field.h
iterator & operator++ ()
{inc,dec}rementable
Defined at line 1633 of file ../../third_party/protobuf/src/google/protobuf/repeated_ptr_field.h
iterator operator++ (int )
Defined at line 1637 of file ../../third_party/protobuf/src/google/protobuf/repeated_ptr_field.h
iterator & operator-- ()
Defined at line 1638 of file ../../third_party/protobuf/src/google/protobuf/repeated_ptr_field.h
iterator operator-- (int )
Defined at line 1642 of file ../../third_party/protobuf/src/google/protobuf/repeated_ptr_field.h
iterator & operator+= (difference_type d)
addable, subtractable
Defined at line 1667 of file ../../third_party/protobuf/src/google/protobuf/repeated_ptr_field.h
iterator & operator-= (difference_type d)
Defined at line 1679 of file ../../third_party/protobuf/src/google/protobuf/repeated_ptr_field.h
reference operator[] (difference_type d)
indexable
Defined at line 1689 of file ../../third_party/protobuf/src/google/protobuf/repeated_ptr_field.h
Friends
template <typename OtherElement>
class RepeatedPtrIterator
template <typename It>
difference_type RepeatedPtrIterator (iterator it1, iterator it2)
template <typename It>
RepeatedPtrIterator RepeatedPtrIterator (iterator it, difference_type d)
template <typename It>
RepeatedPtrIterator RepeatedPtrIterator (const difference_type d, iterator it)
template <typename It>
RepeatedPtrIterator RepeatedPtrIterator (iterator it, const difference_type d)
template <typename It>
bool RepeatedPtrIterator (const iterator & x, const iterator & y)
template <typename It>
bool RepeatedPtrIterator (const iterator & x, const iterator & y)
template <typename It>
bool RepeatedPtrIterator (const iterator & x, const iterator & y)
template <typename It>
bool RepeatedPtrIterator (const iterator & x, const iterator & y)
template <typename It>
bool RepeatedPtrIterator (const iterator & x, const iterator & y)
template <typename It>
bool RepeatedPtrIterator (const iterator & xconst iterator & y)