template <typename Element>
class RepeatedIterator
Defined at line 1285 of file ../../third_party/protobuf/src/google/protobuf/repeated_field.h
STL-like iterator implementation for RepeatedField. You should not
refer to this class directly; use RepeatedField
<T
>::iterator instead.
Note: All of the iterator operators *must* be inlined to avoid performance
regressions. This is caused by the extern template declarations below (which
are required because of the RepeatedField extern template declarations). If
any of these functions aren't explicitly inlined (e.g. defined in the class),
the compiler isn't allowed to inline them.
Public Methods
void RepeatedIterator<Element> ()
Defined at line 1299 of file ../../third_party/protobuf/src/google/protobuf/repeated_field.h
template <typename OtherElement, typename std::enable_if<std::is_convertible<
OtherElement*, pointer>::value>::type* = nullptr>
void RepeatedIterator<Element> (const RepeatedIterator<OtherElement> & other)
Allows "upcasting" from RepeatedIterator
<T
**> to
RepeatedIterator
<const
T*const*>.
Defined at line 1306 of file ../../third_party/protobuf/src/google/protobuf/repeated_field.h
reference operator* ()
dereferenceable
Defined at line 1311 of file ../../third_party/protobuf/src/google/protobuf/repeated_field.h
pointer operator-> ()
Defined at line 1312 of file ../../third_party/protobuf/src/google/protobuf/repeated_field.h
iterator & operator++ ()
{inc,dec}rementable
Defined at line 1320 of file ../../third_party/protobuf/src/google/protobuf/repeated_field.h
iterator operator++ (int )
Defined at line 1324 of file ../../third_party/protobuf/src/google/protobuf/repeated_field.h
iterator & operator-- ()
Defined at line 1325 of file ../../third_party/protobuf/src/google/protobuf/repeated_field.h
iterator operator-- (int )
Defined at line 1329 of file ../../third_party/protobuf/src/google/protobuf/repeated_field.h
iterator & operator+= (difference_type d)
addable, subtractable
Defined at line 1360 of file ../../third_party/protobuf/src/google/protobuf/repeated_field.h
iterator operator+ (difference_type d)
Defined at line 1364 of file ../../third_party/protobuf/src/google/protobuf/repeated_field.h
iterator & operator-= (difference_type d)
Defined at line 1372 of file ../../third_party/protobuf/src/google/protobuf/repeated_field.h
iterator operator- (difference_type d)
Defined at line 1376 of file ../../third_party/protobuf/src/google/protobuf/repeated_field.h
reference operator[] (difference_type d)
indexable
Defined at line 1381 of file ../../third_party/protobuf/src/google/protobuf/repeated_field.h
Friends
template <typename OtherElement>
class RepeatedIterator
template <typename Element>
difference_type RepeatedIterator (iterator it1, iterator it2)
template <typename Element>
RepeatedIterator RepeatedIterator (const difference_type d, iterator it)
template <typename Element>
bool RepeatedIterator (const iterator & x, const iterator & y)
template <typename Element>
bool RepeatedIterator (const iterator & x, const iterator & y)
template <typename Element>
bool RepeatedIterator (const iterator & x, const iterator & y)
template <typename Element>
bool RepeatedIterator (const iterator & x, const iterator & y)
template <typename Element>
bool RepeatedIterator (const iterator & x, const iterator & y)
template <typename Element>
bool RepeatedIterator (const iterator & xconst iterator & y)