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)