|
template<class... Ts> |
| stream_serializer (actor_system &sys, Ts &&... xs) |
|
template<class... Ts> |
| stream_serializer (execution_unit *ctx, Ts &&... xs) |
|
template<class S , class = typename std::enable_if< std::is_same< typename std::remove_reference<S>::type, typename std::remove_reference<Streambuf>::type >::value >::type> |
| stream_serializer (S &&sb) |
|
error | begin_object (uint16_t &typenr, std::string &name) override |
| Begins processing of an object. More...
|
|
error | end_object () override |
| Ends processing of an object. More...
|
|
error | begin_sequence (size_t &list_size) override |
| Begins processing of a sequence. More...
|
|
error | end_sequence () override |
| Ends processing of a sequence. More...
|
|
error | apply_raw (size_t num_bytes, void *data) override |
| Applies this processor to a raw block of data of size num_bytes . More...
|
|
| serializer (actor_system &sys) |
|
| serializer (execution_unit *ctx=nullptr) |
|
| data_processor (const data_processor &)=delete |
|
| data_processor (execution_unit *ctx=nullptr) |
|
data_processor & | operator= (const data_processor &)=delete |
|
virtual error | begin_object (uint16_t &typenr, std::string &name)=0 |
| Begins processing of an object. More...
|
|
virtual error | end_object ()=0 |
| Ends processing of an object. More...
|
|
virtual error | begin_sequence (size_t &num)=0 |
| Begins processing of a sequence. More...
|
|
virtual error | end_sequence ()=0 |
| Ends processing of a sequence. More...
|
|
execution_unit * | context () |
| Returns the actor system associated to this data processor.
|
|
std::enable_if< std::is_floating_point< T >::value, error >::type | apply (T &x) |
| Applies this processor to an arithmetic type.
|
|
std::enable_if< std::is_integral< T >::value &&!std::is_same< bool, T >::value, error >::type | apply (T &x) |
|
error | apply (std::string &x) |
|
error | apply (std::u16string &x) |
|
error | apply (std::u32string &x) |
|
error | apply (atom_constant< V > &x) |
|
std::enable_if< std::is_enum< T >::value &&!detail::has_serialize< T >::value, error >::type | apply (T &x) |
| Serializes enums using the underlying type if no user-defined serialization is defined.
|
|
std::enable_if< std::is_empty< T >::value &&!detail::is_inspectable< serializer, T >::value, error >::type | apply (T &) |
| Applies this processor to an empty type.
|
|
error | apply (bool &x) |
|
error | apply (std::vector< bool > &x) |
|
std::enable_if< detail::is_iterable< T >::value &&!detail::has_serialize< T >::value &&!detail::is_inspectable< serializer, T >::value, error >::type | apply (T &xs) |
| Applies this processor to a sequence of values.
|
|
std::enable_if< detail::is_serializable< T >::value, error >::type | apply (std::array< T, S > &xs) |
| Applies this processor to an array.
|
|
std::enable_if< detail::is_serializable< T >::value, error >::type | apply (T(&xs)[S]) |
| Applies this processor to an array.
|
|
std::enable_if< detail::is_serializable< typenamestd::remove_const< F >::type >::value &&detail::is_serializable< S >::value, error >::type | apply (std::pair< F, S > &xs) |
|
std::enable_if< detail::conjunction< detail::is_serializable< Ts >::value... >::value, error >::type | apply (std::tuple< Ts... > &xs) |
|
std::enable_if<!std::is_empty< T >::value &&detail::has_serialize< T >::value, error >::type | apply (T &x) |
|
std::enable_if< std::is_integral< Rep >::value, error >::type | apply (std::chrono::duration< Rep, Period > &x) |
|
std::enable_if< std::is_floating_point< Rep >::value, error >::type | apply (std::chrono::duration< Rep, Period > &x) |
|
error | apply (std::chrono::time_point< Clock, Duration > &t) |
|
std::enable_if< detail::is_inspectable< serializer, T >::value &&!detail::has_serialize< T >::value, decltype(inspect(std::declval< serializer & >(), std::declval< T & >()))>::type | apply (T &x) |
|
error | consume_range (T &xs) |
|
error | consume_range_c (T &xs) |
| Converts each element in xs to U before calling apply .
|
|
error | fill_range (T &xs, size_t num_elements) |
|
error | fill_range_c (T &xs, size_t num_elements) |
| Loads elements from type U before inserting to xs .
|
|
virtual error | apply_raw (size_t num_bytes, void *data)=0 |
| Applies this processor to a raw block of data of size num_bytes . More...
|
|
error | operator() () |
|
error | operator() (meta::save_callback_t< F > x, Ts &&... xs) |
|
error | operator() (meta::load_callback_t< F > x, Ts &&... xs) |
|
error | operator() (const meta::annotation &, Ts &&... xs) |
|
std::enable_if< is_allowed_unsafe_message_type< T >::value, error >::type | operator() (const T &, Ts &&... xs) |
|
std::enable_if<!meta::is_annotation< T >::value &&!is_allowed_unsafe_message_type< T >::value, error >::type | operator() (T &&x, Ts &&... xs) |
|
|
using | super = data_processor< serializer > |
|
using | is_saving = std::true_type |
|
using | is_loading = std::false_type |
|
using | result_type = error |
| Return type for operator() .
|
|
using | builtin_t = detail::type_list< int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t, uint64_t, float, double, long double, std::string, std::u16string, std::u32string > |
| List of builtin types for data processors.
|
|
static error | apply_atom_constant (D &self, atom_constant< V > &) |
|
static std::enable_if< D::reads_state &&!detail::is_byte_sequence< T >::value, error >::type | apply_sequence (D &self, T &xs) |
|
static std::enable_if<!D::reads_state &&!detail::is_byte_sequence< T >::value, error >::type | apply_sequence (D &self, T &xs) |
|
static std::enable_if< D::reads_state &&detail::is_byte_sequence< T >::value, error >::type | apply_sequence (D &self, T &xs) |
|
static std::enable_if<!D::reads_state &&detail::is_byte_sequence< T >::value, error >::type | apply_sequence (D &self, T &xs) |
|
static constexpr bool | reads_state = true |
|
static constexpr bool | writes_state = false |
|
template<class Streambuf>
class caf::stream_serializer< Streambuf >
Implements the serializer interface with a binary serialization protocol.