PIP 5.5.3
Platform-Independent Primitives
Public Member Functions | Related Functions | List of all members
PIBinaryStream< P > Class Template Reference

Binary serialization interface. More...

#include <pibinarystream.h>

Public Member Functions

bool binaryStreamAppend (const void *d, size_t s)
 Write data.
 
bool binaryStreamTake (void *d, size_t s)
 Read data.
 
ssize_t binaryStreamSize () const
 Returns remain size. More...
 
template<typename T >
void binaryStreamAppend (T v)
 Write data.
 
int binaryStreamTakeInt ()
 Read int.
 
bool wasReadError () const
 Returns whether there has been an incomplete read since last resetReadError() or after the stream was created.
 
void resetReadError ()
 Reset incomplete read flag.
 

Related Functions

(Note that these are not member functions.)

template<typename P >
PIBinaryStream< P > & operator<< (PIBinaryStream< P > &s, const PISystemMonitor::ProcessStats &v)
 Store operator.
 
template<typename P >
PIBinaryStream< P > & operator>> (PIBinaryStream< P > &s, PISystemMonitor::ProcessStats &v)
 Restore operator.
 
template<typename P >
PIBinaryStream< P > & operator<< (PIBinaryStream< P > &s, const PISystemMonitor::ThreadStats &v)
 Store operator.
 
template<typename P >
PIBinaryStream< P > & operator>> (PIBinaryStream< P > &s, PISystemMonitor::ThreadStats &v)
 Restore operator.
 
template<typename P >
PIBinaryStream< P > & operator<< (PIBinaryStream< P > &s, const PIKbdListener::MouseEvent &v)
 Store operator.
 
template<typename P >
PIBinaryStream< P > & operator>> (PIBinaryStream< P > &s, PIKbdListener::MouseEvent &v)
 Restore operator.
 
template<typename P >
PIBinaryStream< P > & operator<< (PIBinaryStream< P > &s, const PIKbdListener::WheelEvent &v)
 Store operator.
 
template<typename P >
PIBinaryStream< P > & operator>> (PIBinaryStream< P > &s, PIKbdListener::WheelEvent &v)
 Restore operator.
 
template<typename P >
PIBinaryStream< P > & operator<< (PIBinaryStream< P > &s, const PIScreenTypes::Cell &v)
 Store operator.
 
template<typename P >
PIBinaryStream< P > & operator>> (PIBinaryStream< P > &s, PIScreenTypes::Cell &v)
 Restore operator.
 
template<typename P >
PIBinaryStream< P > & operator<< (PIBinaryStream< P > &s, const PIScreenTypes::TileEvent &v)
 Store operator.
 
template<typename P >
PIBinaryStream< P > & operator>> (PIBinaryStream< P > &s, PIScreenTypes::TileEvent &v)
 Restore operator.
 
template<typename P >
PIBinaryStream< P > & operator<< (PIBinaryStream< P > &s, const PIFile::FileInfo &v)
 Store operator.
 
template<typename P >
PIBinaryStream< P > & operator>> (PIBinaryStream< P > &s, PIFile::FileInfo &v)
 Restore operator.
 
template<typename P >
PIBinaryStream< P > & operator<< (PIBinaryStream< P > &s, const PIPeer::PeerInfo::PeerAddress &v)
 Store operator.
 
template<typename P >
PIBinaryStream< P > & operator>> (PIBinaryStream< P > &s, PIPeer::PeerInfo::PeerAddress &v)
 Restore operator.
 
template<typename P >
PIBinaryStream< P > & operator<< (PIBinaryStream< P > &s, const PIPeer::PeerInfo &v)
 Store operator.
 
template<typename P >
PIBinaryStream< P > & operator>> (PIBinaryStream< P > &s, PIPeer::PeerInfo &v)
 Restore operator.
 
template<typename P >
PIBinaryStream< P > & operator<< (PIBinaryStream< P > &s, const PISerial::DeviceInfo &v)
 Store operator.
 
template<typename P >
PIBinaryStream< P > & operator>> (PIBinaryStream< P > &s, PISerial::DeviceInfo &v)
 Restore operator.
 
template<typename P >
PIBinaryStream< P > & operator<< (PIBinaryStream< P > &s, const PIString &v)
 Store operator.
 
template<typename P >
PIBinaryStream< P > & operator>> (PIBinaryStream< P > &s, PIString &v)
 Restore operator.
 
