From 0ea5fc66924303d1bf73ba283a383e2aadee02f2 Mon Sep 17 00:00:00 2001 From: neodarz Date: Sat, 11 Aug 2018 20:21:34 +0200 Subject: Initial commit --- docs/doxygen/nel/classNLMISC_1_1CMemStream.html | 2642 +++++++++++++++++++++++ 1 file changed, 2642 insertions(+) create mode 100644 docs/doxygen/nel/classNLMISC_1_1CMemStream.html (limited to 'docs/doxygen/nel/classNLMISC_1_1CMemStream.html') diff --git a/docs/doxygen/nel/classNLMISC_1_1CMemStream.html b/docs/doxygen/nel/classNLMISC_1_1CMemStream.html new file mode 100644 index 00000000..2249419b --- /dev/null +++ b/docs/doxygen/nel/classNLMISC_1_1CMemStream.html @@ -0,0 +1,2642 @@ + + + + nevrax.org : docs + + + + + + + + + + + + + + +
# 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::CMemStream Class Reference

MemStream memory stream (see also NLNET::CMessage). +More... +

+#include <mem_stream.h> +

+

Inheritance diagram for NLMISC::CMemStream: +

+ +NLMISC::IStream +NLMISC::CBitMemStream +NLMISC::CStringStream +NLNET::CMessage + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Methods

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

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

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

void setStringMode (bool stringmode)
 Set string mode. More...

bool stringMode () const
 Return string mode. More...

virtual void serialBuffer (uint8 *buf, uint len)
 Method inherited from IStream. More...

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

virtual bool seek (sint32 offset, TSeekOrigin origin) throw (EStream)
 Moves the stream pointer to a specified location. More...

virtual sint32 getPos () throw (EStream)
 Get the location of the stream pointer. More...

virtual void clear ()
 Clears the message. More...

virtual uint32 length () const
 Returns the length (size) of the message, in bytes. More...

const uint8buffer () const
 Returns a pointer to the message buffer (read only) Returns NULL if the buffer is empty. More...

void resetBufPos ()
void fill (const uint8 *srcbuf, uint32 len)
 Fills the message buffer, for reading. More...

void resize (uint32 size)
uint8bufferToFill (uint32 msgsize)
 EXPERIMENTAL: Returns a pointer to the message buffer for filling by an external function (use at your own risk, you MUST fill the number of bytes you specify in "msgsize"). More...

virtual void invert ()
 Transforms the message from input to output or from output to input. More...

void resetPtrTable ()
 Force to reset the ptr table. More...

void increaseBufferIfNecessary (uint32 len)
 Increase the buffer size if 'len' can't enter, otherwise, do nothing. More...

template<class T> void fastSerial (T &val)
template<class T> void fastWrite (T &value)
template<class T> void fastRead (T &value)
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)
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...

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)
Base types serialisation, redefined for string mode
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)
String-specific methods
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 serialHex (uint32 &b)
 Serialisation in hexadecimal. More...


Protected Methods

uint32 lengthS () const
 Returns the serialized length (number of bytes written or read). More...

uint32 lengthR () const
 Returns the "read" message size (number of bytes to read). More...


Protected Attributes

CObjectVector< uint8, false > _Buffer
uint8_BufPos
bool _StringMode
uint32 _DefaultCapacity
+

Detailed Description

+MemStream memory stream (see also NLNET::CMessage). +

+

+Author:
+Olivier Cado , Nevrax France
+Date:
+2000
+

+ +

+Definition at line 64 of file mem_stream.h.


Constructor & Destructor Documentation

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
NLMISC::CMemStream::CMemStream bool   inputStream = false,
bool   stringmode = false,
uint32   defaultcapacity = 0
[inline]
+
+ + + + + +
+   + + +

+Initialization constructor. +

+ +

+Definition at line 69 of file mem_stream.h. +

+References _Buffer, _BufPos, _DefaultCapacity, _StringMode, and NLMISC::IStream::IStream. +

+Referenced by CMemStream, NLMISC::CStringStream::CStringStream, and operator=.

+

+ + + + +
+ + + + + + + + + + +
NLMISC::CMemStream::CMemStream const CMemStream &   other [inline]
+
+ + + + + +
+   + + +

+Copy constructor. +

+ +

+Definition at line 78 of file mem_stream.h. +

+References CMemStream, NLMISC::IStream::IStream, and operator=.

+


Member Function Documentation

+

