Public Types | Public Member Functions | Private Types | Private Member Functions | Private Attributes | Friends | List of all members
absl::Cord::ChunkIterator Class Reference

#include <cord.h>

Public Types

using difference_type = ptrdiff_t
 
using difference_type = ptrdiff_t
 
using iterator_category = std::input_iterator_tag
 
using iterator_category = std::input_iterator_tag
 
using pointer = const value_type *
 
using pointer = const value_type *
 
using reference = value_type
 
using reference = value_type
 
using value_type = absl::string_view
 
using value_type = absl::string_view
 

Public Member Functions

 ChunkIterator ()=default
 
 ChunkIterator ()=default
 
bool operator!= (const ChunkIterator &other) const
 
bool operator!= (const ChunkIterator &other) const
 
reference operator* () const
 
reference operator* () const
 
ChunkIteratoroperator++ ()
 
ChunkIteratoroperator++ ()
 
ChunkIterator operator++ (int)
 
ChunkIterator operator++ (int)
 
pointer operator-> () const
 
pointer operator-> () const
 
bool operator== (const ChunkIterator &other) const
 
bool operator== (const ChunkIterator &other) const
 

Private Types

using CordRep = absl::cord_internal::CordRep
 
using CordRep = absl::cord_internal::CordRep
 
using CordRepBtree = absl::cord_internal::CordRepBtree
 
using CordRepBtreeReader = absl::cord_internal::CordRepBtreeReader
 
using CordRepRing = absl::cord_internal::CordRepRing
 
using CordRepRingReader = absl::cord_internal::CordRepRingReader
 
using Stack = absl::InlinedVector< absl::cord_internal::CordRep *, 47 >
 

Private Member Functions

Cord AdvanceAndReadBytes (size_t n)
 
Cord AdvanceAndReadBytes (size_t n)
 
ChunkIteratorAdvanceBtree ()
 
void AdvanceBytes (size_t n)
 
void AdvanceBytes (size_t n)
 
void AdvanceBytesBtree (size_t n)
 
void AdvanceBytesRing (size_t n)
 
void AdvanceBytesSlowPath (size_t n)
 
ChunkIteratorAdvanceRing ()
 
ChunkIteratorAdvanceStack ()
 
 ChunkIterator (const Cord *cord)
 
 ChunkIterator (const Cord *cord)
 
 ChunkIterator (cord_internal::CordRep *tree)
 
 ChunkIterator (cord_internal::CordRep *tree)
 
void InitTree (cord_internal::CordRep *tree)
 
void InitTree (cord_internal::CordRep *tree)
 
void RemoveChunkPrefix (size_t n)
 
void RemoveChunkPrefix (size_t n)
 

Private Attributes

CordRepBtreeReader btree_reader_
 
size_t bytes_remaining_ = 0
 
absl::string_view current_chunk_
 
absl::cord_internal::CordRepcurrent_leaf_ = nullptr
 
CordRepRingReader ring_reader_
 
Stack stack_of_right_children_
 

Friends

class CharIterator
 
class Cord
 

Detailed Description

Definition at line 412 of file abseil-cpp/absl/strings/cord.h.

Member Typedef Documentation

◆ CordRep [1/2]

◆ CordRep [2/2]

Definition at line 433 of file abseil-cpp/absl/strings/cord.h.

◆ CordRepBtree

Definition at line 434 of file abseil-cpp/absl/strings/cord.h.

◆ CordRepBtreeReader

Definition at line 435 of file abseil-cpp/absl/strings/cord.h.

◆ CordRepRing

◆ CordRepRingReader

◆ difference_type [1/2]

◆ difference_type [2/2]

Definition at line 416 of file abseil-cpp/absl/strings/cord.h.

◆ iterator_category [1/2]

using absl::Cord::ChunkIterator::iterator_category = std::input_iterator_tag

◆ iterator_category [2/2]

using absl::Cord::ChunkIterator::iterator_category = std::input_iterator_tag

Definition at line 414 of file abseil-cpp/absl/strings/cord.h.

◆ pointer [1/2]

◆ pointer [2/2]

Definition at line 417 of file abseil-cpp/absl/strings/cord.h.

◆ reference [1/2]

◆ reference [2/2]

Definition at line 418 of file abseil-cpp/absl/strings/cord.h.

◆ Stack

◆ value_type [1/2]

◆ value_type [2/2]

Definition at line 415 of file abseil-cpp/absl/strings/cord.h.

Constructor & Destructor Documentation

◆ ChunkIterator() [1/6]

absl::Cord::ChunkIterator::ChunkIterator ( )
default

◆ ChunkIterator() [2/6]

absl::Cord::ChunkIterator::ChunkIterator ( cord_internal::CordRep tree)
inlineexplicitprivate

Definition at line 1401 of file abseil-cpp/absl/strings/cord.h.

◆ ChunkIterator() [3/6]

absl::Cord::ChunkIterator::ChunkIterator ( const Cord cord)
inlineexplicitprivate

Definition at line 1406 of file abseil-cpp/absl/strings/cord.h.

◆ ChunkIterator() [4/6]

absl::Cord::ChunkIterator::ChunkIterator ( )
default

◆ ChunkIterator() [5/6]

absl::Cord::ChunkIterator::ChunkIterator ( cord_internal::CordRep tree)
explicitprivate

◆ ChunkIterator() [6/6]

absl::Cord::ChunkIterator::ChunkIterator ( const Cord cord)
explicitprivate

Member Function Documentation

◆ AdvanceAndReadBytes() [1/2]

Cord absl::Cord::ChunkIterator::AdvanceAndReadBytes ( size_t  n)
private

