RInside Version 0.2.12
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
binary_stream_helpers Namespace Reference

Classes

struct  has_serialization_members
 
struct  has_serialization_members_cv
 
struct  has_serialization_members_cv< T, void_t< serialize_member_t< T >, deserialize_member_t< T > > >
 
struct  void_t_struct
 

Typedefs

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

Functions

template<typename T >
std::enable_if
< std::is_arithmetic< T >
::value >::type 
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 
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 
stream_write (BinaryStream &stream, T &t)
 
template<typename T >
std::enable_if
< std::is_arithmetic< T >
::value, T >::type 
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 
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 
stream_read (BinaryStream &stream)
 

Typedef Documentation

template<typename T >
using binary_stream_helpers::deserialize_member_t = typedef decltype( T::deserialize( std::declval<BinaryStream&>() ) )

Definition at line 116 of file binarystream.h.

template<typename T >
using binary_stream_helpers::serialize_member_t = typedef decltype( std::declval<T&>().serialize( std::declval<BinaryStream&>() ) )

Definition at line 113 of file binarystream.h.

template<typename... C>
using binary_stream_helpers::void_t = typedef typename void_t_struct<C...>::type

Definition at line 107 of file binarystream.h.

Function Documentation

template<typename T >
std::enable_if< std::is_arithmetic<T>::value, T >::type binary_stream_helpers::stream_read ( BinaryStream stream)

Definition at line 155 of file binarystream.h.

References BinaryStream::read().

Here is the call graph for this function:

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)

Definition at line 163 of file binarystream.h.

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)

Definition at line 169 of file binarystream.h.

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

Definition at line 133 of file binarystream.h.

References BinaryStream::write().

Here is the call graph for this function:

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 
)

Definition at line 139 of file binarystream.h.

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 
)

Definition at line 145 of file binarystream.h.