+ + + + +
+ + + + + + + + + +
const uint8* NLMISC::CMemStream::buffer   const [inline]
+
+ + + + + +
+   + + +

+Returns a pointer to the message buffer (read only) Returns NULL if the buffer is empty. +

+ +

+Definition at line 167 of file mem_stream.h. +

+References _Buffer. +

+Referenced by NLMISC::CBufFIFO::push, and NLNET::CBufClient::receive.

+

+ + + + +
+ + + + + + + + + + +
uint8* NLMISC::CMemStream::bufferToFill uint32   msgsize [inline]
+
+ + + + + +
+   + + +

+EXPERIMENTAL: Returns a pointer to the message buffer for filling by an external function (use at your own risk, you MUST fill the number of bytes you specify in "msgsize"). +

+This method prevents from doing one useless buffer copy, using fill(). +

+Definition at line 218 of file mem_stream.h. +

+References _Buffer, and _BufPos.

+

+ + + + +
+ + + + + + + + + +
virtual void NLMISC::CMemStream::clear   [inline, virtual]
+
+ + + + + +
+   + + +

+Clears the message. +

+ +

+Reimplemented in NLMISC::CBitMemStream. +

+Definition at line 137 of file mem_stream.h. +

+References _Buffer, _BufPos, _DefaultCapacity, NLMISC::IStream::isReading, and resetPtrTable. +

+Referenced by NLMISC::CBufFIFO::front.

+

+ + + + +
+ + + + + + + + + + + + + +
+template<class T>
void NLMISC::CMemStream::fastRead T &   value [inline]
+
+ + + + + +
+   + + +

+ +

+Definition at line 301 of file mem_stream.h. +

+References _BufPos, lengthR, lengthS, and value.

+

+ + + + +
+ + + + + + + + + + + + + +
+template<class T>
void NLMISC::CMemStream::fastSerial T &   val [inline]
+
+ + + + + +
+   + + +

+ +

+Definition at line 268 of file mem_stream.h. +

+References _BufPos, increaseBufferIfNecessary, NLMISC::IStream::isReading, lengthR, and lengthS. +

+Referenced by serial.

+

+ + + + +
+ + + + + + + + + + + + + +
+template<class T>
void NLMISC::CMemStream::fastWrite T &   value [inline]
+
+ + + + + +
+   + + +

+ +

+Definition at line 292 of file mem_stream.h. +

+References _BufPos, increaseBufferIfNecessary, and value.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + +
void NLMISC::CMemStream::fill const uint8  srcbuf,
uint32   len
[inline]
+
+ + + + + +
+   + + +

+Fills the message buffer, for reading. +

+ +

+Definition at line 196 of file mem_stream.h. +

+References _Buffer, _BufPos, and NLMISC::IStream::isReading. +

+Referenced by NLNET::CMessage::CMessage, NL3D::CTextureMem::doGenerate, and NLMISC::CBufFIFO::front.

+

+ + + + +
+ + + + + + + + + +
virtual sint32 NLMISC::CMemStream::getPos   throw (EStream) [inline, virtual]
+
+ + + + + +
+   + + +

+Get the location of the stream pointer. +

+NB: If the stream doesn't support the seek fonctionnality, it throws ESeekNotSupported. Default implementation: { throw ESeekNotSupported; }

+Parameters:
+ + + +
offset  +is the wanted offset from the origin.
origin  +is the origin of the seek
+
+Returns:
+the new offset regarding from the origin.
+See also:
+ESeekNotSupported SeekOrigin seek
+

+Reimplemented from NLMISC::IStream. +

+Definition at line 131 of file mem_stream.h. +

+References _Buffer, and _BufPos. +

+Referenced by NLMISC::CBitMemStream::getPosInBit, NLMISC::CBitMemStream::serial, NLMISC::CBitMemStream::serialCont, and NLNET::CMessage::setType.

+

+ + + + +
+ + + + + + + + + + +
void NLMISC::CMemStream::increaseBufferIfNecessary uint32   len [inline]
+
+ + + + + +
+   + + +

+Increase the buffer size if 'len' can't enter, otherwise, do nothing. +

+ +

+Definition at line 255 of file mem_stream.h. +

+References _Buffer, and _BufPos. +

+Referenced by fastSerial, fastWrite, and serialBuffer.

+

+ + + + +
+ + + + + + + + + +
virtual void NLMISC::CMemStream::invert   [inline, virtual]
+
+ + + + + +
+   + + +

+Transforms the message from input to output or from output to input. +

