retdec
include
retdec
llvmir2hll
support
metadatable.h
Go to the documentation of this file.
1
7
#ifndef RETDEC_LLVMIR2HLL_SUPPORT_METADATABLE_H
8
#define RETDEC_LLVMIR2HLL_SUPPORT_METADATABLE_H
9
10
namespace
retdec
{
11
namespace
llvmir2hll
{
12
18
template
<
typename
T>
19
class
Metadatable
{
20
public
:
26
void
setMetadata
(T
data
) {
27
this->data =
data
;
28
}
29
33
T
getMetadata
()
const
{
34
return
data
;
35
}
36
40
bool
hasMetadata
()
const
{
41
return
!
data
.empty();
42
}
43
44
protected
:
48
Metadatable
():
data
() {}
49
50
private
:
52
T
data
;
53
};
54
55
}
// namespace llvmir2hll
56
}
// namespace retdec
57
58
#endif
retdec::llvmir2hll::Metadatable
A mixin providing metadata attached to objects.
Definition:
metadatable.h:19
retdec::llvmir2hll::Metadatable::hasMetadata
bool hasMetadata() const
Are there any non-empty metadata?
Definition:
metadatable.h:40
retdec::llvmir2hll::Metadatable::data
T data
Attached metadata.
Definition:
metadatable.h:52
retdec::llvmir2hll::Metadatable::setMetadata
void setMetadata(T data)
Attaches new metadata.
Definition:
metadatable.h:26
retdec::llvmir2hll::Metadatable::Metadatable
Metadatable()
Constructs a new metadatable object.
Definition:
metadatable.h:48
retdec::llvmir2hll::Metadatable::getMetadata
T getMetadata() const
Returns the attached metadata.
Definition:
metadatable.h:33
llvmir2hll
A library providing API for working with back-end IR.
retdec
Definition:
archive_wrapper.h:19
Generated on Tue Aug 8 2023 10:45:49 for retdec by
1.9.1