template<typename P >
PIBinaryStream< P > & operator<< (PIBinaryStream< P > &s, const PIStringList &v)
 Store operator.
 
template<typename P >
PIBinaryStream< P > & operator>> (PIBinaryStream< P > &s, PIStringList &v)
 Restore operator.
 
template<typename P >
PIBinaryStream< P > & operator<< (PIBinaryStream< P > &s, const PIByteArray &v)
 Store operator.
 
template<typename P >
PIBinaryStream< P > & operator>> (PIBinaryStream< P > &s, PIByteArray &v)
 Restore operator.
 
template<typename P >
PIBinaryStream< P > & operator<< (PIBinaryStream< P > &s, const PIPropertyStorage::Property &v)
 Store operator.
 
template<typename P >
PIBinaryStream< P > & operator>> (PIBinaryStream< P > &s, PIPropertyStorage::Property &v)
 Restore operator.
 
template<typename P >
PIBinaryStream< P > & operator<< (PIBinaryStream< P > &s, const PIPropertyStorage &v)
 Store operator.
 
template<typename P >
PIBinaryStream< P > & operator>> (PIBinaryStream< P > &s, PIPropertyStorage &v)
 Restore operator.
 
template<typename P >
PIBinaryStream< P > & operator<< (PIBinaryStream< P > &s, const PIValueTree &v)
 Store operator.
 
template<typename P >
PIBinaryStream< P > & operator>> (PIBinaryStream< P > &s, PIValueTree &v)
 Restore operator.
 
template<typename P >
PIBinaryStream< P > & operator<< (PIBinaryStream< P > &s, const PIVariant &v)
 Store operator.
 
template<typename P >
PIBinaryStream< P > & operator>> (PIBinaryStream< P > &s, PIVariant &v)
 Restore operator.
 
template<typename P >
PIBinaryStream< P > & operator<< (PIBinaryStream< P > &s, const PIVariantTypes::Enumerator &v)
 Store operator.
 
template<typename P >
PIBinaryStream< P > & operator>> (PIBinaryStream< P > &s, PIVariantTypes::Enumerator &v)
 Restore operator.
 
template<typename P >
PIBinaryStream< P > & operator<< (PIBinaryStream< P > &s, const PIVariantTypes::Enum &v)
 Store operator.
 
template<typename P >
PIBinaryStream< P > & operator>> (PIBinaryStream< P > &s, PIVariantTypes::Enum &v)
 Restore operator.
 
template<typename P >
PIBinaryStream< P > & operator<< (PIBinaryStream< P > &s, const PIVariantTypes::File &v)
 Store operator.
 
template<typename P >
PIBinaryStream< P > & operator>> (PIBinaryStream< P > &s, PIVariantTypes::File &v)
 Restore operator.
 
template<typename P >
PIBinaryStream< P > & operator<< (PIBinaryStream< P > &s, const PIVariantTypes::Dir &v)
 Store operator.
 
template<typename P >
PIBinaryStream< P > & operator>> (PIBinaryStream< P > &s, PIVariantTypes::Dir &v)
 Restore operator.
 
template<typename P >
PIBinaryStream< P > & operator<< (PIBinaryStream< P > &s, const PIVariantTypes::Color &v)
 Store operator.
 
template<typename P >
PIBinaryStream< P > & operator>> (PIBinaryStream< P > &s, PIVariantTypes::Color &v)
 Restore operator.
 
template<typename P >
PIBinaryStream< P > & operator<< (PIBinaryStream< P > &s, const PIVariantTypes::IODevice &v)
 Store operator.
 
template<typename P >
PIBinaryStream< P > & operator>> (PIBinaryStream< P > &s, PIVariantTypes::IODevice &v)
 Restore operator.
 

Detailed Description

template<typename P>
class PIBinaryStream< P >

Binary serialization interface.

In your class you should implement this methods:

bool binaryStreamAppendImp (const void * d, size_t s);
bool binaryStreamTakeImp (void * d, size_t s);
ssize_t binaryStreamSizeImp () const;

Function binaryStreamSizeImp should return -1 if size unknown. See details Input/Output stream.

Member Function Documentation

◆ binaryStreamSize()

template<typename P >
ssize_t PIBinaryStream< P >::binaryStreamSize ( ) const
inline

Returns remain size.

Returns -1 if no information about size