LLVM  10.0.0svn
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, Optional< const StringTable *> StrTab=None, Optional< StringRef > ExternalFilename=None)
 Create a new meta serializer based on ContainerType. More...
 
 BitstreamMetaSerializer (raw_ostream &OS, BitstreamRemarkSerializerHelper &Helper, Optional< const StringTable *> StrTab=None, Optional< StringRef > ExternalFilename=None)
 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

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...
 
Optional< const StringTable * > StrTab
 
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 158 of file BitstreamRemarkSerializer.h.

Constructor & Destructor Documentation

◆ BitstreamMetaSerializer() [1/2]

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

Create a new meta serializer based on ContainerType.

Definition at line 172 of file BitstreamRemarkSerializer.h.

References llvm::Optional< T >::emplace(), and llvm::None.

◆ BitstreamMetaSerializer() [2/2]

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

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

Definition at line 183 of file BitstreamRemarkSerializer.h.

References llvm::None.

Member Function Documentation

◆ emit()

void BitstreamMetaSerializer::emit ( )
overridevirtual

Member Data Documentation

◆ ExternalFilename

Optional<StringRef> llvm::remarks::BitstreamMetaSerializer::ExternalFilename

Definition at line 169 of file BitstreamRemarkSerializer.h.

◆ Helper

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

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

Definition at line 166 of file BitstreamRemarkSerializer.h.

◆ StrTab

Optional<const StringTable *> llvm::remarks::BitstreamMetaSerializer::StrTab

Definition at line 168 of file BitstreamRemarkSerializer.h.

◆ TmpHelper

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 163 of file BitstreamRemarkSerializer.h.


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