+ +

+Reimplemented in NLMISC::CBitMemStream. +

+Definition at line 229 of file mem_stream.h. +

+References _Buffer, _BufPos, NLMISC::IStream::isReading, resetPtrTable, and NLMISC::IStream::setInOut. +

+Referenced by NL3D::CParticleSystemShape::buildFromPS, and NL3D::CParticleSystemShape::instanciatePS.

+

+ + + + +
+ + + + + + + + + +
virtual uint32 NLMISC::CMemStream::length   const [inline, virtual]
+
+ + + + + +
+   + + +

+Returns the length (size) of the message, in bytes. +

+If isReading(), it is the number of bytes that can be read, otherwise it is the number of bytes that have been written. +

+Reimplemented in NLMISC::CBitMemStream. +

+Definition at line 152 of file mem_stream.h. +

+References NLMISC::IStream::isReading, lengthR, and lengthS. +

+Referenced by NLMISC::CBufFIFO::push, NLNET::CBufSock::pushBuffer, NLNET::CBufServer::pushBufferToHost, NLNET::CBufClient::receive, resize, NLNET::CBufClient::send, and NLNET::CMessage::setType.

+

+ + + + +
+ + + + + + + + + +
uint32 NLMISC::CMemStream::lengthR   const [inline, protected]
+
+ + + + + +
+   + + +

+Returns the "read" message size (number of bytes to read). +

+ +

+Definition at line 405 of file mem_stream.h. +

+References _Buffer. +

+Referenced by fastRead, fastSerial, length, NLMISC::CBitMemStream::length, NLMISC::CBitMemStream::serial, serialBuffer, NLMISC::CStringStream::serialSeparatedBufferIn, and serialSeparatedBufferIn.

+

+ + + + +
+ + + + + + + + + +
uint32 NLMISC::CMemStream::lengthS   const [inline, protected]
+
+ + + + + +
+   + + +

+Returns the serialized length (number of bytes written or read). +

+ +

+Definition at line 399 of file mem_stream.h. +

+References _Buffer, and _BufPos. +

+Referenced by fastRead, fastSerial, length, NLMISC::CBitMemStream::length, serialBuffer, NLMISC::CStringStream::serialSeparatedBufferIn, and serialSeparatedBufferIn.

+

+ + + + +
+ + + + + + + + + + +
CMemStream& NLMISC::CMemStream::operator= const CMemStream &   other [inline]
+
+ + + + + +
+   + + +

+Assignment operator. +

+ +

+Definition at line 85 of file mem_stream.h. +

+References _Buffer, _BufPos, _DefaultCapacity, _StringMode, and CMemStream. +

+Referenced by CMemStream.

+

+ + + + +
+ + + + + + + + + +
void NLMISC::CMemStream::resetBufPos   [inline]
+
+ + + + + +
+   + + +

+ +

+Definition at line 193 of file mem_stream.h. +

+References _Buffer, and _BufPos.

+

+ + + + +
+ + + + + + + + + +
void NLMISC::CMemStream::resetPtrTable   [inline]
+
+ + + + + +
+   + + +

+Force to reset the ptr table. +

+ +

+Reimplemented from NLMISC::IStream. +

+Definition at line 249 of file mem_stream.h. +

+Referenced by clear, NL3D::CParticleSystemShape::instanciatePS, and invert.

+

+ + + + +
+ + + + + + + + + + +
void NLMISC::CMemStream::resize uint32   size
+
+ + + + + +
+   + + +

+ +

+Definition at line 221 of file mem_stream.cpp. +

+References _Buffer, _BufPos, and length. +

+Referenced by NLNET::CBufClient::receive.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + +
bool NLMISC::CMemStream::seek sint32   offset,
TSeekOrigin   origin
throw (EStream) [virtual]
+
+ + + + + +
+   + + +

+Moves the stream pointer to a specified location. +

+NB: If the stream doesn't support the seek fonctionnality, it throws ESeekNotSupported. Default implementation: { throw ESeekNotSupported; }

+Parameters:
+ + + +
offset  +is the wanted offset from the origin.
origin  +is the origin of the seek
+
+Returns:
+true if seek sucessfull.
+See also:
+ESeekNotSupported SeekOrigin getPos
+

+Reimplemented from NLMISC::IStream. +

+Definition at line 166 of file mem_stream.cpp. +

+References offset. +

+Referenced by NL3D::CParticleSystemShape::instanciatePS, and NLNET::CMessage::readType.

