# Home    # nevrax.com   
Nevrax
Nevrax.org
#News
#Mailing-list
#Documentation
#CVS
#Bugs
#License
Docs
 
Documentation  
Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages   Search  

NLMISC::CStringStream Class Reference

Memory stream that is serialized from/to plain text (human-readable). More...

#include <string_stream.h>

Inheritance diagram for NLMISC::CStringStream:

NLMISC::CMemStream NLMISC::IStream List of all members.

Public Methods

 CStringStream (bool inputStream=false, uint32 defaultcapacity=0)
 Initialization constructor. More...

 CStringStream (const CStringStream &other)
 Copy constructor. More...

CStringStream & operator= (const CStringStream &other)
 Assignment operator. More...

uint serialSeparatedBufferIn (uint8 *buf, uint len)
 Input: read len bytes at most from the stream until the next separator, and return the number of bytes read. The separator is then skipped. More...

void serialSeparatedBufferOut (uint8 *buf, uint len)
 Output: writes len bytes from buf into the stream. More...

virtual void serialBit (bool &bit)
 Method inherited from IStream. More...

template<class T> void serial (T &obj)
 Template serialisation (should take the one from IStream). More...

template<class T> void serialCont (std::vector< T > &cont)
template<class T> void serialCont (std::list< T > &cont)
template<class T> void serialCont (std::deque< T > &cont)
template<class T> void serialCont (std::set< T > &cont)
template<class T> void serialCont (std::multiset< T > &cont)
template<class K, class T> void serialCont (std::map< K, T > &cont)
template<class K, class T> void serialCont (std::multimap< K, T > &cont)
template<class T0, class T1> void serial (T0 &a, T1 &b)
template<class T0, class T1, class T2> void serial (T0 &a, T1 &b, T2 &c)
template<class T0, class T1, class T2, class T3> void serial (T0 &a, T1 &b, T2 &c, T3 &d)
template<class T0, class T1, class T2, class T3, class T4> void serial (T0 &a, T1 &b, T2 &c, T3 &d, T4 &e)
template<class T0, class T1, class T2, class T3, class T4, class T5> void serial (T0 &a, T1 &b, T2 &c, T3 &d, T4 &e, T5 &f)
virtual void serialCont (std::vector< uint8 > &cont)
 Specialisation of serialCont() for vector<uint8>. More...

virtual void serialCont (std::vector< sint8 > &cont)
 Specialisation of serialCont() for vector<sint8>. More...

virtual void serialCont (std::vector< bool > &cont)
 Specialisation of serialCont() for vector<bool>. More...

virtual void serialHex (uint32 &b)
 Serialisation in hexadecimal. More...

Base type serialisation.
Those method are a specialisation of template method "void serial(T&)".

virtual void serial (uint8 &b)
virtual void serial (sint8 &b)
virtual void serial (uint16 &b)
virtual void serial (sint16 &b)
virtual void serial (uint32 &b)
virtual void serial (sint32 &b)
virtual void serial (uint64 &b)
virtual void serial (sint64 &b)
virtual void serial (float &b)
virtual void serial (double &b)
virtual void serial (bool &b)
virtual void serial (char &b)
virtual void serial (std::string &b)
virtual void serial (ucstring &b)

Detailed Description

Memory stream that is serialized from/to plain text (human-readable).

Author:
Olivier Cado , Nevrax France
Date:
2001

Definition at line 42 of file string_stream.h.


Constructor & Destructor Documentation

NLMISC::CStringStream::CStringStream bool    inputStream = false,
uint32    defaultcapacity = 0
[inline]
 

Initialization constructor.

Definition at line 47 of file string_stream.h.

References NLMISC::CMemStream::CMemStream.

Referenced by CStringStream, and operator=.

NLMISC::CStringStream::CStringStream const CStringStream &    other [inline]
 

Copy constructor.

Definition at line 50 of file string_stream.h.

References NLMISC::CMemStream::CMemStream, and CStringStream.


Member Function Documentation

CStringStream& NLMISC::CStringStream::operator= const CStringStream &    other [inline]
 

Assignment operator.

Definition at line 53 of file string_stream.h.

References CStringStream.

void NLMISC::CStringStream::serial ucstring   b [virtual]
 

Reimplemented from NLMISC::CMemStream.

Definition at line 316 of file string_stream.cpp.

References NLMISC::IStream::isReading, NLMISC::SEPARATOR, serial, and NLMISC::CMemStream::serialBuffer.

