LLVM 24.0.0git
llvm::yaml::Output Class Reference

The Output class is used to generate a yaml document from in-memory structs and vectors. More...

#include "llvm/Support/YAMLTraits.h"

Inheritance diagram for llvm::yaml::Output:
[legend]

Public Member Functions

 Output (raw_ostream &, void *Ctxt=nullptr, int WrapColumn=70)
 ~Output () override
void setWriteDefaultValues (bool Write)
 Set whether or not to output optional values which are equal to the default value. By default, when outputting if you attempt to write a value that is equal to the default, the value gets ignored. Sometimes, it is useful to be able to see these in the resulting YAML anyway.
bool outputting () const override
bool mapTag (StringRef, bool) override
void beginMapping () override
void endMapping () override
bool preflightKey (StringRef Key, bool, bool, bool &, void *&) override
void postflightKey (void *) override
std::vector< StringRef > keys () override
void beginFlowMapping () override
void endFlowMapping () override
unsigned beginSequence () override
void endSequence () override
bool preflightElement (unsigned, void *&) override
void postflightElement (void *) override
unsigned beginFlowSequence () override
bool preflightFlowElement (unsigned, void *&) override
void postflightFlowElement (void *) override
void endFlowSequence () override
void beginEnumScalar () override
bool matchEnumScalar (StringRef, bool) override
bool matchEnumFallback () override
void endEnumScalar () override
bool beginBitSetScalar (bool &) override
bool bitSetMatch (StringRef, bool) override
void endBitSetScalar () override
void scalarString (StringRef &, QuotingType) override
void blockScalarString (StringRef &) override
void scalarTag (std::string &) override
NodeKind getNodeKind () override
void setError (const Twine &message) override
std::error_code error () override
bool canElideEmptySequence () override
void beginDocuments ()
bool preflightDocument (unsigned)
void postflightDocument ()
void endDocuments ()
Public Member Functions inherited from llvm::yaml::IO
 IO (void *Ctxt=nullptr)
virtual ~IO ()
virtual void setAllowUnknownKeys (bool Allow)
template<typename T>
void enumCase (T &Val, StringRef Str, const T ConstVal)
template<typename T>
void enumCase (T &Val, StringRef Str, const uint32_t ConstVal)
template<typename FBT, typename T>
void enumFallback (T &Val)
template<typename T>
void bitSetCase (T &Val, StringRef Str, const T ConstVal)
template<typename T>
void bitSetCase (T &Val, StringRef Str, const uint32_t ConstVal)
template<typename T>
void maskedBitSetCase (T &Val, StringRef Str, T ConstVal, T Mask)
template<typename T>
void maskedBitSetCase (T &Val, StringRef Str, uint32_t ConstVal, uint32_t Mask)
void * getContext () const
void setContext (void *)
template<typename T>
void mapRequired (StringRef Key, T &Val)
template<typename T, typename Context>
void mapRequired (StringRef Key, T &Val, Context &Ctx)
template<typename T>
void mapOptional (StringRef Key, T &Val)
template<typename T, typename DefaultT>
void mapOptional (StringRef Key, T &Val, const DefaultT &Default)
template<typename T, typename Context>
void mapOptionalWithContext (StringRef Key, T &Val, Context &Ctx)
template<typename T, typename Context>
void mapOptionalWithContext (StringRef Key, std::optional< T > &Val, Context &Ctx)
template<typename T, typename Context, typename DefaultT>
void mapOptionalWithContext (StringRef Key, T &Val, const DefaultT &Default, Context &Ctx)

Detailed Description

The Output class is used to generate a yaml document from in-memory structs and vectors.

Definition at line 1472 of file YAMLTraits.h.

Constructor & Destructor Documentation

◆ Output()

Output::Output ( raw_ostream & yout,
void * Ctxt = nullptr,
int WrapColumn = 70 )

Definition at line 516 of file YAMLTraits.cpp.

References llvm::yaml::IO::IO().

◆ ~Output()

Output::~Output ( )
overridedefault

Member Function Documentation

◆ beginBitSetScalar()

bool Output::beginBitSetScalar ( bool & DoClear)
overridevirtual

Implements llvm::yaml::IO.

Definition at line 723 of file YAMLTraits.cpp.

◆ beginDocuments()

void Output::beginDocuments ( )

Definition at line 616 of file YAMLTraits.cpp.

◆ beginEnumScalar()

void Output::beginEnumScalar ( )
overridevirtual

Implements llvm::yaml::IO.

Definition at line 698 of file YAMLTraits.cpp.

◆ beginFlowMapping()

void Output::beginFlowMapping ( )
overridevirtual

Implements llvm::yaml::IO.

Definition at line 604 of file YAMLTraits.cpp.

◆ beginFlowSequence()

unsigned Output::beginFlowSequence ( )
overridevirtual

Implements llvm::yaml::IO.

Definition at line 666 of file YAMLTraits.cpp.

◆ beginMapping()

void Output::beginMapping ( )
overridevirtual

Implements llvm::yaml::IO.

Definition at line 525 of file YAMLTraits.cpp.

◆ beginSequence()

unsigned Output::beginSequence ( )
overridevirtual

Implements llvm::yaml::IO.

Definition at line 633 of file YAMLTraits.cpp.

◆ bitSetMatch()

bool Output::bitSetMatch ( StringRef Str,
bool Matches )
overridevirtual

