LIEF: Library to Instrument Executable Formats Version 0.17.0
|
#include <iostream.hpp>
Public Types | |
enum class | RELOC_OP { ADD , SUB } |
using | pos_type = std::streampos |
using | off_type = std::streamoff |
Public Member Functions | |
vector_iostream ()=default | |
vector_iostream (std::vector< uint8_t > &ref) | |
vector_iostream (bool endian_swap) | |
vector_iostream & | reserve (size_t size) |
vector_iostream & | increase_capacity (size_t size) |
vector_iostream & | put (uint8_t c) |
vector_iostream & | write (const uint8_t *s, std::streamsize n) |
vector_iostream & | write (span< const uint8_t > sp) |
vector_iostream & | write (std::vector< uint8_t > s) |
vector_iostream & | write (const std::string &s) |
bool | empty () const |
vector_iostream & | write (const std::u16string &s, bool with_null_char) |
vector_iostream & | write (size_t count, uint8_t value) |
vector_iostream & | write_sized_int (uint64_t value, size_t size) |
vector_iostream & | write (const vector_iostream &other) |
template<class T , typename = typename std::enable_if<std::is_standard_layout<T>::value && std::is_trivial<T>::value>::type> | |
vector_iostream & | write (const T &t) |
vector_iostream & | align (size_t alignment, uint8_t fill=0) |
template<typename T > | |
vector_iostream & | write (const std::pair< T, T > &p) |
template<typename T , size_t size> | |
vector_iostream & | write (const std::array< T, size > &t) |
template<typename T > | |
vector_iostream & | write (const std::vector< T > &elements) |
template<typename T , class U > | |
vector_iostream & | write (const optional< U > &opt) |
vector_iostream & | write_uleb128 (uint64_t value) |
vector_iostream & | write_sleb128 (int64_t value) |
vector_iostream & | get (std::vector< uint8_t > &c) |
vector_iostream & | move (std::vector< uint8_t > &c) |
vector_iostream & | flush () |
size_t | size () const |
pos_type | tellp () const |
vector_iostream & | seekp (pos_type p) |
vector_iostream & | seek_end () |
vector_iostream & | pad (size_t size, uint8_t value=0) |
vector_iostream & | seekp (vector_iostream::off_type p, std::ios_base::seekdir dir) |
const std::vector< uint8_t > & | raw () const |
std::vector< uint8_t > & | raw () |
void | set_endian_swap (bool swap) |
template<class T > | |
vector_iostream & | reloc (uint64_t offset, T shift, RELOC_OP op=RELOC_OP::ADD) |
vector_iostream & | init_fixups (size_t count) |
vector_iostream & | record_fixup (size_t id, bool cond) |
vector_iostream & | record_fixup (size_t id) |
template<class T > | |
vector_iostream & | apply_fixup (size_t id, T value) |
const std::vector< uint64_t > & | get_fixups (size_t id) const |
template<class T > | |
T * | edit_as () |
template<class T > | |
T * | edit_as (size_t pos) |
const vector_iostream & | copy_into (const span< uint8_t > &sp, size_t sz) const |
const vector_iostream & | copy_into (const span< uint8_t > &sp) const |
span< const uint8_t > | data () const |
vector_iostream & | clear () |
std::vector< uint8_t >::iterator | begin () |
std::vector< uint8_t >::iterator | end () |
std::vector< uint8_t >::const_iterator | begin () const |
std::vector< uint8_t >::const_iterator | end () const |
Static Public Member Functions | |
static size_t | uleb128_size (uint64_t value) |
static size_t | sleb128_size (int64_t value) |
using LIEF::vector_iostream::off_type = std::streamoff |
using LIEF::vector_iostream::pos_type = std::streampos |
|
strong |
|
default |
Referenced by align(), apply_fixup(), clear(), copy_into(), copy_into(), flush(), get(), increase_capacity(), init_fixups(), move(), pad(), put(), record_fixup(), record_fixup(), reloc(), reserve(), seek_end(), seekp(), seekp(), write(), write(), write(), write(), write(), write(), write(), write(), write(), write(), write(), write(), write_sized_int(), write_sleb128(), and write_uleb128().
|
inline |
|
inline |
vector_iostream & LIEF::vector_iostream::align | ( | size_t | alignment, |
uint8_t | fill = 0 ) |
References vector_iostream().
|
inline |
References get_fixups(), reloc(), and vector_iostream().
|
inline |
|
inline |
|
inline |
References clear(), and vector_iostream().
Referenced by clear().
|
inline |
References vector_iostream().
|
inline |
References size(), and vector_iostream().
|
inline |
|
inline |
References seekp().
|
inline |
|
inline |
|
inline |
|
inline |
References vector_iostream().
|
inline |
References vector_iostream().
|
inline |
Referenced by apply_fixup().
|
inline |
References reserve(), size(), and vector_iostream().
|
inline |
References vector_iostream().
|
inline |
References vector_iostream().
|
inline |
References size(), and vector_iostream().
vector_iostream & LIEF::vector_iostream::put | ( | uint8_t | c | ) |
References vector_iostream().
|
inline |
|
inline |
|
inline |
References record_fixup(), and vector_iostream().
|
inline |
References tellp(), and vector_iostream().
Referenced by record_fixup().
|
inline |
References ADD, SUB, and vector_iostream().
Referenced by apply_fixup().
|
inline |
References reserve(), size(), and vector_iostream().
Referenced by increase_capacity(), and reserve().
|
inline |
References seekp(), and vector_iostream().
|
inline |
References vector_iostream().
Referenced by edit_as(), LIEF::ScopeOStream::ScopeOStream(), and seek_end().
vector_iostream & LIEF::vector_iostream::seekp | ( | vector_iostream::off_type | p, |
std::ios_base::seekdir | dir ) |
References vector_iostream().
|
inline |
|
inline |
Referenced by copy_into(), increase_capacity(), pad(), reserve(), and write_sized_int().
|
static |
|
inline |
Referenced by record_fixup(), and write().
|
static |
|
inline |
References vector_iostream(), and write().
|
inline |
References vector_iostream(), and write().
|
inline |
References vector_iostream(), and write().
|
inline |
References vector_iostream(), and write().
vector_iostream & LIEF::vector_iostream::write | ( | const std::u16string & | s, |
bool | with_null_char ) |
References vector_iostream().
|
inline |
References vector_iostream(), and write().
|
inline |
References LIEF::swap_endian(), tellp(), and vector_iostream().
vector_iostream & LIEF::vector_iostream::write | ( | const uint8_t * | s, |
std::streamsize | n ) |
References vector_iostream().
Referenced by write(), write(), write(), write(), write(), write(), write(), write(), and write_sized_int().
|
inline |
References data(), vector_iostream(), and write().
|
inline |
References vector_iostream().
|
inline |
References vector_iostream(), and write().
|
inline |
References vector_iostream(), and write().
|
inline |
References size(), vector_iostream(), and write().
vector_iostream & LIEF::vector_iostream::write_sleb128 | ( | int64_t | value | ) |
References vector_iostream().
vector_iostream & LIEF::vector_iostream::write_uleb128 | ( | uint64_t | value | ) |
References vector_iostream().