LIEF: Library to Instrument Executable Formats Version 0.17.0
Loading...
Searching...
No Matches
LIEF::Object Class Referenceabstract

#include <Object.hpp>

Inherited by LIEF::ART::File, LIEF::ART::Header, LIEF::Binary, LIEF::DEX::Class, LIEF::DEX::CodeInfo, LIEF::DEX::Field, LIEF::DEX::File, LIEF::DEX::Header, LIEF::DEX::MapItem, LIEF::DEX::MapList, LIEF::DEX::Method, LIEF::DEX::Prototype, LIEF::DEX::Type, LIEF::ELF::DynamicEntry, LIEF::ELF::GnuHash, LIEF::ELF::Header, LIEF::ELF::Note, LIEF::ELF::Segment, LIEF::ELF::SymbolVersion, LIEF::ELF::SymbolVersionAux, LIEF::ELF::SymbolVersionDefinition, LIEF::ELF::SymbolVersionRequirement, LIEF::ELF::SysvHash, LIEF::Header, LIEF::MachO::BindingInfo, LIEF::MachO::BuildToolVersion, LIEF::MachO::DataCodeEntry, LIEF::MachO::ExportInfo, LIEF::MachO::Header, LIEF::MachO::LoadCommand, LIEF::OAT::Class, LIEF::OAT::DexFile, LIEF::OAT::Header, LIEF::OAT::Method, LIEF::PE::Attribute, LIEF::PE::CodeIntegrity, LIEF::PE::ContentInfo, LIEF::PE::ContentInfo::Content, LIEF::PE::DataDirectory, LIEF::PE::Debug, LIEF::PE::DelayImport, LIEF::PE::DosHeader, LIEF::PE::Export, LIEF::PE::Header, LIEF::PE::Import, LIEF::PE::LangCodeItem, LIEF::PE::LoadConfiguration, LIEF::PE::OptionalHeader, LIEF::PE::PogoEntry, LIEF::PE::Relocation, LIEF::PE::ResourceAccelerator, LIEF::PE::ResourceDialog, LIEF::PE::ResourceDialogItem, LIEF::PE::ResourceFixedFileInfo, LIEF::PE::ResourceIcon, LIEF::PE::ResourceNode, LIEF::PE::ResourceStringFileInfo, LIEF::PE::ResourceStringTable, LIEF::PE::ResourceVarFileInfo, LIEF::PE::ResourceVersion, LIEF::PE::ResourcesManager, LIEF::PE::RichEntry, LIEF::PE::RichHeader, LIEF::PE::Signature, LIEF::PE::SignerInfo, LIEF::PE::TLS, LIEF::PE::x509, LIEF::Relocation, LIEF::Section, LIEF::Symbol, LIEF::VDEX::File, and LIEF::VDEX::Header.

Public Types

template<class T >
using output_t = add_pointer_t<decay_t<T>>
 
template<class T >
using output_const_t = add_pointer_t<add_const_t<decay_t<T>>>
 

Public Member Functions

 Object ()
 
 Object (const Object &other)
 
Objectoperator= (const Object &other)
 
template<class T >
output_t< T > as ()
 
template<class T >
output_const_t< T > as () const
 
virtual bool operator== (const Object &other) const
 
virtual bool operator!= (const Object &other) const
 
virtual ~Object ()
 
virtual void accept (Visitor &visitor) const =0
 

Member Typedef Documentation

◆ output_const_t

template<class T >
using LIEF::Object::output_const_t = add_pointer_t<add_const_t<decay_t<T>>>

◆ output_t

template<class T >
using LIEF::Object::output_t = add_pointer_t<decay_t<T>>

Constructor & Destructor Documentation

◆ Object() [1/2]

LIEF::Object::Object ( )

◆ Object() [2/2]

LIEF::Object::Object ( const Object & other)

◆ ~Object()

virtual LIEF::Object::~Object ( )
virtual

Member Function Documentation

◆ accept()

virtual void LIEF::Object::accept ( Visitor & visitor) const
pure virtual