◆ AdvanceAndReadBytes() [2/2]

Cord absl::Cord::ChunkIterator::AdvanceAndReadBytes ( size_t  n)
private

Definition at line 1035 of file abseil-cpp/absl/strings/cord.cc.

◆ AdvanceBtree()

Cord::ChunkIterator & absl::Cord::ChunkIterator::AdvanceBtree ( )
inlineprivate

Definition at line 1416 of file abseil-cpp/absl/strings/cord.h.

◆ AdvanceBytes() [1/2]

void absl::Cord::ChunkIterator::AdvanceBytes ( size_t  n)
private

◆ AdvanceBytes() [2/2]

void absl::Cord::ChunkIterator::AdvanceBytes ( size_t  n)
inlineprivate

Definition at line 1482 of file abseil-cpp/absl/strings/cord.h.

◆ AdvanceBytesBtree()

void absl::Cord::ChunkIterator::AdvanceBytesBtree ( size_t  n)
inlineprivate

Definition at line 1421 of file abseil-cpp/absl/strings/cord.h.

◆ AdvanceBytesRing()

void absl::Cord::ChunkIterator::AdvanceBytesRing ( size_t  n)
inlineprivate

◆ AdvanceBytesSlowPath()

void absl::Cord::ChunkIterator::AdvanceBytesSlowPath ( size_t  n)
private

◆ AdvanceRing()

Cord::ChunkIterator & absl::Cord::ChunkIterator::AdvanceRing ( )
inlineprivate

◆ AdvanceStack()

Cord::ChunkIterator & absl::Cord::ChunkIterator::AdvanceStack ( )
private

◆ InitTree() [1/2]

void absl::Cord::ChunkIterator::InitTree ( cord_internal::CordRep tree)
private

◆ InitTree() [2/2]

void absl::Cord::ChunkIterator::InitTree ( cord_internal::CordRep tree)
inlineprivate

Definition at line 1391 of file abseil-cpp/absl/strings/cord.h.

◆ operator!=() [1/2]

bool absl::Cord::ChunkIterator::operator!= ( const ChunkIterator other) const

◆ operator!=() [2/2]

bool absl::Cord::ChunkIterator::operator!= ( const ChunkIterator other) const
inline

Definition at line 1462 of file abseil-cpp/absl/strings/cord.h.

◆ operator*() [1/2]

reference absl::Cord::ChunkIterator::operator* ( ) const

◆ operator*() [2/2]

Cord::ChunkIterator::reference absl::Cord::ChunkIterator::operator* ( ) const
inline

Definition at line 1466 of file abseil-cpp/absl/strings/cord.h.

◆ operator++() [1/4]

ChunkIterator& absl::Cord::ChunkIterator::operator++ ( )

◆ operator++() [2/4]

Cord::ChunkIterator & absl::Cord::ChunkIterator::operator++ ( )
inline

Definition at line 1436 of file abseil-cpp/absl/strings/cord.h.

◆ operator++() [3/4]

ChunkIterator absl::Cord::ChunkIterator::operator++ ( int  )

◆ operator++() [4/4]

Cord::ChunkIterator absl::Cord::ChunkIterator::operator++ ( int  )
inline

Definition at line 1452 of file abseil-cpp/absl/strings/cord.h.

◆ operator->() [1/2]

pointer absl::Cord::ChunkIterator::operator-> ( ) const

◆ operator->() [2/2]

Cord::ChunkIterator::pointer absl::Cord::ChunkIterator::operator-> ( ) const
inline

Definition at line 1471 of file abseil-cpp/absl/strings/cord.h.

◆ operator==() [1/2]

bool absl::Cord::ChunkIterator::operator== ( const ChunkIterator other) const

◆ operator==() [2/2]

bool absl::Cord::ChunkIterator::operator== ( const ChunkIterator other) const
inline

Definition at line 1458 of file abseil-cpp/absl/strings/cord.h.

◆ RemoveChunkPrefix() [1/2]

void absl::Cord::ChunkIterator::RemoveChunkPrefix ( size_t  n)
private

◆ RemoveChunkPrefix() [2/2]

void absl::Cord::ChunkIterator::RemoveChunkPrefix ( size_t  n)
inlineprivate

Definition at line 1476 of file abseil-cpp/absl/strings/cord.h.

Friends And Related Function Documentation

◆ CharIterator

CharIterator
friend

Definition at line 430 of file abseil-cpp/absl/strings/cord.h.

◆ Cord

Cord
friend

Definition at line 429 of file abseil-cpp/absl/strings/cord.h.

Member Data Documentation

◆ btree_reader_

CordRepBtreeReader absl::Cord::ChunkIterator::btree_reader_
private

Definition at line 467 of file abseil-cpp/absl/strings/cord.h.

◆ bytes_remaining_

size_t absl::Cord::ChunkIterator::bytes_remaining_ = 0
private

Definition at line 464 of file abseil-cpp/absl/strings/cord.h.

◆ current_chunk_

absl::string_view absl::Cord::ChunkIterator::current_chunk_
private

Definition at line 458 of file abseil-cpp/absl/strings/cord.h.

◆ current_leaf_

absl::cord_internal::CordRep * absl::Cord::ChunkIterator::current_leaf_ = nullptr
private

Definition at line 462 of file abseil-cpp/absl/strings/cord.h.

◆ ring_reader_

CordRepRingReader absl::Cord::ChunkIterator::ring_reader_
private

◆ stack_of_right_children_

Stack absl::Cord::ChunkIterator::stack_of_right_children_
private

The documentation for this class was generated from the following files:


grpc
Author(s):
autogenerated on Fri May 16 2025 03:02:09