16#ifndef LIEF_PE_DEBUG_CODE_VIEW_H
17#define LIEF_PE_DEBUG_CODE_VIEW_H
18#include "LIEF/PE/debug/Debug.hpp"
45 CodeView(SIGNATURES sig) :
46 Debug{Debug::TYPES::CODEVIEW},
50 CodeView(
const details::pe_debug& debug, SIGNATURES sig);
52 CodeView(
const CodeView& other) =
default;
53 CodeView& operator=(
const CodeView& other) =
default;
55 ~CodeView()
override =
default;
62 std::unique_ptr<Debug> clone()
const override {
63 return std::unique_ptr<Debug>(
new CodeView(*
this));
66 static bool classof(
const Debug* debug) {
67 return debug->type() == Debug::TYPES::CODEVIEW;
70 void accept(Visitor& visitor)
const override;
71 LIEF_API
friend std::ostream& operator<<(std::ostream& os,
const CodeView& entry);
74 SIGNATURES sig_ = SIGNATURES::UNKNOWN;
Class that is used to rebuild a raw PE binary from a PE::Binary object.
Definition PE/Builder.hpp:45
Interface for the (generic) Debug CodeView (IMAGE_DEBUG_TYPE_CODEVIEW)
Definition CodeView.hpp:26
SIGNATURES signature() const
The signature that defines the underlying type of the payload.
Definition CodeView.hpp:58
SIGNATURES
Code view signatures.
Definition CodeView.hpp:33
This class represents a generic entry in the debug data directory. For known types,...
Definition debug/Debug.hpp:38
Main interface to parse PE binaries. In particular the static functions: Parser::parse should be used...
Definition PE/Parser.hpp:47
LIEF namespace.
Definition Abstract/Binary.hpp:31