SENSEI
A frame work for generic in situ analytics
sensei::BinaryStream Class Reference

Public Member Functions

 BinaryStream (const BinaryStream &s)
 
const BinaryStreamoperator= (const BinaryStream &other)
 
 BinaryStream (BinaryStream &&s) noexcept
 
const BinaryStreamoperator= (BinaryStream &&other) noexcept
 
 operator bool ()
 
void Clear () noexcept
 
void Resize (unsigned long nBytes)
 
void Grow (unsigned long nBytes)
 
unsigned char * GetData () noexcept
 
const unsigned char * GetData () const noexcept
 
unsigned long Size () const noexcept
 
unsigned long Capacity () const noexcept
 
void SetReadPos (unsigned long n) noexcept
 
void SetWritePos (unsigned long n) noexcept
 
void Swap (BinaryStream &other) noexcept
 
template<typename T >
void Pack (T *val)
 
template<typename T >
void Pack (const T &val, typename std::enable_if<!std::is_class< T >::value >::type *=0)
 
template<typename T >
void Unpack (T &val, typename std::enable_if<!std::is_class< T >::value >::type *=0)
 
template<typename T >
void Pack (const T *val, unsigned long n)
 
template<typename T >
void Unpack (T *val, unsigned long n)
 
void Pack (const std::string &str)
 
void Unpack (std::string &str)
 
template<typename T , unsigned long N>
void Pack (const std::array< T, N > &arr)
 
template<typename T , unsigned long N>
void Unpack (std::array< T, N > &arr)
 
template<typename K , typename V >
void Pack (const std::map< K, V > &amap)
 
template<typename K , typename V >
void Unpack (std::map< K, V > &amap)
 
template<typename T >
void Pack (const std::vector< T > &v, typename std::enable_if< std::is_class< T >::value >::type *=0)
 
template<typename T >
void Unpack (std::vector< T > &v, typename std::enable_if< std::is_class< T >::value >::type *=0)
 
template<typename T >
void Pack (const std::vector< T > &v, typename std::enable_if<!std::is_class< T >::value >::type *=0)
 
template<typename T >
void Unpack (std::vector< T > &v, typename std::enable_if<!std::is_class< T >::value >::type *=0)
 
int Broadcast (int rootRank=0)
 

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