15#ifndef LIEF_DWARF_PARAMETER_H
16#define LIEF_DWARF_PARAMETER_H
56 std::unique_ptr<Type>
type()
const;
60 if (T::classof(
this)) {
61 return static_cast<const T*
>(
this);
69 std::unique_ptr<Parameter>
create(std::unique_ptr<details::Parameter> impl);
72 Parameter(std::unique_ptr<details::Parameter> impl);
73 std::unique_ptr<details::Parameter> impl_;
std::string name() const
Name of the parameter.
Parameter(Parameter &&other)
Parameter & operator=(Parameter &&other)
KIND
Definition Parameter.hpp:38
@ TEMPLATE_VALUE
DW_TAG_template_value_parameter.
Definition Parameter.hpp:41
@ TEMPLATE_TYPE
DW_TAG_template_type_parameter.
Definition Parameter.hpp:40
@ UNKNOWN
Definition Parameter.hpp:39
@ FORMAL
DW_TAG_formal_parameter.
Definition Parameter.hpp:42
static std::unique_ptr< Parameter > create(std::unique_ptr< details::Parameter > impl)
std::unique_ptr< Type > type() const
Type of this parameter.
Parameter(const Parameter &)=delete
const T * as() const
Definition Parameter.hpp:59
Parameter & operator=(const Parameter &)=delete
This class represents a DWARF Type which includes:
Definition DWARF/Type.hpp:64
This class represents a template type parameter.
Definition Parameter.hpp:132
~TemplateType() override=default
static bool classof(const Parameter *P)
Definition Parameter.hpp:135
This class represents a template value parameter.
Definition Parameter.hpp:112
~TemplateValue() override=default
static bool classof(const Parameter *P)
Definition Parameter.hpp:115
Definition DWARF/CompilationUnit.hpp:30
Definition Parameter.hpp:76
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
#define LIEF_LOCAL
Definition visibility.h:42