+

+ + + + +
+ + + + + + + + + + +
void NLMISC::CMemStream::serial ucstring  b [inline, virtual]
+
+ + + + + +
+   + + +

+ +

+Reimplemented from NLMISC::IStream. +

+Reimplemented in NLMISC::CStringStream. +

+Definition at line 733 of file mem_stream.h. +

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

+

+ + + + +
+ + + + + + + + + + +
void NLMISC::CMemStream::serial std::string &   b [inline, virtual]
+
+ + + + + +
+   + + +

+ +

+Reimplemented from NLMISC::IStream. +

+Reimplemented in NLMISC::CBitMemStream. +

+Definition at line 700 of file mem_stream.h. +

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

+

+ + + + +
+ + + + + + + + + + +
void NLMISC::CMemStream::serial char &   b [inline, virtual]
+
+ + + + + +
+   + + +

+ +

+Reimplemented from NLMISC::IStream. +

+Reimplemented in NLMISC::CBitMemStream. +

+Definition at line 675 of file mem_stream.h. +

+References fastSerial, NLMISC::IStream::isReading, NLMISC::SEPARATOR, and serialBuffer.

+

+ + + + +
+ + + + + + + + + + +
void NLMISC::CMemStream::serial bool &   b [inline, virtual]
+
+ + + + + +
+   + + +

+ +

+Reimplemented from NLMISC::IStream. +

+Reimplemented in NLMISC::CBitMemStream. +

+Definition at line 660 of file mem_stream.h. +

+References fastSerial, and serialBit.

+

+ + + + +
+ + + + + + + + + + +
void NLMISC::CMemStream::serial double &   b [inline, virtual]
+
+ + + + + +
+   + + +

+ +

+Reimplemented from NLMISC::IStream. +

+Reimplemented in NLMISC::CBitMemStream. +

+Definition at line 640 of file mem_stream.h. +

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

+

+ + + + +
+ + + + + + + + + + +
void NLMISC::CMemStream::serial float &   b [inline, virtual]
+
+ + + + + +
+   + + +

+ +

+Reimplemented from NLMISC::IStream. +

+Reimplemented in NLMISC::CBitMemStream. +

+Definition at line 620 of file mem_stream.h. +

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

+

+ + + + +
+ + + + + + + + + + +
void NLMISC::CMemStream::serial sint64  b [inline, virtual]
+
+ + + + + +
+   + + +

+ +

+Reimplemented from NLMISC::IStream. +

+Reimplemented in NLMISC::CBitMemStream. +

+Definition at line 600 of file mem_stream.h. +

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

+

+ + + + +
+ + + + + + + + + + +
void NLMISC::CMemStream::serial uint64  b [inline, virtual]
+
+ + + + + +
+   + + +

+ +

+Reimplemented from NLMISC::IStream. +

+Reimplemented in NLMISC::CBitMemStream. +

+Definition at line 580 of file mem_stream.h. +

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

+

+ + + + +
+ + + + + + + + + + +
void NLMISC::CMemStream::serial sint32  b [inline, virtual]
+
+ + + + + +
+   + + +

+ +

+Reimplemented from NLMISC::IStream. +

+Reimplemented in NLMISC::CBitMemStream. +

+Definition at line 560 of file mem_stream.h. +

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

+

+ + + + +
+ + + + + + + + + + +
void NLMISC::CMemStream::serial uint32  b [inline, virtual]
+
+ + + + + +
+   + + +

+ +

+Reimplemented from NLMISC::IStream. +

+Reimplemented in NLMISC::CBitMemStream. +

+Definition at line 539 of file mem_stream.h. +

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

+

+ + + + +
+ + + + + + + + + + +
void NLMISC::CMemStream::serial sint16  b [inline, virtual]
+
+ + + + + +
+   + + +

+ +

+Reimplemented from NLMISC::IStream. +

+Reimplemented in NLMISC::CBitMemStream. +

+Definition at line 519 of file mem_stream.h. +

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

+

+ + + + +
+ + + + + + + + + + +
void NLMISC::CMemStream::serial uint16  b [inline, virtual]
+
+ + + + + +
+   + + +

+ +

+Reimplemented from NLMISC::IStream. +

+Reimplemented in NLMISC::CBitMemStream. +

+Definition at line 498 of file mem_stream.h. +

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

+

+ + + + +
+ + + + + + + + + + +
void NLMISC::CMemStream::serial sint8  b [inline, virtual]
+
+ + + + + +
+   + + +