void NLMISC::CStringStream::serial std::string &    b [virtual]
 

Reimplemented from NLMISC::CMemStream.

Definition at line 290 of file string_stream.cpp.

References NLMISC::IStream::isReading, nlassert, NLMISC::SEPARATOR, serial, and NLMISC::CMemStream::serialBuffer.

void NLMISC::CStringStream::serial char &    b [virtual]
 

Reimplemented from NLMISC::CMemStream.

Definition at line 271 of file string_stream.cpp.

References NLMISC::IStream::isReading, NLMISC::SEPARATOR, and NLMISC::CMemStream::serialBuffer.

void NLMISC::CStringStream::serial bool &    b [virtual]
 

Reimplemented from NLMISC::CMemStream.

Definition at line 246 of file string_stream.cpp.

References serialBit.

void NLMISC::CStringStream::serial double &    b [virtual]
 

Reimplemented from NLMISC::CMemStream.

Definition at line 233 of file string_stream.cpp.

References NLMISC::IStream::isReading, readnumber, and writenumber.

void NLMISC::CStringStream::serial float &    b [virtual]
 

Reimplemented from NLMISC::CMemStream.

Definition at line 220 of file string_stream.cpp.

References NLMISC::IStream::isReading, readnumber, and writenumber.

void NLMISC::CStringStream::serial sint64   b [virtual]
 

Reimplemented from NLMISC::CMemStream.

Definition at line 207 of file string_stream.cpp.

References NLMISC::IStream::isReading, readnumber, and writenumber.

void NLMISC::CStringStream::serial uint64   b [virtual]
 

Reimplemented from NLMISC::CMemStream.

Definition at line 194 of file string_stream.cpp.

References NLMISC::IStream::isReading, readnumber, and writenumber.

void NLMISC::CStringStream::serial sint32   b [virtual]
 

Reimplemented from NLMISC::CMemStream.

Definition at line 181 of file string_stream.cpp.

References NLMISC::IStream::isReading, readnumber, and writenumber.

void NLMISC::CStringStream::serial uint32   b [virtual]
 

Reimplemented from NLMISC::CMemStream.

Definition at line 168 of file string_stream.cpp.

References NLMISC::atoui, NLMISC::IStream::isReading, readnumber, and writenumber.

void NLMISC::CStringStream::serial sint16   b [virtual]
 

Reimplemented from NLMISC::CMemStream.

Definition at line 155 of file string_stream.cpp.

References NLMISC::IStream::isReading, readnumber, and writenumber.

void NLMISC::CStringStream::serial uint16   b [virtual]
 

Reimplemented from NLMISC::CMemStream.

Definition at line 141 of file string_stream.cpp.

References NLMISC::IStream::isReading, readnumber, and writenumber.

void NLMISC::CStringStream::serial sint8   b [virtual]
 

Reimplemented from NLMISC::CMemStream.

Definition at line 128 of file string_stream.cpp.

References NLMISC::IStream::isReading, readnumber, and writenumber.

void NLMISC::CStringStream::serial uint8   b [virtual]
 

Reimplemented from NLMISC::CMemStream.

Definition at line 115 of file string_stream.cpp.

References NLMISC::IStream::isReading, readnumber, and writenumber.

template<class T0, class T1, class T2, class T3, class T4, class T5>
void NLMISC::CStringStream::serial T0 &    a,
T1 &    b,
T2 &    c,
T3 &    d,
T4 &    e,
T5 &    f
[inline]
 

Reimplemented from NLMISC::CMemStream.

Definition at line 96 of file string_stream.h.

References serial.

template<class T0, class T1, class T2, class T3, class T4>
void NLMISC::CStringStream::serial T0 &    a,
T1 &    b,
T2 &    c,
T3 &    d,
T4 &    e
[inline]
 

Reimplemented from NLMISC::CMemStream.

Definition at line 93 of file string_stream.h.

References serial.

template<class T0, class T1, class T2, class T3>
void NLMISC::CStringStream::serial T0 &    a,
T1 &    b,
T2 &    c,
T3 &    d
[inline]
 

Reimplemented from NLMISC::CMemStream.

Definition at line 90 of file string_stream.h.

References serial.

template<class T0, class T1, class T2>
void NLMISC::CStringStream::serial T0 &    a,
T1 &    b,
T2 &    c
[inline]
 

Reimplemented from NLMISC::CMemStream.

Definition at line 87 of file string_stream.h.

References serial.