Implements llvm::yaml::IO.

Definition at line 731 of file YAMLTraits.cpp.

◆ blockScalarString()

◆ canElideEmptySequence()

bool Output::canElideEmptySequence ( )
overridevirtual

Implements llvm::yaml::IO.

Definition at line 832 of file YAMLTraits.cpp.

◆ endBitSetScalar()

void Output::endBitSetScalar ( )
overridevirtual

Implements llvm::yaml::IO.

Definition at line 741 of file YAMLTraits.cpp.

◆ endDocuments()

void Output::endDocuments ( )

Definition at line 629 of file YAMLTraits.cpp.

◆ endEnumScalar()

void Output::endEnumScalar ( )
overridevirtual

Implements llvm::yaml::IO.

Definition at line 718 of file YAMLTraits.cpp.

References llvm_unreachable.

◆ endFlowMapping()

void Output::endFlowMapping ( )
overridevirtual

Implements llvm::yaml::IO.

Definition at line 611 of file YAMLTraits.cpp.

◆ endFlowSequence()

void Output::endFlowSequence ( )
overridevirtual

Implements llvm::yaml::IO.

Definition at line 675 of file YAMLTraits.cpp.

◆ endMapping()

void Output::endMapping ( )
overridevirtual

Implements llvm::yaml::IO.

Definition at line 562 of file YAMLTraits.cpp.

◆ endSequence()

void Output::endSequence ( )
overridevirtual

Implements llvm::yaml::IO.

Definition at line 640 of file YAMLTraits.cpp.

◆ error()

std::error_code Output::error ( )
overridevirtual

Implements llvm::yaml::IO.

Definition at line 830 of file YAMLTraits.cpp.

◆ getNodeKind()

NodeKind Output::getNodeKind ( )
overridevirtual

Implements llvm::yaml::IO.

Definition at line 979 of file YAMLTraits.cpp.

References llvm::report_fatal_error().

◆ keys()

std::vector< StringRef > Output::keys ( )
overridevirtual

Implements llvm::yaml::IO.

Definition at line 573 of file YAMLTraits.cpp.

References llvm::report_fatal_error().

◆ mapTag()

bool Output::mapTag ( StringRef Tag,
bool Use )
overridevirtual

Implements llvm::yaml::IO.

Definition at line 531 of file YAMLTraits.cpp.

References llvm::Tag.

◆ matchEnumFallback()

bool Output::matchEnumFallback ( )
overridevirtual

Implements llvm::yaml::IO.

Definition at line 711 of file YAMLTraits.cpp.

◆ matchEnumScalar()

bool Output::matchEnumScalar ( StringRef Str,
bool Match )
overridevirtual

Implements llvm::yaml::IO.

Definition at line 702 of file YAMLTraits.cpp.

◆ outputting()

bool Output::outputting ( ) const
overridevirtual

Implements llvm::yaml::IO.

Definition at line 521 of file YAMLTraits.cpp.

◆ postflightDocument()

void Output::postflightDocument ( )

Definition at line 626 of file YAMLTraits.cpp.

◆ postflightElement()

void Output::postflightElement ( void * )
overridevirtual

Implements llvm::yaml::IO.

Definition at line 656 of file YAMLTraits.cpp.

◆ postflightFlowElement()

void Output::postflightFlowElement ( void * )
overridevirtual

Implements llvm::yaml::IO.

Definition at line 694 of file YAMLTraits.cpp.

◆ postflightKey()

void Output::postflightKey ( void * )
overridevirtual

Implements llvm::yaml::IO.

Definition at line 594 of file YAMLTraits.cpp.

◆ preflightDocument()

bool Output::preflightDocument ( unsigned index)

Definition at line 620 of file YAMLTraits.cpp.

◆ preflightElement()

bool Output::preflightElement ( unsigned ,
void *& SaveInfo )
overridevirtual

Implements llvm::yaml::IO.

Definition at line 651 of file YAMLTraits.cpp.

◆ preflightFlowElement()

bool Output::preflightFlowElement ( unsigned ,
void *& SaveInfo )
overridevirtual

Implements llvm::yaml::IO.

Definition at line 680 of file YAMLTraits.cpp.

◆ preflightKey()

bool Output::preflightKey ( StringRef Key,
bool Required,
bool SameAsDefault,
bool & UseDefault,
void *& SaveInfo )
overridevirtual

◆ scalarString()

void Output::scalarString ( StringRef & S,
QuotingType MustQuote )
overridevirtual

Implements llvm::yaml::IO.

Definition at line 745 of file YAMLTraits.cpp.

References llvm::StringRef::empty().

Referenced by blockScalarString().

◆ scalarTag()

void Output::scalarTag ( std::string & Tag)
overridevirtual

Implements llvm::yaml::IO.

Definition at line 819 of file YAMLTraits.cpp.

References llvm::Tag.

◆ setError()

void Output::setError ( const Twine & message)
overridevirtual

Implements llvm::yaml::IO.

Definition at line 827 of file YAMLTraits.cpp.

◆ setWriteDefaultValues()

void llvm::yaml::Output::setWriteDefaultValues ( bool Write)
inline

Set whether or not to output optional values which are equal to the default value. By default, when outputting if you attempt to write a value that is equal to the default, the value gets ignored. Sometimes, it is useful to be able to see these in the resulting YAML anyway.

Definition at line 1482 of file YAMLTraits.h.

References llvm::Write.


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