Scopira  20080306
scopira::tool::printiflow Class Reference

#include <printflow.h>

Inheritance diagram for scopira::tool::printiflow:
scopira::tool::itflow_i scopira::tool::iflow_i scopira::tool::flow_i scopira::tool::object

Public Member Functions

 printiflow (bool doref, iflow_i *in)
 
virtual ~printiflow (void)
 destructor
 
virtual bool failed (void) const
 are we in a failed state?
 
virtual size_t read (byte_t *_buf, size_t _maxsize)
 read raw block data, returns num read in
 
virtual bool read_bool (bool &)
 
virtual bool read_char (char &)
 
virtual bool read_short (short &)
 
virtual bool read_int (int &)
 
virtual bool read_size_t (size_t &)
 
virtual bool read_int64_t (int64_t &)
 
virtual bool read_long (long &)
 
virtual bool read_float (float &)
 
virtual bool read_double (double &)
 
virtual bool read_string (std::string &)
 
void open (iflow_i *in)
 opens a new link
 
void close (void)
 close the current link
 
virtual bool read_string (std::string &ret, int _max)
 
bool read_string_word (std::string &ret)
 
- Public Member Functions inherited from scopira::tool::itflow_i
template<class TT >
bool read_generic (TT &v)
 
- Public Member Functions inherited from scopira::tool::iflow_i
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::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
 

Protected Member Functions

byte_t non_whitespace (void)
 advance stream to next non whitespace and return it
 
- Protected Member Functions inherited from scopira::tool::object
 object (void)
 
 object (bool neverusecounter)
 

Static Protected Member Functions

static bool is_whitespace (byte_t b)
 is it whitespace?
 

Protected Attributes

count2_ptr< iflow_idm_in
 input flow
 

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
 

Detailed Description

A type flow that helps parse ASCII input streams.

Please note that this not a "symmetrical" tflow like all the others, that is you shouldn't use it in building a serialization stack. ie. write_string by printoflow may not always translate to the same read_string in printiflow.

Author
Aleksander Demko

Constructor & Destructor Documentation

◆ printiflow()

scopira::tool::printiflow::printiflow ( bool  doref,
iflow_i in 
)

Constructor.

Parameters
dorefshould this class ref count in
inthe input stream to use
Author
Aleksander Demko

Member Function Documentation

◆ read_bool()

virtual bool scopira::tool::printiflow::read_bool ( bool &  )
virtual

Reads an bool, returns true on success

Author
Aleksander Demko

Implements scopira::tool::itflow_i.

◆ read_char()

virtual bool scopira::tool::printiflow::read_char ( char &  )
virtual

Reads an char, returns true on success

Author
Aleksander Demko

Implements scopira::tool::itflow_i.

◆ read_double()

virtual bool scopira::tool::printiflow::read_double ( double &  )
virtual

Reads a double, returns true on success

Author
Aleksander Demko

Implements scopira::tool::itflow_i.

◆ read_float()

virtual bool scopira::tool::printiflow::read_float ( float &  )
virtual

Reads a float, returns true on success

Author
Aleksander Demko

Implements scopira::tool::itflow_i.

◆ read_int()

virtual bool scopira::tool::printiflow::read_int ( int &  )
virtual

Reads an int, returns true on success

Author
Aleksander Demko

Implements scopira::tool::itflow_i.

◆ read_int64_t()

virtual bool scopira::tool::printiflow::read_int64_t ( int64_t &  )
virtual

Reads an int64_t, returns true on success

Author
Aleksander Demko

Implements scopira::tool::itflow_i.

◆ read_long()

virtual bool scopira::tool::printiflow::read_long ( long &  )
virtual

Reads an long, returns true on success

Author
Aleksander Demko

Implements scopira::tool::itflow_i.

◆ read_short()

virtual bool scopira::tool::printiflow::read_short ( short &  )
virtual

Reads an short, returns true on success

Author
Aleksander Demko

Implements scopira::tool::itflow_i.

◆ read_size_t()

virtual bool scopira::tool::printiflow::read_size_t ( size_t &  )
virtual

Reads a size_t, returns true on success

Author
Aleksander Demko

Implements scopira::tool::itflow_i.

◆ read_string() [1/2]

virtual bool scopira::tool::printiflow::read_string ( std::string &  )
virtual

Reads a string. Specifically, the next line of next up to the line terminator. UNIX and Win32 line terminators are supported. The line terminator(s) will NOT be in the resulting string.

Author
Aleksander Demko

Implements scopira::tool::itflow_i.

◆ read_string() [2/2]

virtual bool scopira::tool::printiflow::read_string ( std::string &  ret,
int  _max 
)
virtual

Reads a string. Specifically, read the next _max chars into the string. Anything other than _max chars is considered failure.

Author
Aleksander Demko

◆ read_string_word()

bool scopira::tool::printiflow::read_string_word ( std::string &  ret)

Reads the next "word", that is stream of non-whitespace characters.

Author
Aleksander Demko

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