template <typename Element>

class RepeatedPtrIterator

Defined at line 2155 of file ../../third_party/protobuf/src/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<Element> ()

Defined at line 2164 of file ../../third_party/protobuf/src/src/google/protobuf/repeated_ptr_field.h

void RepeatedPtrIterator<Element> (void *const * it)

Defined at line 2165 of file ../../third_party/protobuf/src/src/google/protobuf/repeated_ptr_field.h

template <typename OtherElement, typename =
                                    std::enable_if_t<std::is_convertible_v<OtherElement*, pointer>>>
void RepeatedPtrIterator<Element> (const RepeatedPtrIterator<OtherElement> & other)

Allows "upcasting" from RepeatedPtrIterator

<T

**> to

RepeatedPtrIterator

<const

T*const*>.

Defined at line 2172 of file ../../third_party/protobuf/src/src/google/protobuf/repeated_ptr_field.h

reference operator* ()

dereferenceable

Defined at line 2176 of file ../../third_party/protobuf/src/src/google/protobuf/repeated_ptr_field.h

pointer operator-> ()

Defined at line 2179 of file ../../third_party/protobuf/src/src/google/protobuf/repeated_ptr_field.h

iterator & operator++ ()

{inc,dec}rementable

Defined at line 2184 of file ../../third_party/protobuf/src/src/google/protobuf/repeated_ptr_field.h

iterator operator++ (int )

Defined at line 2188 of file ../../third_party/protobuf/src/src/google/protobuf/repeated_ptr_field.h

iterator & operator-- ()

Defined at line 2189 of file ../../third_party/protobuf/src/src/google/protobuf/repeated_ptr_field.h

iterator operator-- (int )

Defined at line 2193 of file ../../third_party/protobuf/src/src/google/protobuf/repeated_ptr_field.h

iterator & operator+= (difference_type d)

addable, subtractable

Defined at line 2218 of file ../../third_party/protobuf/src/src/google/protobuf/repeated_ptr_field.h

iterator & operator-= (difference_type d)

Defined at line 2230 of file ../../third_party/protobuf/src/src/google/protobuf/repeated_ptr_field.h

reference operator[] (difference_type d)

indexable

Defined at line 2240 of file ../../third_party/protobuf/src/src/google/protobuf/repeated_ptr_field.h

Friends

template <typename E>
auto RepeatedPtrIterator (RepeatedPtrIterator<E> it)
template <typename OtherElement>
class RepeatedPtrIterator
template <typename Element>
difference_type RepeatedPtrIterator (iterator it1, iterator it2)
template <typename Element>
RepeatedPtrIterator RepeatedPtrIterator (iterator it, difference_type d)
template <typename Element>
RepeatedPtrIterator RepeatedPtrIterator (const difference_type d, iterator it)
template <typename Element>
RepeatedPtrIterator RepeatedPtrIterator (iterator it, const difference_type d)
template <typename Element>
bool RepeatedPtrIterator (const iterator & x, const iterator & y)
template <typename Element>
bool RepeatedPtrIterator (const iterator & x, const iterator & y)
template <typename Element>
bool RepeatedPtrIterator (const iterator & x, const iterator & y)
template <typename Element>
bool RepeatedPtrIterator (const iterator & x, const iterator & y)
template <typename Element>
bool RepeatedPtrIterator (const iterator & x, const iterator & y)
template <typename Element>
bool RepeatedPtrIterator (const iterator & xconst iterator & y)