template<class T0, class T1>
void NLMISC::CStringStream::serial T0 &    a,
T1 &    b
[inline]
 

Reimplemented from NLMISC::CMemStream.

Definition at line 84 of file string_stream.h.

References serial.

template<class T>
void NLMISC::CStringStream::serial T &    obj [inline]
 

Template serialisation (should take the one from IStream).

Reimplemented from NLMISC::CMemStream.

Definition at line 66 of file string_stream.h.

Referenced by serial, serialBit, and serialCont.

void NLMISC::CStringStream::serialBit bool &    bit [virtual]
 

Method inherited from IStream.

Reimplemented from NLMISC::CMemStream.

Definition at line 253 of file string_stream.cpp.

References NLMISC::IStream::isReading, and serial.

Referenced by serial.

void NLMISC::CStringStream::serialCont std::vector< bool > &    cont [virtual]
 

Specialisation of serialCont() for vector<bool>.

Reimplemented from NLMISC::CMemStream.

Definition at line 340 of file string_stream.cpp.

References NLMISC::contReset, NLMISC::IStream::isReading, serial, and v.

virtual void NLMISC::CStringStream::serialCont std::vector< sint8 > &    cont [inline, virtual]
 

Specialisation of serialCont() for vector<sint8>.

Reimplemented from NLMISC::CMemStream.

Definition at line 125 of file string_stream.h.

References NLMISC::IStream::serialVector.

virtual void NLMISC::CStringStream::serialCont std::vector< uint8 > &    cont [inline, virtual]
 

Specialisation of serialCont() for vector<uint8>.

Reimplemented from NLMISC::CMemStream.

Definition at line 123 of file string_stream.h.

References NLMISC::IStream::serialVector.

template<class K, class T>
void NLMISC::CStringStream::serialCont std::multimap< K, T > &    cont [inline]
 

Reimplemented from NLMISC::CMemStream.

Definition at line 81 of file string_stream.h.

template<class K, class T>
void NLMISC::CStringStream::serialCont std::map< K, T > &    cont [inline]
 

Reimplemented from NLMISC::CMemStream.

Definition at line 79 of file string_stream.h.

template<class T>
void NLMISC::CStringStream::serialCont std::multiset< T > &    cont [inline]
 

Reimplemented from NLMISC::CMemStream.

Definition at line 77 of file string_stream.h.

template<class T>
void NLMISC::CStringStream::serialCont std::set< T > &    cont [inline]
 

Reimplemented from NLMISC::CMemStream.

Definition at line 75 of file string_stream.h.

template<class T>
void NLMISC::CStringStream::serialCont std::deque< T > &    cont [inline]
 

Reimplemented from NLMISC::CMemStream.

Definition at line 73 of file string_stream.h.

template<class T>
void NLMISC::CStringStream::serialCont std::list< T > &    cont [inline]
 

Reimplemented from NLMISC::CMemStream.

Definition at line 71 of file string_stream.h.

template<class T>
void NLMISC::CStringStream::serialCont std::vector< T > &    cont [inline]
 

Reimplemented from NLMISC::CMemStream.

Definition at line 69 of file string_stream.h.

void NLMISC::CStringStream::serialHex uint32   b [virtual]
 

Serialisation in hexadecimal.

Reimplemented from NLMISC::CMemStream.

Definition at line 375 of file string_stream.cpp.

References NLMISC::atoihex, NLMISC::IStream::isReading, readnumber, and writenumber.

uint NLMISC::CStringStream::serialSeparatedBufferIn uint8   buf,
uint    len
 

Input: read len bytes at most from the stream until the next separator, and return the number of bytes read. The separator is then skipped.

Reimplemented from NLMISC::CMemStream.

Definition at line 41 of file string_stream.cpp.

References NLMISC::CMemStream::_Buffer, NLMISC::CMemStream::_BufPos, NLMISC::IStream::isReading, NLMISC::CMemStream::lengthR, NLMISC::CMemStream::lengthS, nlassert, NLMISC::SEP_SIZE, and NLMISC::SEPARATOR.

void NLMISC::CStringStream::serialSeparatedBufferOut uint8   buf,
uint    len
 

Output: writes len bytes from buf into the stream.

Reimplemented from NLMISC::CMemStream.

Definition at line 71 of file string_stream.cpp.

References NLMISC::CMemStream::_Buffer, NLMISC::CMemStream::_BufPos, NLMISC::IStream::isReading, nlassert, NLMISC::SEP_SIZE, and NLMISC::SEPARATOR.


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