LIEF: Library to Instrument Executable Formats Version 0.17.0
Loading...
Searching...
No Matches
LIEF::PE::VolatileMetadata Class Reference

This class represents volatile metadata which can be enabled at link time with /volatileMetadata. More...

#include <VolatileMetadata.hpp>

Classes

struct  range_t

Public Types

using access_table_t = std::vector<uint32_t>
using info_ranges_t = std::vector<range_t>
using it_info_ranges_t = ref_iterator<info_ranges_t&>
using it_const_info_ranges_t = const_ref_iterator<const info_ranges_t&>

Public Member Functions

 VolatileMetadata ()=default
 VolatileMetadata (const VolatileMetadata &)=default
VolatileMetadataoperator= (const VolatileMetadata &)=default
 VolatileMetadata (VolatileMetadata &&)=default
VolatileMetadataoperator= (VolatileMetadata &&)=default
std::unique_ptr< VolatileMetadataclone () const
uint32_t size () const
 Size (in bytes) of the current raw structure.
uint16_t min_version () const
uint16_t max_version () const
uint32_t access_table_rva () const
const access_table_taccess_table () const
uint32_t access_table_size () const
uint32_t info_range_rva () const
uint32_t info_ranges_size () const
it_const_info_ranges_t info_ranges () const
it_info_ranges_t info_ranges ()
VolatileMetadatasize (uint32_t value)
VolatileMetadatamin_version (uint16_t min)
VolatileMetadatamax_version (uint16_t max)
VolatileMetadataaccess_table_rva (uint32_t value)
VolatileMetadatainfo_range_rva (uint32_t value)
std::string to_string () const

Detailed Description

This class represents volatile metadata which can be enabled at link time with /volatileMetadata.

This metadata aims to improve performances when running x64 code on ARM64.

Member Typedef Documentation

◆ access_table_t

using LIEF::PE::VolatileMetadata::access_table_t = std::vector<uint32_t>

◆ info_ranges_t

◆ it_const_info_ranges_t

◆ it_info_ranges_t

Constructor & Destructor Documentation

◆ VolatileMetadata() [1/3]

LIEF::PE::VolatileMetadata::VolatileMetadata ( )
default

◆ VolatileMetadata() [2/3]

LIEF::PE::VolatileMetadata::VolatileMetadata ( const VolatileMetadata & )
default

References VolatileMetadata().

◆ VolatileMetadata() [3/3]

LIEF::PE::VolatileMetadata::VolatileMetadata ( VolatileMetadata && )
default

References VolatileMetadata().

Member Function Documentation

◆ access_table()

const access_table_t & LIEF::PE::VolatileMetadata::access_table ( ) const
inline

◆ access_table_rva() [1/2]

uint32_t LIEF::PE::VolatileMetadata::access_table_rva ( ) const
inline

◆ access_table_rva() [2/2]

VolatileMetadata & LIEF::PE::VolatileMetadata::access_table_rva ( uint32_t value)
inline

References VolatileMetadata().

◆ access_table_size()

uint32_t LIEF::PE::VolatileMetadata::access_table_size ( ) const
inline

◆ clone()

std::unique_ptr< VolatileMetadata > LIEF::PE::VolatileMetadata::clone ( ) const
inline

References VolatileMetadata().

◆ info_range_rva() [1/2]

uint32_t LIEF::PE::VolatileMetadata::info_range_rva ( ) const
inline

◆ info_range_rva() [2/2]

VolatileMetadata & LIEF::PE::VolatileMetadata::info_range_rva ( uint32_t value)
inline

References VolatileMetadata().

◆ info_ranges() [1/2]

it_info_ranges_t LIEF::PE::VolatileMetadata::info_ranges ( )
inline

◆ info_ranges() [2/2]

it_const_info_ranges_t LIEF::PE::VolatileMetadata::info_ranges ( ) const
inline

◆ info_ranges_size()

uint32_t LIEF::PE::VolatileMetadata::info_ranges_size ( ) const
inline

◆ max_version() [1/2]

uint16_t LIEF::PE::VolatileMetadata::max_version ( ) const
inline

◆ max_version() [2/2]

VolatileMetadata & LIEF::PE::VolatileMetadata::max_version ( uint16_t max)
inline

References VolatileMetadata().

◆ min_version() [1/2]

uint16_t LIEF::PE::VolatileMetadata::min_version ( ) const
inline

◆ min_version() [2/2]

VolatileMetadata & LIEF::PE::VolatileMetadata::min_version ( uint16_t min)
inline

References VolatileMetadata().

◆ operator=() [1/2]

VolatileMetadata & LIEF::PE::VolatileMetadata::operator= ( const VolatileMetadata & )
default

References VolatileMetadata().

◆ operator=() [2/2]

VolatileMetadata & LIEF::PE::VolatileMetadata::operator= ( VolatileMetadata && )
default

References VolatileMetadata().

◆ size() [1/2]

uint32_t LIEF::PE::VolatileMetadata::size ( ) const
inline

Size (in bytes) of the current raw structure.

◆ size() [2/2]

VolatileMetadata & LIEF::PE::VolatileMetadata::size ( uint32_t value)
inline

References VolatileMetadata().

◆ to_string()

std::string LIEF::PE::VolatileMetadata::to_string ( ) const

References LIEF_API.

Referenced by operator<<.


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