LLVM 22.0.0git
llvm::yaml::basic_collection_iterator< BaseT, ValueT > Class Template Reference

This is an iterator abstraction over YAML collections shared by both sequences and maps. More...

#include "llvm/Support/YAMLParser.h"

Inheritance diagram for llvm::yaml::basic_collection_iterator< BaseT, ValueT >:
[legend]

Public Types

using iterator_category = std::input_iterator_tag
using value_type = ValueT
using difference_type = std::ptrdiff_t
using pointer = value_type *
using reference = value_type &

Public Member Functions

 basic_collection_iterator ()=default
 basic_collection_iterator (BaseT *B)
ValueT * operator-> () const
ValueT & operator* () const
 operator ValueT * () const
bool operator== (const basic_collection_iterator &Other) const
 Note on EqualityComparable:
bool operator!= (const basic_collection_iterator &Other) const
basic_collection_iteratoroperator++ ()

Detailed Description

template<class BaseT, class ValueT>
class llvm::yaml::basic_collection_iterator< BaseT, ValueT >

This is an iterator abstraction over YAML collections shared by both sequences and maps.

BaseT must have a ValueT* member named CurrentEntry and a member function increment() which must set CurrentEntry to 0 to create an end iterator.

Definition at line 335 of file YAMLParser.h.

Member Typedef Documentation

◆ difference_type

template<class BaseT, class ValueT>
using llvm::yaml::basic_collection_iterator< BaseT, ValueT >::difference_type = std::ptrdiff_t

Definition at line 339 of file YAMLParser.h.

◆ iterator_category

template<class BaseT, class ValueT>
using llvm::yaml::basic_collection_iterator< BaseT, ValueT >::iterator_category = std::input_iterator_tag

Definition at line 337 of file YAMLParser.h.

◆ pointer

template<class BaseT, class ValueT>
using llvm::yaml::basic_collection_iterator< BaseT, ValueT >::pointer = value_type *

Definition at line 340 of file YAMLParser.h.

◆ reference

template<class BaseT, class ValueT>
using llvm::yaml::basic_collection_iterator< BaseT, ValueT >::reference = value_type &

Definition at line 341 of file YAMLParser.h.

◆ value_type

template<class BaseT, class ValueT>
using llvm::yaml::basic_collection_iterator< BaseT, ValueT >::value_type = ValueT

Definition at line 338 of file YAMLParser.h.

Constructor & Destructor Documentation

◆ basic_collection_iterator() [1/2]

template<class BaseT, class ValueT>
llvm::yaml::basic_collection_iterator< BaseT, ValueT >::basic_collection_iterator ( )
default

◆ basic_collection_iterator() [2/2]

template<class BaseT, class ValueT>
llvm::yaml::basic_collection_iterator< BaseT, ValueT >::basic_collection_iterator ( BaseT * B)
inline

Definition at line 344 of file YAMLParser.h.

Member Function Documentation

◆ operator ValueT *()

template<class BaseT, class ValueT>
llvm::yaml::basic_collection_iterator< BaseT, ValueT >::operator ValueT * ( ) const
inline

Definition at line 357 of file YAMLParser.h.

◆ operator!=()

template<class BaseT, class ValueT>
bool llvm::yaml::basic_collection_iterator< BaseT, ValueT >::operator!= ( const basic_collection_iterator< BaseT, ValueT > & Other) const
inline

Definition at line 378 of file YAMLParser.h.

◆ operator*()

template<class BaseT, class ValueT>
ValueT & llvm::yaml::basic_collection_iterator< BaseT, ValueT >::operator* ( ) const
inline

Definition at line 351 of file YAMLParser.h.

◆ operator++()

template<class BaseT, class ValueT>
basic_collection_iterator & llvm::yaml::basic_collection_iterator< BaseT, ValueT >::operator++ ( )
inline

Definition at line 382 of file YAMLParser.h.

◆ operator->()

template<class BaseT, class ValueT>
ValueT * llvm::yaml::basic_collection_iterator< BaseT, ValueT >::operator-> ( ) const
inline

Definition at line 346 of file YAMLParser.h.

◆ operator==()

template<class BaseT, class ValueT>
bool llvm::yaml::basic_collection_iterator< BaseT, ValueT >::operator== ( const basic_collection_iterator< BaseT, ValueT > & Other) const
inline

Note on EqualityComparable:

The iterator is not re-entrant, it is meant to be used for parsing YAML on-demand Once iteration started - it can point only to one entry at a time hence Base.CurrentEntry and Other.Base.CurrentEntry are equal iff Base and Other.Base are equal.

Definition at line 369 of file YAMLParser.h.


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