LLVM
22.0.0git
include
llvm
DebugInfo
CodeView
SimpleTypeSerializer.h
Go to the documentation of this file.
1
//===- SimpleTypeSerializer.h -----------------------------------*- C++ -*-===//
2
//
3
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4
// See https://llvm.org/LICENSE.txt for license information.
5
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
//
7
//===----------------------------------------------------------------------===//
8
9
#ifndef LLVM_DEBUGINFO_CODEVIEW_SIMPLETYPESERIALIZER_H
10
#define LLVM_DEBUGINFO_CODEVIEW_SIMPLETYPESERIALIZER_H
11
12
#include "
llvm/ADT/ArrayRef.h
"
13
#include "
llvm/Support/Compiler.h
"
14
#include <vector>
15
16
namespace
llvm
{
17
namespace
codeview
{
18
class
FieldListRecord
;
19
20
class
SimpleTypeSerializer
{
21
std::vector<uint8_t> ScratchBuffer;
22
23
public
:
24
LLVM_ABI
SimpleTypeSerializer
();
25
LLVM_ABI
~SimpleTypeSerializer
();
26
27
// This template is explicitly instantiated in the implementation file for all
28
// supported types. The method itself is ugly, so inlining it into the header
29
// file clutters an otherwise straightforward interface.
30
template
<
typename
T>
ArrayRef<uint8_t>
serialize
(
T
&
Record
);
31
32
// Don't allow serialization of field list records using this interface.
33
ArrayRef<uint8_t>
serialize
(
const
FieldListRecord
&
Record
) =
delete
;
34
};
35
36
}
// end namespace codeview
37
}
// end namespace llvm
38
39
#endif
// LLVM_DEBUGINFO_CODEVIEW_SIMPLETYPESERIALIZER_H
ArrayRef.h
Compiler.h
LLVM_ABI
#define LLVM_ABI
Definition
Compiler.h:213
T
#define T
Definition
Mips16ISelLowering.cpp:353
llvm::ArrayRef
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...
Definition
ArrayRef.h:41
llvm::Record
Definition
Record.h:1629
llvm::codeview::FieldListRecord
Definition
TypeRecord.h:385
llvm::codeview::SimpleTypeSerializer::SimpleTypeSerializer
LLVM_ABI SimpleTypeSerializer()
Definition
SimpleTypeSerializer.cpp:32
llvm::codeview::SimpleTypeSerializer::serialize
ArrayRef< uint8_t > serialize(const FieldListRecord &Record)=delete
llvm::codeview::SimpleTypeSerializer::~SimpleTypeSerializer
LLVM_ABI ~SimpleTypeSerializer()
llvm::codeview::SimpleTypeSerializer::serialize
ArrayRef< uint8_t > serialize(T &Record)
Definition
SimpleTypeSerializer.cpp:37
llvm::codeview
Definition
AppendingTypeTableBuilder.h:23
llvm
This is an optimization pass for GlobalISel generic memory operations.
Definition
AddressRanges.h:18
Generated on
for LLVM by
1.14.0