+ +

+Reimplemented from NLMISC::IStream. +

+Reimplemented in NLMISC::CBitMemStream. +

+Definition at line 478 of file mem_stream.h. +

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

+

+ + + + +
+ + + + + + + + + + +
void NLMISC::CMemStream::serial uint8  b [inline, virtual]
+
+ + + + + +
+   + + +

+ +

+Reimplemented from NLMISC::IStream. +

+Reimplemented in NLMISC::CBitMemStream. +

+Definition at line 458 of file mem_stream.h. +

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

+

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

+ +

+Reimplemented from NLMISC::IStream. +

+Reimplemented in NLMISC::CStringStream. +

+Definition at line 356 of file mem_stream.h. +

+References serial.

+

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

+ +

+Reimplemented from NLMISC::IStream. +

+Reimplemented in NLMISC::CStringStream. +

+Definition at line 353 of file mem_stream.h. +

+References serial.

+

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

+ +

+Reimplemented from NLMISC::IStream. +

+Reimplemented in NLMISC::CStringStream. +

+Definition at line 350 of file mem_stream.h. +

+References serial.

+

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

+ +

+Reimplemented from NLMISC::IStream. +

+Reimplemented in NLMISC::CStringStream. +

+Definition at line 347 of file mem_stream.h. +

+References serial.

+

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

+ +

+Reimplemented from NLMISC::IStream. +

+Reimplemented in NLMISC::CStringStream. +

+Definition at line 344 of file mem_stream.h. +

+References serial.

+

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

+Template serialisation (should take the one from IStream). +

+ +

+Reimplemented from NLMISC::IStream. +

+Reimplemented in NLMISC::CBitMemStream. +

+Definition at line 317 of file mem_stream.h. +

+Referenced by NLNET::CMessage::CMessage, NLNET::CMessage::readType, NLNET::TMessageRecord::serial, serial, NLNET::CInetAddress::serial, serialBit, and NLNET::CMessage::setType.

+

+ + + + +
+ + + + + + + + + + +
void NLMISC::CMemStream::serialBit bool &   bit [virtual]
+
+ + + + + +
+   + + +

+Method inherited from IStream. +

+ +

+Implements NLMISC::IStream. +

+Reimplemented in NLMISC::CBitMemStream. +

+Definition at line 117 of file mem_stream.cpp. +

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

+Referenced by serial.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + +
void NLMISC::CMemStream::serialBuffer uint8  buf,
uint   len
[virtual]
+
+ + + + + +
+   + + +

+Method inherited from IStream. +

+ +

+Implements NLMISC::IStream. +

+Reimplemented in NLMISC::CBitMemStream. +

+Definition at line 73 of file mem_stream.cpp. +

+References _BufPos, increaseBufferIfNecessary, NLMISC::IStream::isReading, lengthR, lengthS, and nlassert. +

+Referenced by NLMISC::CStringStream::serial, NLNET::TMessageRecord::serial, and serial.

+

+ + + + +
+ + + + + + + + + + +
virtual void NLMISC::CMemStream::serialCont std::vector< bool > &   cont [inline, virtual]
+
+ + + + + +
+   + + +

+Specialisation of serialCont() for vector<bool>. +

+ +

+Reimplemented from NLMISC::IStream. +

+Reimplemented in NLMISC::CBitMemStream. +

+Definition at line 339 of file mem_stream.h.

+

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

+Specialisation of serialCont() for vector<sint8>. +

+ +

+Reimplemented from NLMISC::IStream. +

+Reimplemented in NLMISC::CBitMemStream. +

+Definition at line 337 of file mem_stream.h.

+

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

+Specialisation of serialCont() for vector<uint8>. +

+ +

+Reimplemented from NLMISC::IStream. +

+Reimplemented in NLMISC::CBitMemStream. +

+Definition at line 335 of file mem_stream.h.

+

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

+ +

+Reimplemented from NLMISC::IStream. +

+Reimplemented in NLMISC::CBitMemStream. +

+Definition at line 332 of file mem_stream.h.

+

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

+ +

+Reimplemented from NLMISC::IStream. +

+Reimplemented in NLMISC::CBitMemStream. +

+Definition at line 330 of file mem_stream.h.

+

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

+ +

+Reimplemented from NLMISC::IStream. +

+Reimplemented in NLMISC::CBitMemStream. +

+Definition at line 328 of file mem_stream.h.

+

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

+ +