Implemented in LIEF::ART::File, LIEF::ART::Header, LIEF::Binary, LIEF::DEX::Class, LIEF::DEX::CodeInfo, LIEF::DEX::Field, LIEF::DEX::File, LIEF::DEX::Header, LIEF::DEX::MapItem, LIEF::DEX::MapList, LIEF::DEX::Method, LIEF::DEX::Prototype, LIEF::DEX::Type, LIEF::ELF::AndroidIdent, LIEF::ELF::Binary, LIEF::ELF::CoreAuxv, LIEF::ELF::CoreFile, LIEF::ELF::CorePrPsInfo, LIEF::ELF::CorePrStatus, LIEF::ELF::CoreSigInfo, LIEF::ELF::DynamicEntry, LIEF::ELF::DynamicEntryArray, LIEF::ELF::DynamicEntryFlags, LIEF::ELF::DynamicEntryLibrary, LIEF::ELF::DynamicEntryRpath, LIEF::ELF::DynamicEntryRunPath, LIEF::ELF::DynamicSharedObject, LIEF::ELF::GnuHash, LIEF::ELF::Header, LIEF::ELF::Note, LIEF::ELF::NoteAbi, LIEF::ELF::NoteGnuProperty, LIEF::ELF::QNXStack, LIEF::ELF::Relocation, LIEF::ELF::Section, LIEF::ELF::Segment, LIEF::ELF::Symbol, LIEF::ELF::SymbolVersion, LIEF::ELF::SymbolVersionAux, LIEF::ELF::SymbolVersionAuxRequirement, LIEF::ELF::SymbolVersionDefinition, LIEF::ELF::SymbolVersionRequirement, LIEF::ELF::SysvHash, LIEF::Function, LIEF::Header, LIEF::MachO::AtomInfo, LIEF::MachO::Binary, LIEF::MachO::BindingInfo, LIEF::MachO::BuildToolVersion, LIEF::MachO::BuildVersion, LIEF::MachO::ChainedBindingInfo, LIEF::MachO::CodeSignature, LIEF::MachO::CodeSignatureDir, LIEF::MachO::DataCodeEntry, LIEF::MachO::DataInCode, LIEF::MachO::DyldBindingInfo, LIEF::MachO::DyldChainedFixups, LIEF::MachO::DyldEnvironment, LIEF::MachO::DyldExportsTrie, LIEF::MachO::DyldInfo, LIEF::MachO::DylibCommand, LIEF::MachO::DylinkerCommand, LIEF::MachO::DynamicSymbolCommand, LIEF::MachO::EncryptionInfo, LIEF::MachO::ExportInfo, LIEF::MachO::FunctionStarts, LIEF::MachO::Header, LIEF::MachO::LinkerOptHint, LIEF::MachO::LoadCommand, LIEF::MachO::MainCommand, LIEF::MachO::Relocation, LIEF::MachO::RelocationDyld, LIEF::MachO::RelocationFixup, LIEF::MachO::RelocationObject, LIEF::MachO::Routine, LIEF::MachO::RPathCommand, LIEF::MachO::Section, LIEF::MachO::SegmentCommand, LIEF::MachO::SegmentSplitInfo, LIEF::MachO::SourceVersion, LIEF::MachO::SubClient, LIEF::MachO::SubFramework, LIEF::MachO::Symbol, LIEF::MachO::SymbolCommand, LIEF::MachO::ThreadCommand, LIEF::MachO::TwoLevelHints, LIEF::MachO::UnknownCommand, LIEF::MachO::UUIDCommand, LIEF::MachO::VersionMin, LIEF::OAT::Binary, LIEF::OAT::Class, LIEF::OAT::DexFile, LIEF::OAT::Header, LIEF::OAT::Method, LIEF::PE::Attribute, LIEF::PE::Binary, LIEF::PE::CodeIntegrity, LIEF::PE::CodeView, LIEF::PE::CodeViewPDB, LIEF::PE::ContentInfo, LIEF::PE::ContentType, LIEF::PE::DataDirectory, LIEF::PE::Debug, LIEF::PE::DelayImport, LIEF::PE::DelayImportEntry, LIEF::PE::DosHeader, LIEF::PE::Export, LIEF::PE::ExportEntry, LIEF::PE::GenericContent, LIEF::PE::GenericType, LIEF::PE::Header, LIEF::PE::Import, LIEF::PE::ImportEntry, LIEF::PE::LangCodeItem, LIEF::PE::LoadConfiguration, LIEF::PE::LoadConfigurationV0, LIEF::PE::LoadConfigurationV10, LIEF::PE::LoadConfigurationV11, LIEF::PE::LoadConfigurationV1, LIEF::PE::LoadConfigurationV2, LIEF::PE::LoadConfigurationV3, LIEF::PE::LoadConfigurationV4, LIEF::PE::LoadConfigurationV5, LIEF::PE::LoadConfigurationV6, LIEF::PE::LoadConfigurationV7, LIEF::PE::LoadConfigurationV8, LIEF::PE::LoadConfigurationV9, LIEF::PE::MsCounterSign, LIEF::PE::MsManifestBinaryID, LIEF::PE::MsSpcNestedSignature, LIEF::PE::MsSpcStatementType, LIEF::PE::OptionalHeader, LIEF::PE::PKCS9AtSequenceNumber, LIEF::PE::PKCS9CounterSignature, LIEF::PE::PKCS9MessageDigest, LIEF::PE::PKCS9SigningTime, LIEF::PE::PKCS9TSTInfo, LIEF::PE::Pogo, LIEF::PE::PogoEntry, LIEF::PE::Relocation, LIEF::PE::RelocationEntry, LIEF::PE::Repro, LIEF::PE::ResourceAccelerator, LIEF::PE::ResourceData, LIEF::PE::ResourceDialog, LIEF::PE::ResourceDialogItem, LIEF::PE::ResourceDirectory, LIEF::PE::ResourceFixedFileInfo, LIEF::PE::ResourceIcon, LIEF::PE::ResourceNode, LIEF::PE::ResourcesManager, LIEF::PE::ResourceStringFileInfo, LIEF::PE::ResourceStringTable, LIEF::PE::ResourceVarFileInfo, LIEF::PE::ResourceVersion, LIEF::PE::RichEntry, LIEF::PE::RichHeader, LIEF::PE::Section, LIEF::PE::Signature, LIEF::PE::SignerInfo, LIEF::PE::SigningCertificateV2, LIEF::PE::SpcIndirectData, LIEF::PE::SpcRelaxedPeMarkerCheck, LIEF::PE::SpcSpOpusInfo, LIEF::PE::Symbol, LIEF::PE::TLS, LIEF::PE::x509, LIEF::Relocation, LIEF::Section, LIEF::Symbol, LIEF::VDEX::File, and LIEF::VDEX::Header.

Referenced by LIEF::Hash::hash().

◆ as() [1/2]

template<class T >
output_t< T > LIEF::Object::as ( )

◆ as() [2/2]

template<class T >
output_const_t< T > LIEF::Object::as ( ) const

◆ operator!=()

virtual bool LIEF::Object::operator!= ( const Object & other) const
inlinevirtual

◆ operator=()

Object & LIEF::Object::operator= ( const Object & other)

◆ operator==()

virtual bool LIEF::Object::operator== ( const Object & other) const
virtual

The documentation for this class was generated from the following file: