16#ifndef LIEF_PE_ATTRIBUTES_GENERIC_TYPE_H
17#define LIEF_PE_ATTRIBUTES_GENERIC_TYPE_H
47 std::unique_ptr<Attribute>
clone()
const override {
48 return std::unique_ptr<Attribute>(
new GenericType{*
this});
62 std::string
print()
const override;
74 std::vector<uint8_t> raw_;
TYPE
Definition PE/signature/Attribute.hpp:35
@ GENERIC_TYPE
Definition PE/signature/Attribute.hpp:38
virtual TYPE type() const
Concrete type of the attribute.
Definition PE/signature/Attribute.hpp:62
GenericType & operator=(const GenericType &)=default
std::unique_ptr< Attribute > clone() const override
Definition GenericType.hpp:47
~GenericType() override=default
void accept(Visitor &visitor) const override
GenericType()
Definition GenericType.hpp:36
span< const uint8_t > raw_content() const
Original DER blob of the attribute.
Definition GenericType.hpp:57
GenericType(const GenericType &)=default
GenericType(oid_t oid, std::vector< uint8_t > raw)
Definition GenericType.hpp:39
const oid_t & oid() const
OID of the original attribute.
Definition GenericType.hpp:52
friend class SignatureParser
Definition GenericType.hpp:33
std::string print() const override
Print information about the attribute.
friend class Parser
Definition GenericType.hpp:32
static bool classof(const Attribute *attr)
Definition GenericType.hpp:68
Definition VectorStream.hpp:29
Definition Visitor.hpp:210
Namespace related to the LIEF's PE module.
Definition Abstract/Header.hpp:32
std::string oid_t
Definition PE/signature/types.hpp:23
LIEF namespace.
Definition Abstract/Binary.hpp:40
tcb::span< ElementType, Extent > span
Definition span.hpp:22
#define LIEF_API
Definition visibility.h:41