clan::MemoryDevice Class Reference

Memory I/O device. More...

#include <memory_device.h>

+ Inheritance diagram for clan::MemoryDevice:

Public Member Functions

 MemoryDevice ()
 Constructs a memory I/O device.
 
 MemoryDevice (DataBuffer &data)
 Constructs a IODevice Memory.
 
DataBufferget_data ()
 Get Data.
 
const DataBufferget_data () const
 Retrieves the data buffer for the memory device.
 
- Public Member Functions inherited from clan::IODevice
 IODevice ()
 Constructs a null instance.
 
 IODevice (IODeviceProvider *provider)
 Constructs a IODevice.
 
 ~IODevice ()
 
IODevice duplicate ()
 Create a new IODevice referencing the same resource.
 
size_t get_position () const
 Returns the position in the data stream.
 
IODeviceProviderget_provider ()
 Returns the provider for this object.
 
const IODeviceProviderget_provider () const
 Returns the provider for this object.
 
size_t get_size () const
 Returns the size of data stream.
 
bool is_little_endian () const
 Returns true if the input source is in little endian mode.
 
bool is_null () const
 Returns true if this object is invalid.
 
size_t peek (void *data, size_t len)
 Peek data from device (data is left in the buffer).
 
size_t read (void *data, size_t len, bool receive_all=true)
 Alias for receive(data, len, receive_all)
 
float read_float ()
 Reads a float from input source.
 
int16_t read_int16 ()
 Reads a signed 16 bit integer from input source.
 
int32_t read_int32 ()
 Reads a signed 32 bit integer from input source.
 
int64_t read_int64 ()
 Reads a signed 64 bit integer from input source.
 
int8_t read_int8 ()
 Reads a signed 8 bit integer from input source.
 
std::string read_string_a ()
 Reads a string from the input source.
 
std::string read_string_nul ()
 Reads a nul terminated string from the input source.
 
std::string read_string_text (const char *skip_initial_chars, const char *read_until_chars, bool allow_eof=true)
 Reads a string from the input source where the source is a text file.
 
uint16_t read_uint16 ()
 Reads an unsigned 16 bit integer from input source.
 
uint32_t read_uint32 ()
 Reads an unsigned 32 bit integer from input source.
 
uint64_t read_uint64 ()
 Reads an unsigned 64 bit integer from input source.
 
uint8_t read_uint8 ()
 Reads an unsigned 8 bit integer from input source.
 
size_t receive (void *data, size_t len, bool receive_all=true)
 Receive data from device.
 
bool seek (int position, SeekMode mode=SeekMode::set)
 Seek in data stream.
 
size_t send (const void *data, size_t len, bool send_all=true)
 Send data to device.
 
void set_big_endian_mode ()
 Changes input data endianess to big endian mode. (Default is little endian)
 
void set_little_endian_mode ()
 Changes input data endianess to little endian mode. This is the default setting.
 
void set_system_mode ()
 Changes input data endianess to the local systems mode.
 
void throw_if_null () const
 Throw an exception if this object is invalid.
 
size_t write (const void *data, size_t len, bool send_all=true)
 Alias for send(data, len, send_all)
 
void write_float (float data)
 Writes a float to output source.
 
void write_int16 (int16_t data)
 Writes a signed 16 bit integer to output source.
 
void write_int32 (int32_t data)
 Writes a signed 32 bit integer to output source.
 
void write_int64 (int64_t data)
 Writes a signed 64 bit integer to output source.
 
void write_int8 (int8_t data)
 Writes a signed 8 bit integer to output source.
 
void write_string_a (const std::string &str)
 Writes a string to the output source.
 
void write_string_nul (const std::string &str)
 Writes a nul terminated string to the output source.
 
void write_string_text (const std::string &str)
 Writes a text string to the output source.
 
void write_uint16 (uint16_t data)
 Writes an unsigned 16 bit integer to output source.
 
void write_uint32 (uint32_t data)
 Writes an unsigned 32 bit integer to output source.
 
void write_uint64 (uint64_t data)
 Writes an unsigned 64 bit integer to output source.
 
void write_uint8 (uint8_t data)
 Writes an unsigned 8 bit integer to output source.
 

Additional Inherited Members

- Public Types inherited from clan::IODevice
enum class  SeekMode { set , cur , end }
 Seeking modes. More...
 
- Protected Attributes inherited from clan::IODevice
std::shared_ptr< IODevice_Impl > impl
 

Detailed Description

Memory I/O device.

Constructor & Destructor Documentation

◆ MemoryDevice() [1/2]

clan::MemoryDevice::MemoryDevice ( )

Constructs a memory I/O device.

◆ MemoryDevice() [2/2]

clan::MemoryDevice::MemoryDevice ( DataBuffer & data)

Constructs a IODevice Memory.

Parameters
data= Data Buffer

Member Function Documentation

◆ get_data() [1/2]

DataBuffer & clan::MemoryDevice::get_data ( )

Get Data.

Returns
data

◆ get_data() [2/2]

const DataBuffer & clan::MemoryDevice::get_data ( ) const

Retrieves the data buffer for the memory device.


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