Scopira  20080306
scopira::tool::iflow_i Class Referenceabstract

#include <flow.h>

Inheritance diagram for scopira::tool::iflow_i:
scopira::tool::flow_i scopira::tool::object scopira::tool::bufferflow scopira::tool::bufferiflow scopira::tool::cacheiflow scopira::tool::commentiflow scopira::tool::fileflow scopira::tool::hexiflow scopira::tool::itflow_i scopira::tool::netflow scopira::tool::nullflow scopira::tool::stringflow scopira::tool::stringiflow scopira::tool::unixflow

Public Member Functions

virtual size_t read (byte_t *_buf, size_t _maxsize)=0
 
virtual size_t read_byte (byte_t &out)
 
template<class TT >
size_t read_array (TT *_buf, size_t _numelem)
 
size_t read_void (void *_buf, size_t _maxsize)
 
- Public Member Functions inherited from scopira::tool::flow_i
virtual bool failed (void) const =0
 
- Public Member Functions inherited from scopira::tool::object
virtual ~object ()
 
int add_ref (void) const
 
bool sub_ref (void) const
 
void auto_ref (void) const
 
int current_ref (void) const
 
virtual scopira::tool::oflow_iprint (scopira::tool::oflow_i &o) const
 
virtual bool load (scopira::tool::iobjflow_i &in)
 
virtual void save (scopira::tool::oobjflow_i &out) const
 
bool is_alive_object (void) const
 
bool is_dead_object (void) const
 

Additional Inherited Members

- Public Types inherited from scopira::tool::flow_i
enum  { input_c = 1, output_c = 2 }
 
typedef scopira::tool::byte_t byte_t
 
typedef int mode_t
 
- Protected Member Functions inherited from scopira::tool::object
 object (void)
 
 object (bool neverusecounter)
 

Detailed Description

A raw input stream of bytes

Author
Aleksander Demko

Member Function Documentation

◆ read()

virtual size_t scopira::tool::iflow_i::read ( byte_t _buf,
size_t  _maxsize 
)
pure virtual

◆ read_array()

template<class TT >
size_t scopira::tool::iflow_i::read_array ( TT *  _buf,
size_t  _numelem 
)
inline

Nice wrapper around the raw read() method. Lets you read raw arrays of a particular type. POD types only. Returns the number of elelments actually read.

Author
Aleksander Demko

Referenced by scopira::basekit::narray< scopira::tool::uuid >::load(), and scopira::basekit::nslice< T, DIM >::load().

◆ read_byte()

virtual size_t scopira::tool::iflow_i::read_byte ( byte_t out)
inlinevirtual

Reads one byte

Parameters
outwhere to write the byte
Returns
1 if a byte was read, 0 if not
Author
Aleksander Demko

Reimplemented in scopira::tool::cacheiflow, scopira::tool::hexiflow, and scopira::tool::commentiflow.

◆ read_void()

size_t scopira::tool::iflow_i::read_void ( void *  _buf,
size_t  _maxsize 
)
inline

Reads a raw block of bytes, using a void*

Parameters
_bufthe buffer to write out to
_maxsizethe maximume number of bytes to read into the buffer
Returns
the number of bytes actually read
Author
Aleksander Demko

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