LLVM
20.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 <vector>
14
15
namespace
llvm
{
16
namespace
codeview {
17
class
FieldListRecord;
18
19
class
SimpleTypeSerializer
{
20
std::vector<uint8_t> ScratchBuffer;
21
22
public
:
23
SimpleTypeSerializer
();
24
~SimpleTypeSerializer
();
25
26
// This template is explicitly instantiated in the implementation file for all
27
// supported types. The method itself is ugly, so inlining it into the header
28
// file clutters an otherwise straightforward interface.
29
template
<
typename
T>
ArrayRef<uint8_t>
serialize
(
T
&
Record
);
30
31
// Don't allow serialization of field list records using this interface.
32
ArrayRef<uint8_t>
serialize
(
const
FieldListRecord
&
Record
) =
delete
;
33
};
34
35
}
// end namespace codeview
36
}
// end namespace llvm
37
38
#endif
// LLVM_DEBUGINFO_CODEVIEW_SIMPLETYPESERIALIZER_H
ArrayRef.h
T
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:1650
llvm::codeview::FieldListRecord
Definition:
TypeRecord.h:385
llvm::codeview::SimpleTypeSerializer
Definition:
SimpleTypeSerializer.h:19
llvm::codeview::SimpleTypeSerializer::SimpleTypeSerializer
SimpleTypeSerializer()
Definition:
SimpleTypeSerializer.cpp:31
llvm::codeview::SimpleTypeSerializer::serialize
ArrayRef< uint8_t > serialize(const FieldListRecord &Record)=delete
llvm::codeview::SimpleTypeSerializer::~SimpleTypeSerializer
~SimpleTypeSerializer()
llvm::codeview::SimpleTypeSerializer::serialize
ArrayRef< uint8_t > serialize(T &Record)
Definition:
SimpleTypeSerializer.cpp:36
llvm
This is an optimization pass for GlobalISel generic memory operations.
Definition:
AddressRanges.h:18
Generated on Sat Dec 21 2024 20:46:47 for LLVM by
1.9.6