mini-llvm
0.1.0
Toggle main menu visibility
Loading...
Searching...
No Matches
StringDirective.h
Go to the documentation of this file.
1
// SPDX-License-Identifier: MIT
2
3
#pragma once
4
5
#include <cstdint>
6
#include <string>
7
#include <utility>
8
#include <vector>
9
10
#include "
mini-llvm/mc/Directive.h
"
11
#include "
mini-llvm/utils/Compiler.h
"
12
13
namespace
mini_llvm::mc
{
14
15
class
MINI_LLVM_EXPORT
StringDirective
final :
public
Directive
{
16
public
:
17
explicit
StringDirective
(std::vector<int8_t>
elements
)
18
: elements_(std::move(
elements
)) {}
19
20
std::vector<int8_t> &
elements
() & {
21
return
elements_;
22
}
23
24
const
std::vector<int8_t> &
elements
() const & {
25
return
elements_;
26
}
27
28
std::vector<int8_t> &&
elements
() && {
29
return
std::move(elements_);
30
}
31
32
void
setElements
(std::vector<int8_t>
elements
) {
33
elements_ = std::move(
elements
);
34
}
35
36
std::string
format
()
const override
;
37
38
private
:
39
std::vector<int8_t> elements_;
40
};
41
42
}
// namespace mini_llvm::mc
Compiler.h
MINI_LLVM_EXPORT
#define MINI_LLVM_EXPORT
Definition
Compiler.h:17
Directive.h
mini_llvm::mc::Directive
Definition
Directive.h:10
mini_llvm::mc::StringDirective::elements
const std::vector< int8_t > & elements() const &
Definition
StringDirective.h:24
mini_llvm::mc::StringDirective::setElements
void setElements(std::vector< int8_t > elements)
Definition
StringDirective.h:32
mini_llvm::mc::StringDirective::elements
std::vector< int8_t > & elements() &
Definition
StringDirective.h:20
mini_llvm::mc::StringDirective::format
std::string format() const override
mini_llvm::mc::StringDirective::elements
std::vector< int8_t > && elements() &&
Definition
StringDirective.h:28
mini_llvm::mc::StringDirective::StringDirective
StringDirective(std::vector< int8_t > elements)
Definition
StringDirective.h:17
mini_llvm::mc
Definition
Directive.h:8
include
mini-llvm
mc
StringDirective.h
Generated by
1.17.0