RInside Version 0.2.12
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
binarystream.h File Reference
#include "typeid.h"
#include <unistd.h>
#include <string>
#include <vector>
#include <type_traits>
#include <utility>
#include <exception>
Include dependency graph for binarystream.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  BinaryStream
 
class  BinaryStream::stream_exception
 
struct  serialization::serializer< T >
 
struct  serialization::serializer< std::string >
 
struct  serialization::serializer< std::vector< T > >
 
struct  binary_stream_helpers::void_t_struct<>
 
struct  binary_stream_helpers::has_serialization_members_cv< T, typename >
 
struct  binary_stream_helpers::has_serialization_members_cv< T, void_t< serialize_member_t< T >, deserialize_member_t< T > > >
 
struct  binary_stream_helpers::has_serialization_members< T >
 

Namespaces

 serialization
 
 binary_stream_helpers
 

Typedefs

template<typename... C>
using binary_stream_helpers::void_t = typename void_t_struct< C...>::type
 
template<typename T >
using binary_stream_helpers::serialize_member_t = decltype(std::declval< T & >().serialize(std::declval< BinaryStream & >()))
 
template<typename T >
using binary_stream_helpers::deserialize_member_t = decltype(T::deserialize(std::declval< BinaryStream & >()))
 

Functions

template<typename T >
std::enable_if
< std::is_arithmetic< T >
::value >::type 
binary_stream_helpers::stream_write (BinaryStream &stream, T &t)
 
template<typename T >
std::enable_if< has_typeid< T >
::value &&std::is_class< T >
::value
&&has_serialization_members< T >
::value >::type 
binary_stream_helpers::stream_write (BinaryStream &stream, T &t)
 
template<typename T >
std::enable_if< has_typeid< T >
::value &&std::is_class< T >
::value
&&!has_serialization_members
< T >::value >::type 
binary_stream_helpers::stream_write (BinaryStream &stream, T &t)
 
template<typename T >
std::enable_if
< std::is_arithmetic< T >
::value, T >::type 
binary_stream_helpers::stream_read (BinaryStream &stream)
 
template<typename T >
std::enable_if< has_typeid< T >
::value &&std::is_class< T >
::value
&&has_serialization_members< T >
::value, T >::type 
binary_stream_helpers::stream_read (BinaryStream &stream)
 
template<typename T >
std::enable_if< has_typeid< T >
::value &&std::is_class< T >
::value
&&!has_serialization_members
< T >::value, T >::type 
binary_stream_helpers::stream_read (BinaryStream &stream)