LIEF: Library to Instrument Executable Formats Version 0.17.0
|
This class represents the StringTable
structure. This structure can be seen as a dictionary of key, values with key and values defined a utf-16 string.
More...
#include <ResourceStringTable.hpp>
Classes | |
struct | entry_t |
An entry in this table which is composed of an UTF-16 key and an UTF-16 value. More... | |
Public Types | |
using | entries_t = std::vector<entry_t> |
using | it_entries = ref_iterator<entries_t&> |
using | it_const_entries = const_ref_iterator<const entries_t&> |
![]() | |
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 | |
ResourceStringTable ()=default | |
ResourceStringTable (const ResourceStringTable &)=default | |
ResourceStringTable & | operator= (const ResourceStringTable &)=default |
ResourceStringTable (ResourceStringTable &&)=default | |
ResourceStringTable & | operator= (ResourceStringTable &&)=default |
~ResourceStringTable () override=default | |
const std::u16string & | key () const |
An 8-digit hexadecimal number stored as a Unicode string. The four most significant digits represent the language identifier. The four least significant digits represent the code page for which the data is formatted. Each Microsoft Standard Language identifier contains two parts: the low-order 10 bits specify the major language, and the high-order 6 bits specify the sublanguage. | |
uint16_t | type () const |
The type of data in the version resource: | |
std::string | key_u8 () const |
The key as an utf8 string. | |
it_entries | entries () |
Iterator over the different entry_t element of this table. | |
it_const_entries | entries () const |
optional< std::u16string > | get (const std::u16string &key) const |
optional< std::string > | get (const std::string &key) const |
ResourceStringTable & | key (std::u16string value) |
ResourceStringTable & | type (uint16_t value) |
void | add_entry (entry_t entry) |
void | add_entry (std::u16string key, std::u16string value) |
void | accept (Visitor &visitor) const override |
optional< std::string > | operator[] (const std::string &str) const |
optional< std::u16string > | operator[] (const std::u16string &str) const |
![]() | |
Object () | |
Object (const Object &other) | |
Object & | operator= (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 () |
Static Public Member Functions | |
static result< ResourceStringTable > | parse (BinaryStream &stream) |
This class represents the StringTable
structure. This structure can be seen as a dictionary of key, values with key and values defined a utf-16 string.
using LIEF::PE::ResourceStringTable::entries_t = std::vector<entry_t> |
|
default |
|
default |
|
default |
|
overridedefault |
|
overridevirtual |
Implements LIEF::Object.
|
inline |
|
inline |
|
inline |
Iterator over the different entry_t element of this table.
|
inline |
optional< std::string > LIEF::PE::ResourceStringTable::get | ( | const std::string & | key | ) | const |
|
inline |
References LIEF::nullopt().
|
inline |
An 8-digit hexadecimal number stored as a Unicode string. The four most significant digits represent the language identifier. The four least significant digits represent the code page for which the data is formatted. Each Microsoft Standard Language identifier contains two parts: the low-order 10 bits specify the major language, and the high-order 6 bits specify the sublanguage.
|
inline |
std::string LIEF::PE::ResourceStringTable::key_u8 | ( | ) | const |
The key as an utf8 string.
|
default |
|
default |
|
inline |
|
inline |
|
static |
|
inline |
The type of data in the version resource:
1
if it contains text data0
if it contains binary
|
inline |