Hazelcast C++ Client
Hazelcast C++ Client Library
Loading...
Searching...
No Matches
hazelcast::client::serialization::portable_reader Class Reference

Provides a mean of reading portable fields from a binary in form of java primitives arrays of java primitives , nested portable fields and array of portable fields. More...

#include <serialization.h>

Public Member Functions

 portable_reader (pimpl::PortableSerializer &portable_ser, object_data_input &data_input, const std::shared_ptr< ClassDefinition > &cd, bool is_default_reader)
template<typename T>
std::enable_if< std::is_same< int16_t, typenamestd::remove_cv< T >::type >::value||std::is_same< int32_t, typenamestd::remove_cv< T >::type >::value||std::is_same< int64_t, typenamestd::remove_cv< T >::type >::value||std::is_same< float, typenamestd::remove_cv< T >::type >::value||std::is_same< double, typenamestd::remove_cv< T >::type >::value||std::is_same< byte, typenamestd::remove_cv< T >::type >::value||std::is_same< char, typenamestd::remove_cv< T >::type >::value||std::is_same< char16_t, typenamestd::remove_cv< T >::type >::value||std::is_same< bool, typenamestd::remove_cv< T >::type >::value||std::is_same< std::string, typenamestd::remove_cv< T >::type >::value, T >::type read (const std::string &field_name)
template<typename T>
std::enable_if< std::is_same< std::vector< byte >, typenamestd::remove_cv< T >::type >::value||std::is_same< std::vector< char >, typenamestd::remove_cv< T >::type >::value||std::is_same< std::vector< bool >, typenamestd::remove_cv< T >::type >::value||std::is_same< std::vector< int16_t >, typenamestd::remove_cv< T >::type >::value||std::is_same< std::vector< int32_t >, typenamestd::remove_cv< T >::type >::value||std::is_same< std::vector< int64_t >, typenamestd::remove_cv< T >::type >::value||std::is_same< std::vector< float >, typenamestd::remove_cv< T >::type >::value||std::is_same< std::vector< double >, typenamestd::remove_cv< T >::type >::value||std::is_same< std::vector< std::string >, typenamestd::remove_cv< T >::type >::value, boost::optional< T > >::type read (const std::string &field_name)
template<typename T>
boost::optional< T > read_portable (const std::string &field_name)
template<typename T>
boost::optional< std::vector< T > > read_portable_array (const std::string &field_name)
object_data_inputget_raw_data_input ()
void end ()
 Internal Api.

Detailed Description

Provides a mean of reading portable fields from a binary in form of java primitives arrays of java primitives , nested portable fields and array of portable fields.

Definition at line 2012 of file serialization.h.

Constructor & Destructor Documentation

◆ portable_reader()

hazelcast::client::serialization::portable_reader::portable_reader ( pimpl::PortableSerializer & portable_ser,
object_data_input & data_input,
const std::shared_ptr< ClassDefinition > & cd,
bool is_default_reader )

Definition at line 394 of file serialization.cpp.

398 : is_default_reader_(is_default_reader)
399{
400 if (is_default_reader) {
401 default_portable_reader_ = boost::make_optional(
402 pimpl::DefaultPortableReader(portable_ser, input, cd));
403 } else {
404 morphing_portable_reader_ = boost::make_optional(
405 pimpl::MorphingPortableReader(portable_ser, input, cd));
406 }
407}

Member Function Documentation

◆ end()

void hazelcast::client::serialization::portable_reader::end ( )

Internal Api.

Should not be called by end user.

Definition at line 430 of file serialization.cpp.

431{
432 if (is_default_reader_)
433 return default_portable_reader_->end();
434 return morphing_portable_reader_->end();
435}

◆ get_raw_data_input()

object_data_input & hazelcast::client::serialization::portable_reader::get_raw_data_input ( )
See also
PortableWriter#getRawDataOutput

Note that portable fields can not read after getRawDataInput() is called. In case this happens, io will be thrown.

