LLVM  17.0.0git
Public Member Functions | Public Attributes | List of all members
llvm::remarks::BitstreamMetaSerializer Struct Reference

Serializer of metadata for bitstream remarks. More...

#include "llvm/Remarks/BitstreamRemarkSerializer.h"

Inheritance diagram for llvm::remarks::BitstreamMetaSerializer:
Inheritance graph
[legend]
Collaboration diagram for llvm::remarks::BitstreamMetaSerializer:
Collaboration graph
[legend]

Public Member Functions

 BitstreamMetaSerializer (raw_ostream &OS, BitstreamRemarkContainerType ContainerType, std::optional< const StringTable * > StrTab=std::nullopt, std::optional< StringRef > ExternalFilename=std::nullopt)
 Create a new meta serializer based on ContainerType. More...
 
 BitstreamMetaSerializer (raw_ostream &OS, BitstreamRemarkSerializerHelper &Helper, std::optional< const StringTable * > StrTab=std::nullopt, std::optional< StringRef > ExternalFilename=std::nullopt)
 Create a new meta serializer based on a previously built Helper. More...
 
void emit () override
 
- Public Member Functions inherited from llvm::remarks::MetaSerializer
 MetaSerializer (raw_ostream &OS)
 
virtual ~MetaSerializer ()=default
 This is just an interface. More...
 

Public Attributes

std::optional< BitstreamRemarkSerializerHelperTmpHelper
 This class can be used with [1] a pre-constructed BitstreamRemarkSerializerHelper, or with [2] one that is owned by the meta serializer. More...
 
BitstreamRemarkSerializerHelperHelper = nullptr
 The actual helper, that can point to TmpHelper or to an external helper object. More...
 
std::optional< const StringTable * > StrTab
 
std::optional< StringRefExternalFilename
 
- Public Attributes inherited from llvm::remarks::MetaSerializer
raw_ostreamOS
 The open raw_ostream that the metadata is emitted to. More...
 

Detailed Description

Serializer of metadata for bitstream remarks.

Definition at line 160 of file BitstreamRemarkSerializer.h.

Constructor & Destructor Documentation

◆ BitstreamMetaSerializer() [1/2]

llvm::remarks::BitstreamMetaSerializer::BitstreamMetaSerializer ( raw_ostream OS,
BitstreamRemarkContainerType  ContainerType,
std::optional< const StringTable * >  StrTab = std::nullopt,
std::optional< StringRef ExternalFilename = std::nullopt 
)
inline

Create a new meta serializer based on ContainerType.

Definition at line 174 of file BitstreamRemarkSerializer.h.

References Helper, and TmpHelper.

◆ BitstreamMetaSerializer() [2/2]

llvm::remarks::BitstreamMetaSerializer::BitstreamMetaSerializer ( raw_ostream OS,
BitstreamRemarkSerializerHelper Helper,
std::optional< const StringTable * >  StrTab = std::nullopt,
std::optional< StringRef ExternalFilename = std::nullopt 
)
inline

Create a new meta serializer based on a previously built Helper.

Definition at line 185 of file BitstreamRemarkSerializer.h.

Member Function Documentation

◆ emit()

void BitstreamMetaSerializer::emit ( )
overridevirtual

Member Data Documentation

◆ ExternalFilename

std::optional<StringRef> llvm::remarks::BitstreamMetaSerializer::ExternalFilename

Definition at line 171 of file BitstreamRemarkSerializer.h.

Referenced by emit().

◆ Helper

BitstreamRemarkSerializerHelper* llvm::remarks::BitstreamMetaSerializer::Helper = nullptr

The actual helper, that can point to TmpHelper or to an external helper object.

Definition at line 168 of file BitstreamRemarkSerializer.h.

Referenced by BitstreamMetaSerializer(), and emit().

◆ StrTab

std::optional<const StringTable *> llvm::remarks::BitstreamMetaSerializer::StrTab

Definition at line 170 of file BitstreamRemarkSerializer.h.

Referenced by emit().

◆ TmpHelper

std::optional<BitstreamRemarkSerializerHelper> llvm::remarks::BitstreamMetaSerializer::TmpHelper

This class can be used with [1] a pre-constructed BitstreamRemarkSerializerHelper, or with [2] one that is owned by the meta serializer.

In case of [1], we need to be able to store a reference to the object, while in case of [2] we need to store the whole object.

Definition at line 165 of file BitstreamRemarkSerializer.h.

Referenced by BitstreamMetaSerializer().


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