PIP 5.5.3
Platform-Independent Primitives
Classes | Functions
pibinarystream.h File Reference

Binary serialization interface. More...

#include "pibitarray.h"
#include "pimap.h"
#include "pimemoryblock.h"
#include "piset.h"
#include "pivector2d.h"

Classes

class  PIBinaryStream< P >
 Binary serialization interface. More...
 

Functions

template<typename P , typename T , typename std::enable_if< std::is_trivially_copyable< T >::value, int >::type = 0, typename std::enable_if< std::is_same< decltype(std::declval< PIBinaryStream< P > & >()<< std::declval< const T & >()), PIBinaryStreamTrivialRef< P > >::value , int , ::type = 0>
PIBinaryStream< P > & operator<< (PIBinaryStream< P > &s, const PIVector< T > &v)
 Store operator for PIVector of any trivial copyable type.
 
template<typename P , typename T , typename std::enable_if< std::is_trivially_copyable< T >::value, int >::type = 0, typename std::enable_if< std::is_same< decltype(std::declval< PIBinaryStream< P > & >()<< std::declval< const T & >()), PIBinaryStreamTrivialRef< P > >::value , int , ::type = 0>
PIBinaryStream< P > & operator<< (PIBinaryStream< P > &s, const PIDeque< T > &v)
 Store operator for PIDeque of any trivial copyable type.
 
template<typename P , typename T , typename std::enable_if< std::is_trivially_copyable< T >::value, int >::type = 0, typename std::enable_if< std::is_same< decltype(std::declval< PIBinaryStream< P > & >()<< std::declval< const T & >()), PIBinaryStreamTrivialRef< P > >::value , int , ::type = 0>
PIBinaryStream< P > & operator<< (PIBinaryStream< P > &s, const PIVector2D< T > &v)
 Store operator for PIVector2D of any trivial copyable type.
 
template<typename P >
PIBinaryStream< P > & operator<< (PIBinaryStream< P > &s, const PIBitArray &v)
 Store operator.
 
template<typename P , typename Type0 , typename Type1 >
PIBinaryStream< P > & operator<< (PIBinaryStream< P > &s, const PIPair< Type0, Type1 > &v)
 Store operator.
 
template<typename P , typename T , typename std::enable_if< std::is_trivially_copyable< T >::value, int >::type = 0, typename std::enable_if< std::is_same< decltype(std::declval< PIBinaryStream< P > & >() > > std::declval< T & >()), PIBinaryStreamTrivialRef< P > >::value , int , ::type = 0>
PIBinaryStream< P > & operator>> (PIBinaryStream< P > &s, PIVector< T > &v)
 Restore operator for PIVector of any trivial copyable type.
 
template<typename P , typename T , typename std::enable_if< std::is_trivially_copyable< T >::value, int >::type = 0, typename std::enable_if< std::is_same< decltype(std::declval< PIBinaryStream< P > & >() > > std::declval< T & >()), PIBinaryStreamTrivialRef< P > >::value , int , ::type = 0>
PIBinaryStream< P > & operator>> (PIBinaryStream< P > &s, PIDeque< T > &v)
 Restore operator for PIDeque of any trivial copyable type.
 
template<typename P , typename T , typename std::enable_if< std::is_trivially_copyable< T >::value, int >::type = 0, typename std::enable_if< std::is_same< decltype(std::declval< PIBinaryStream< P > & >() > > std::declval< T & >()), PIBinaryStreamTrivialRef< P > >::value , int , ::type = 0>
PIBinaryStream< P > & operator>> (PIBinaryStream< P > &s, PIVector2D< T > &v)
 Restore operator for PIVector2D of any trivial copyable type.
 
template<typename P >
PIBinaryStream< P > & operator>> (PIBinaryStream< P > &s, PIBitArray &v)
 Restore operator.
 
template<typename P , typename Type0 , typename Type1 >
PIBinaryStream< P > & operator>> (PIBinaryStream< P > &s, PIPair< Type0, Type1 > &v)
 Restore operator.
 
template<typename P , typename T , typename std::enable_if<!std::is_trivially_copyable< T >::value, int >::type = 0>
PIBinaryStream< P > & operator<< (PIBinaryStream< P > &s, const PIVector< T > &v)
 Store operator for PIVector of any compound type.
 
template<typename P , typename T , typename std::enable_if<!std::is_trivially_copyable< T >::value, int >::type = 0>
PIBinaryStream< P > & operator<< (PIBinaryStream< P > &s, const PIDeque< T > &v)
 Store operator for PIDeque of any compound type.
 
template<typename P , typename T , typename std::enable_if<!std::is_trivially_copyable< T >::value, int >::type = 0>
PIBinaryStream< P > & operator<< (PIBinaryStream< P > &s, const PIVector2D< T > &v)
 Store operator for PIVector2D of any compound type.
 
template<typename P , typename T , typename std::enable_if<!std::is_trivially_copyable< T >::value, int >::type = 0>
PIBinaryStream< P > & operator>> (PIBinaryStream< P > &s, PIVector< T > &v)
 Restore operator for PIVector of any compound type.
 
template<typename P , typename T , typename std::enable_if<!std::is_trivially_copyable< T >::value, int >::type = 0>
PIBinaryStream< P > & operator>> (PIBinaryStream< P > &s, PIDeque< T > &v)
 Restore operator for PIDeque of any compound type.
 
template<typename P , typename T , typename std::enable_if<!std::is_trivially_copyable< T >::value, int >::type = 0>
PIBinaryStream< P > & operator>> (PIBinaryStream< P > &s, PIVector2D< T > &v)
 Restore operator for PIVector2D of any compound type.
 
template<typename P , typename Key , typename T >
PIBinaryStream< P > & operator<< (PIBinaryStream< P > &s, const PIMap< Key, T > &v)
 Store operator.
 
template<typename P , typename Key , typename T >
PIBinaryStream< P > & operator>> (PIBinaryStream< P > &s, PIMap< Key, T > &v)
 Restore operator.
 
template<typename P , typename Key >
PIBinaryStream< P > & operator<< (PIBinaryStream< P > &s, const PISet< Key > &v)
 Store operator.
 
template<typename P , typename Key >
PIBinaryStream< P > & operator>> (PIBinaryStream< P > &s, PISet< Key > &v)
 Restore operator.
 

Detailed Description

Binary serialization interface.