Returns
rawDataInput
Exceptions
io_exception

Definition at line 410 of file serialization.cpp.

411{
412 if (is_default_reader_)
413 return default_portable_reader_->get_raw_data_input();
414 return morphing_portable_reader_->get_raw_data_input();
415}

◆ read() [1/2]

template<typename T>
std::enable_if< std::is_same< int16_t, typenamestd::remove_cv< T >::type >::value||std::is_same< int32_t, typenamestd::remove_cv< T >::type >::value||std::is_same< int64_t, typenamestd::remove_cv< T >::type >::value||std::is_same< float, typenamestd::remove_cv< T >::type >::value||std::is_same< double, typenamestd::remove_cv< T >::type >::value||std::is_same< byte, typenamestd::remove_cv< T >::type >::value||std::is_same< char, typenamestd::remove_cv< T >::type >::value||std::is_same< char16_t, typenamestd::remove_cv< T >::type >::value||std::is_same< bool, typenamestd::remove_cv< T >::type >::value||std::is_same< std::string, typenamestd::remove_cv< T >::type >::value, T >::type hazelcast::client::serialization::portable_reader::read ( const std::string & field_name)
inline
Parameters
fieldNamename of the field
Returns
the value read

Definition at line 2037 of file serialization.h.

2038 {
2039 if (is_default_reader_)
2040 return default_portable_reader_->read<T>(field_name);
2041 return morphing_portable_reader_->read<T>(field_name);
2042 }

◆ read() [2/2]

template<typename T>
std::enable_if< std::is_same< std::vector< byte >, typenamestd::remove_cv< T >::type >::value||std::is_same< std::vector< char >, typenamestd::remove_cv< T >::type >::value||std::is_same< std::vector< bool >, typenamestd::remove_cv< T >::type >::value||std::is_same< std::vector< int16_t >, typenamestd::remove_cv< T >::type >::value||std::is_same< std::vector< int32_t >, typenamestd::remove_cv< T >::type >::value||std::is_same< std::vector< int64_t >, typenamestd::remove_cv< T >::type >::value||std::is_same< std::vector< float >, typenamestd::remove_cv< T >::type >::value||std::is_same< std::vector< double >, typenamestd::remove_cv< T >::type >::value||std::is_same< std::vector< std::string >, typenamestd::remove_cv< T >::type >::value, boost::optional< T > >::type hazelcast::client::serialization::portable_reader::read ( const std::string & field_name)
inline
Parameters
fieldNamename of the field
Returns
the value read

Definition at line 2069 of file serialization.h.

2070 {
2071 if (is_default_reader_)
2072 return default_portable_reader_->read<T>(field_name);
2073 return morphing_portable_reader_->read<T>(field_name);
2074 }

◆ read_portable()

template<typename T>
boost::optional< T > hazelcast::client::serialization::portable_reader::read_portable ( const std::string & field_name)
Template Parameters
typeof the portable class
Parameters
fieldNamename of the field
Returns
the portable value read

Definition at line 2197 of file serialization.h.

2198{
2199 if (is_default_reader_)
2200 return default_portable_reader_->read_portable<T>(field_name);
2201 return morphing_portable_reader_->read_portable<T>(field_name);
2202}

◆ read_portable_array()

template<typename T>
boost::optional< std::vector< T > > hazelcast::client::serialization::portable_reader::read_portable_array ( const std::string & field_name)
Template Parameters
typeof the portable class in array
Parameters
fieldNamename of the field
Returns
the portable array value read
Template Parameters
typeof the portable class in array
Parameters
fieldNamename of the field
Returns
the portable array value read
Exceptions
io_exception

Definition at line 2212 of file serialization.h.

2213{
2214 if (is_default_reader_)
2215 return default_portable_reader_->read_portable_array<T>(field_name);
2216 return morphing_portable_reader_->read_portable_array<T>(field_name);
2217};

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