LIEF: Library to Instrument Executable Formats Version 0.15.0
|
Stream interface over a std::ifstream. More...
#include <FileStream.hpp>
Public Member Functions | |
FileStream (std::ifstream fs, uint64_t size) | |
FileStream (const FileStream &)=delete | |
FileStream & | operator= (const FileStream &)=delete |
FileStream (FileStream &&other) | |
FileStream & | operator= (FileStream &&other) |
uint64_t | size () const override |
std::vector< uint8_t > | content () const |
Public Member Functions inherited from LIEF::BinaryStream | |
STREAM_TYPE | type () const |
result< uint64_t > | read_uleb128 () const |
result< uint64_t > | read_sleb128 () const |
result< int64_t > | read_dwarf_encoded (uint8_t encoding) const |
result< std::string > | read_string (size_t maxsize=~static_cast< size_t >(0)) const |
result< std::string > | peek_string (size_t maxsize=~static_cast< size_t >(0)) const |
result< std::string > | peek_string_at (size_t offset, size_t maxsize=~static_cast< size_t >(0)) const |
result< std::u16string > | read_u16string () const |
result< std::u16string > | peek_u16string () const |
result< std::string > | read_mutf8 (size_t maxsize=~static_cast< size_t >(0)) const |
result< std::u16string > | read_u16string (size_t length) const |
result< std::u16string > | peek_u16string (size_t length) const |
result< std::u16string > | peek_u16string_at (size_t offset, size_t length) const |
virtual ok_error_t | peek_data (std::vector< uint8_t > &container, uint64_t offset, uint64_t size) |
virtual ok_error_t | read_data (std::vector< uint8_t > &container, uint64_t size) |
void | setpos (size_t pos) const |
void | increment_pos (size_t value) const |
void | decrement_pos (size_t value) const |
size_t | pos () const |
operator bool () const | |
template<class T > | |
const T * | read_array (size_t size) const |
template<class T > | |
result< T > | peek () const |
template<class T > | |
result< T > | peek (size_t offset) const |
template<class T > | |
const T * | peek_array (size_t size) const |
template<class T > | |
const T * | peek_array (size_t offset, size_t size) const |
template<class T > | |
result< T > | read () const |
template<typename T > | |
bool | can_read () const |
template<typename T > | |
bool | can_read (size_t offset) const |
size_t | align (size_t align_on) const |
template<class T > | |
std::enable_if< std::is_integral< T >::value, result< T > >::type | peek_conv () const |
template<class T > | |
std::enable_if<!std::is_integral< T >::value, result< T > >::type | peek_conv () const |
template<class T > | |
result< T > | peek_conv (size_t offset) const |
template<class T > | |
result< T > | read_conv () const |
template<typename T > | |
std::unique_ptr< T[]> | read_conv_array (size_t size) const |
template<typename T > | |
std::unique_ptr< T[]> | peek_conv_array (size_t offset, size_t size) const |
void | set_endian_swap (bool swap) |
bool | should_swap () const |
virtual const uint8_t * | p () const |
virtual uint8_t * | start () |
virtual uint8_t * | p () |
virtual uint8_t * | end () |
virtual const uint8_t * | start () const |
virtual const uint8_t * | end () const |
Static Public Member Functions | |
static result< FileStream > | from_file (const std::string &file) |
static bool | classof (const BinaryStream &stream) |
Static Public Member Functions inherited from LIEF::BinaryStream | |
template<typename T > | |
static T | swap_endian (T u) |
template<class T > | |
static bool | is_all_zero (const T &buffer) |
Additional Inherited Members | |
Public Types inherited from LIEF::BinaryStream | |
enum class | STREAM_TYPE { UNKNOWN = 0 , VECTOR , MEMORY , SPAN , FILE , ELF_DATA_HANDLER } |
Stream interface over a std::ifstream.
|
inlineoverridevirtual |
Implements LIEF::BinaryStream.