LLVM 20.0.0git
Public Member Functions | Public Attributes | List of all members
llvm::remarks::RemarkSerializer Struct Referenceabstract

This is the base class for a remark serializer. More...

#include "llvm/Remarks/RemarkSerializer.h"

Inheritance diagram for llvm::remarks::RemarkSerializer:
Inheritance graph
[legend]

Public Member Functions

 RemarkSerializer (Format SerializerFormat, raw_ostream &OS, SerializerMode Mode)
 
virtual ~RemarkSerializer ()=default
 This is just an interface.
 
virtual void emit (const Remark &Remark)=0
 Emit a remark to the stream.
 
virtual std::unique_ptr< MetaSerializermetaSerializer (raw_ostream &OS, std::optional< StringRef > ExternalFilename=std::nullopt)=0
 Return the corresponding metadata serializer.
 

Public Attributes

Format SerializerFormat
 The format of the serializer.
 
raw_ostreamOS
 The open raw_ostream that the remark diagnostics are emitted to.
 
SerializerMode Mode
 The serialization mode.
 
std::optional< StringTableStrTab
 The string table containing all the unique strings used in the output.
 

Detailed Description

This is the base class for a remark serializer.

It includes support for using a string table while emitting.

Definition at line 42 of file RemarkSerializer.h.

Constructor & Destructor Documentation

◆ RemarkSerializer()

llvm::remarks::RemarkSerializer::RemarkSerializer ( Format  SerializerFormat,
raw_ostream OS,
SerializerMode  Mode 
)
inline

Definition at line 53 of file RemarkSerializer.h.

◆ ~RemarkSerializer()

virtual llvm::remarks::RemarkSerializer::~RemarkSerializer ( )
virtualdefault

This is just an interface.

Member Function Documentation

◆ emit()

virtual void llvm::remarks::RemarkSerializer::emit ( const Remark Remark)
pure virtual

◆ metaSerializer()

virtual std::unique_ptr< MetaSerializer > llvm::remarks::RemarkSerializer::metaSerializer ( raw_ostream OS,
std::optional< StringRef ExternalFilename = std::nullopt 
)
pure virtual

Member Data Documentation

◆ Mode

SerializerMode llvm::remarks::RemarkSerializer::Mode

◆ OS

raw_ostream& llvm::remarks::RemarkSerializer::OS

◆ SerializerFormat

Format llvm::remarks::RemarkSerializer::SerializerFormat

◆ StrTab

std::optional<StringTable> llvm::remarks::RemarkSerializer::StrTab

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