Hazelcast C++ Client
Hazelcast C++ Client Library
hazelcast::client::serialization::object_data_input Class Reference
+ Inheritance diagram for hazelcast::client::serialization::object_data_input:

Public Member Functions

 object_data_input (boost::endian::order byte_order, const std::vector< byte > &buffer, int offset, pimpl::PortableSerializer &portable_ser, pimpl::DataSerializer &data_ser, std::shared_ptr< serialization::global_serializer > global_serializer)
 Internal API. More...
 
template<typename T >
std::enable_if<!(std::is_array< T >::value &&std::is_same< typename std::remove_all_extents< T >::type, char >::value), boost::optional< T > >::type read_object ()
 
template<typename T >
std::enable_if< std::is_array< T >::value &&std::is_same< typename std::remove_all_extents< T >::type, char >::value, boost::optional< std::string > >::type read_object ()
 
template<typename T >
std::enable_if< std::is_base_of< identified_data_serializer, hz_serializer< T > >::value, boost::optional< T > >::type read_object (int32_t type_id)
 
template<typename T >
std::enable_if< std::is_base_of< portable_serializer, hz_serializer< T > >::value, boost::optional< T > >::type read_object (int32_t type_id)
 
template<typename T >
std::enable_if< std::is_base_of< builtin_serializer, hz_serializer< T > >::value, boost::optional< T > >::type read_object (int32_t type_id)
 
template<typename T >
std::enable_if< std::is_base_of< custom_serializer, hz_serializer< T > >::value, boost::optional< T > >::type read_object (int32_t type_id)
 
template<typename T >
std::enable_if<!(std::is_base_of< identified_data_serializer, hz_serializer< T >>::value||std::is_base_of< portable_serializer, hz_serializer< T >>::value||std::is_base_of< builtin_serializer, hz_serializer< T >>::value||std::is_base_of< custom_serializer, hz_serializer< T >>::value), boost::optional< T > >::type read_object (int32_t type_id)
 Global serialization. More...
 

Detailed Description

Definition at line 650 of file serialization.h.

Constructor & Destructor Documentation

◆ object_data_input()

hazelcast::client::serialization::object_data_input::object_data_input ( boost::endian::order  byte_order,
const std::vector< byte > &  buffer,
int  offset,
pimpl::PortableSerializer &  portable_ser,
pimpl::DataSerializer &  data_ser,
std::shared_ptr< serialization::global_serializer global_serializer 
)

Internal API.

Constructor

Definition at line 267 of file serialization.cpp.

271  : pimpl::data_input<std::vector<byte>>(byte_order, buffer, offset), portable_serializer_(portable_ser), data_serializer_(data_ser), global_serializer_(std::move(global_serializer)) {}

Member Function Documentation

◆ read_object() [1/2]

template<typename T >
std::enable_if< std::is_array< T >::value &&std::is_same< typename std::remove_all_extents< T >::type, char >::value, boost::optional< std::string > >::type hazelcast::client::serialization::object_data_input::read_object
inline
Returns
the object read
Exceptions
ioif it reaches end of file before finish reading

Definition at line 1743 of file serialization.h.

1743  {
1744  int32_t typeId = read(boost::endian::order::big);
1745  if (static_cast<int32_t>(pimpl::serialization_constants::CONSTANT_TYPE_NULL) == typeId) {
1746  return boost::none;
1747  }
1748  return read_object<T>(typeId);
1749  }

◆ read_object() [2/2]

template<typename T >
std::enable_if<!(std::is_base_of<identified_data_serializer, hz_serializer<T>>::value || std::is_base_of<portable_serializer, hz_serializer<T>>::value || std::is_base_of<builtin_serializer, hz_serializer<T>>::value || std::is_base_of<custom_serializer, hz_serializer<T>>::value), boost::optional<T> >::type hazelcast::client::serialization::object_data_input::read_object ( int32_t  type_id)
inline

Global serialization.

Template Parameters
TThe type to be deserialized to
Parameters
typeIdthe type id of the serilizer
Returns
the deserialized object

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