LLVM  14.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: More...
 
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 328 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 332 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 330 of file YAMLParser.h.

◆ pointer

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

Definition at line 333 of file YAMLParser.h.

◆ reference

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

Definition at line 334 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 331 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 337 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 350 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 371 of file YAMLParser.h.

References Other.

◆ 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 >
basic_collection_iterator& llvm::yaml::basic_collection_iterator< BaseT, ValueT >::operator++ ( )
inline

Definition at line 375 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 339 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 362 of file YAMLParser.h.

References assert(), and Other.


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