Iterates over the constituent chunks of a Cord.

Synopsis

Declared in <absl/strings/cord.h>

class ChunkIterator;

Description

A Cord::ChunkIterator allows iteration over the constituent chunks of its Cord. Such iteration allows you to perform non‐const operations on the data of a Cord without modifying it.

Generally, you do not instantiate a Cord::ChunkIterator directly; instead, you create one implicitly through use of the Cord::Chunks() member function.

The Cord::ChunkIterator has the following properties:

* The iterator is invalidated after any non‐const operation on the Cord object over which it iterates. * The string_view returned by dereferencing a valid, non‐`end()` iterator is guaranteed to be non‐empty. * Two ChunkIterator objects can be compared equal if and only if they remain valid and iterate over the same Cord. * The iterator in this case is a proxy iterator; the string_view returned by the iterator does not live inside the Cord, and its lifetime is limited to the lifetime of the iterator itself. To help prevent lifetime issues, ChunkIterator::reference is not a true reference type and is equivalent to value_type. * The iterator keeps state that can grow for Cords that contain many nodes and are imbalanced due to sharing. Prefer to pass this type by const reference instead of by value.

Type Aliases

Name

Description

difference_type

The type used to represent distances between iterators.

iterator_category

The iterator category tag (input iterator).

pointer

The pointer type for the iterated values.

reference

The reference type for the iterated values.

value_type

The type of the values iterated over.

Member Functions

Name

Description

ChunkIterator [constructor]

Constructs an iterator in the end / singular state.

operator*

Dereferences the iterator.

operator++

Advances the iterator to the next chunk.

operator‐>

Member‐access dereference of the iterator.

operator==

Compares two iterators for equality.

operator!=

Compares two iterators for inequality.

Friends

Name

Description

absl::Cord::CharIterator

Iterates over the constituent characters of a Cord.

absl::Cord

A sequence of characters stored as a tree of buffers.

Created with MrDocs