15#ifndef LIEF_DWARF_EDITOR_STRUCT_TYPE_H
16#define LIEF_DWARF_EDITOR_STRUCT_TYPE_H
41 enum class TYPE : uint32_t {
51 Member(std::unique_ptr<details::StructMember> impl);
55 std::unique_ptr<details::StructMember> impl_;
65 std::unique_ptr<Member>
add_member(
const std::string& name,
const Type& type,
Member(std::unique_ptr< details::StructMember > impl)
This class represents a struct-like type which can be:
Definition StructType.hpp:37
TYPE
Definition StructType.hpp:41
@ STRUCT
Discriminant for DW_TAG_class_type.
Definition StructType.hpp:43
@ CLASS
Definition StructType.hpp:42
@ UNION
Discriminant for DW_TAG_structure_type.
Definition StructType.hpp:44
~StructType() override=default
std::unique_ptr< Member > add_member(const std::string &name, const Type &type, int64_t offset=-1)
Add a member to the current struct-like.
static bool classof(const Type *type)
StructType & set_size(uint64_t size)
Define the overall size which is equivalent to the sizeof of the current type.
Definition DWARF/editor/CompilationUnit.hpp:36
Namespace for the DWARF debug format.
Definition DWARF/CompilationUnit.hpp:28
LIEF namespace.
Definition Abstract/Binary.hpp:40
#define LIEF_API
Definition visibility.h:41