LLVM 18.0.0git
Public Types | Public Member Functions | List of all members
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"

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)
 
ValueToperator-> () const
 
ValueToperator* () 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 333 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 337 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 335 of file YAMLParser.h.

◆ pointer

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

Definition at line 338 of file YAMLParser.h.

◆ reference

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

Definition at line 339 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 336 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 342 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 355 of file YAMLParser.h.

References assert().

◆ 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 376 of file YAMLParser.h.

References llvm::Other.

◆ operator*()

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

Definition at line 349 of file YAMLParser.h.

References assert().

◆ operator++()

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

Definition at line 380 of file YAMLParser.h.

References assert().

◆ operator->()

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

Definition at line 344 of file YAMLParser.h.

References assert().

◆ 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 367 of file YAMLParser.h.

References assert(), and llvm::Other.


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