60 std::unique_ptr<Debug>
clone()
const override {
61 return std::unique_ptr<Debug>(
new Pogo(*
this));
78 entries_.push_back(std::move(entry));
82 return debug->
type() == Debug::TYPES::POGO;
Class that is used to rebuild a raw PE binary from a PE::Binary object.
Definition PE/Builder.hpp:45
This class represents a generic entry in the debug data directory. For known types,...
Definition debug/Debug.hpp:38
TYPES type() const
The format DEBUG_TYPES of the debugging information.
Definition debug/Debug.hpp:100
TYPES
The entry types.
Definition debug/Debug.hpp:44
Main interface to parse PE binaries. In particular the static functions: Parser::parse should be used...
Definition PE/Parser.hpp:47
Definition PogoEntry.hpp:30
This class represents a Profile Guided Optimization entry from the debug directory (IMAGE_DEBUG_TYPE_...
Definition Pogo.hpp:33
Pogo(SIGNATURES sig)
Definition Pogo.hpp:51
std::unique_ptr< Debug > clone() const override
Definition Pogo.hpp:60
std::vector< PogoEntry > entries_t
Definition Pogo.hpp:39
static bool classof(const Debug *debug)
Definition Pogo.hpp:81
SIGNATURES
Definition Pogo.hpp:43
Pogo(const Pogo &)=default
void accept(Visitor &visitor) const override
Pogo & operator=(const Pogo &)=default
it_entries entries()
An iterator over the different POGO elements.
Definition Pogo.hpp:69
it_const_entries entries() const
Definition Pogo.hpp:73
Pogo(const details::pe_debug &debug, SIGNATURES sig)
void add(PogoEntry entry)
Definition Pogo.hpp:77
friend std::ostream & operator<<(std::ostream &os, const Pogo &entry)
SIGNATURES signature() const
Definition Pogo.hpp:64
Definition Visitor.hpp:224
Iterator which returns reference on container's values.
Definition iterators.hpp:48
const char * to_string(DataDirectory::TYPES e)
LIEF namespace.
Definition Abstract/Binary.hpp:32
#define LIEF_API
Definition visibility.h:41