Thanks to visit codestin.com
Credit goes to llvm.org

LLVM 22.0.0git
llvm::remarks::BitstreamMetaSerializer Struct Reference

Serializer of metadata for bitstream remarks. More...

#include "llvm/Remarks/BitstreamRemarkSerializer.h"

Inheritance diagram for llvm::remarks::BitstreamMetaSerializer:
[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.
 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.
void emit () override
Public Member Functions inherited from llvm::remarks::MetaSerializer
 MetaSerializer (raw_ostream &OS)
virtual ~MetaSerializer ()=default
 This is just an interface.

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.
BitstreamRemarkSerializerHelperHelper = nullptr
 The actual helper, that can point to TmpHelper or to an external helper object.
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.

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 ExternalFilename, Helper, llvm::remarks::MetaSerializer::MetaSerializer(), llvm::remarks::MetaSerializer::OS, StrTab, 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.

References ExternalFilename, Helper, llvm::remarks::MetaSerializer::MetaSerializer(), llvm::remarks::MetaSerializer::OS, StrTab, and TmpHelper.

Member Function Documentation

◆ emit()

Member Data Documentation

◆ ExternalFilename

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

◆ 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(), BitstreamMetaSerializer(), and emit().

◆ StrTab

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

◆ 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(), and BitstreamMetaSerializer().


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