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

◆ VolatileMetadata() [3/3]

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

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

◆ access_table_size()

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

◆ clone()

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

◆ 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

◆ 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

◆ 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

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

◆ 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

◆ to_string()

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

Referenced by operator<<.


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