+Reimplemented from NLMISC::IStream. +

+Reimplemented in NLMISC::CBitMemStream. +

+Definition at line 326 of file mem_stream.h.

+

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

+ +

+Reimplemented from NLMISC::IStream. +

+Reimplemented in NLMISC::CBitMemStream. +

+Definition at line 324 of file mem_stream.h.

+

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

+ +

+Reimplemented from NLMISC::IStream. +

+Reimplemented in NLMISC::CBitMemStream. +

+Definition at line 322 of file mem_stream.h.

+

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

+ +

+Reimplemented from NLMISC::IStream. +

+Reimplemented in NLMISC::CBitMemStream. +

+Definition at line 320 of file mem_stream.h.

+

+ + + + +
+ + + + + + + + + + +
void NLMISC::CMemStream::serialHex uint32  b [inline, virtual]
+
+ + + + + +
+   + + +

+Serialisation in hexadecimal. +

+ +

+Reimplemented in NLMISC::CStringStream. +

+Definition at line 799 of file mem_stream.h. +

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

+Referenced by NLNET::TMessageRecord::serial.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + +
uint NLMISC::CMemStream::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 in NLMISC::CStringStream. +

+Definition at line 293 of file mem_stream.cpp. +

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

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + +
void NLMISC::CMemStream::serialSeparatedBufferOut uint8  buf,
uint   len
+
+ + + + + +
+   + + +

+Output: writes len bytes from buf into the stream. +

+ +

+Reimplemented in NLMISC::CStringStream. +

+Definition at line 324 of file mem_stream.cpp. +

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

+

+ + + + +
+ + + + + + + + + + +
void NLMISC::CMemStream::setStringMode bool   stringmode [inline]
+
+ + + + + +
+   + + +

+Set string mode. +

+ +

+Definition at line 96 of file mem_stream.h. +

+References _StringMode. +

+Referenced by NLNET::CMessage::init.

+

+ + + + +
+ + + + + + + + + +
bool NLMISC::CMemStream::stringMode   const [inline]
+
+ + + + + +
+   + + +

+Return string mode. +

+ +

+Definition at line 99 of file mem_stream.h. +

+References _StringMode. +

+Referenced by NLNET::TMessageRecord::serial, and NLNET::CInetAddress::serial.

+


Member Data Documentation

+

+ + + + +
+ + +
CObjectVector<uint8, false> NLMISC::CMemStream::_Buffer [protected] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 411 of file mem_stream.h. +

+Referenced by buffer, bufferToFill, clear, CMemStream, fill, getPos, NLMISC::CBitMemStream::getPosInBit, increaseBufferIfNecessary, invert, NLMISC::CBitMemStream::length, lengthR, lengthS, operator=, resetBufPos, resize, NLMISC::CBitMemStream::serial, NLMISC::CStringStream::serialSeparatedBufferIn, serialSeparatedBufferIn, NLMISC::CStringStream::serialSeparatedBufferOut, and serialSeparatedBufferOut.

+

+ + + + +
+ + +
uint8* NLMISC::CMemStream::_BufPos [protected] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 412 of file mem_stream.h. +

+Referenced by bufferToFill, NLMISC::CBitMemStream::CBitMemStream, clear, NLMISC::CBitMemStream::clear, CMemStream, fastRead, fastSerial, fastWrite, fill, getPos, NLMISC::CBitMemStream::getPosInBit, increaseBufferIfNecessary, invert, NLMISC::CBitMemStream::invert, NLMISC::CBitMemStream::length, lengthS, operator=, resetBufPos, resize, NLMISC::CBitMemStream::serial, serialBuffer, NLMISC::CStringStream::serialSeparatedBufferIn, serialSeparatedBufferIn, NLMISC::CStringStream::serialSeparatedBufferOut, and serialSeparatedBufferOut.

+

+ + + + +
+ + +
uint32 NLMISC::CMemStream::_DefaultCapacity [protected] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 418 of file mem_stream.h. +

+Referenced by clear, CMemStream, and operator=.

+

+ + + + +
+ + +
bool NLMISC::CMemStream::_StringMode [protected] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 416 of file mem_stream.h. +

+Referenced by CMemStream, operator=, NLNET::CMessage::readType, serialSeparatedBufferIn, serialSeparatedBufferOut, setStringMode, NLNET::CMessage::setType, and stringMode.

+


The documentation for this class was generated from the following files: + + + +
                                                                                                                                                                    +
+ + -- cgit v1.2.1