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&> |
Public Types inherited from LIEF::Object | |
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 |
Public Member Functions inherited from LIEF::Object | |
Object () | |
Object (const Object &other) | |
Object & | operator= (const Object &other) |
Object (Object &&other) noexcept=default | |
Object & | operator= (Object &&other) noexcept=default |
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 |
Referenced by key(), operator<<, operator=(), operator=(), ResourceStringTable(), ResourceStringTable(), and type().
|
default |
References ResourceStringTable().
|
default |
References ResourceStringTable().
|
overridedefault |
|
overridevirtual |
Implements LIEF::Object.
|
inline |
|
inline |
References key().
|
inline |
Iterator over the different entry_t element of this table.
|
inline |
optional< std::string > LIEF::PE::ResourceStringTable::get | ( | const std::string & | key | ) | const |
References key().
|
inline |
References key(), and LIEF::nullopt().
Referenced by operator[](), and operator[]().
|
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.
Referenced by add_entry(), get(), and get().
|
inline |
References ResourceStringTable().
std::string LIEF::PE::ResourceStringTable::key_u8 | ( | ) | const |
The key as an utf8 string.
|
default |
References ResourceStringTable().
|
default |
References ResourceStringTable().
|
inline |
References get().
|
inline |
References get().
|
static |
|
inline |
The type of data in the version resource:
|
inline |
References ResourceStringTable().