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

Provides a mean of writing portable fields to 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_writer (pimpl::DefaultPortableWriter *default_portable_writer)
 Internal api constructor.
 portable_writer (pimpl::ClassDefinitionWriter *class_definition_writer)
 Internal api constructor.
template<typename T>
void write (const std::string &field_name, T value)
void end ()
 Internal api , should not be called by end user.
template<typename T>
void write_null_portable (const std::string &field_name)
 To write a null portable value.
template<typename T>
void write_portable (const std::string &field_name, const T *portable)
template<typename T>
void write_portable_array (const std::string &field_name, const std::vector< T > *values)
object_data_outputget_raw_data_output ()
 After writing portable fields, one can write remaining fields in old fashioned way consecutively at the end of stream.

Detailed Description

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

Definition at line 2120 of file serialization.h.

Constructor & Destructor Documentation

◆ portable_writer() [1/2]

hazelcast::client::serialization::portable_writer::portable_writer ( pimpl::DefaultPortableWriter * default_portable_writer)

Internal api constructor.

Definition at line 102 of file serialization.cpp.

104 : default_portable_writer_(default_portable_writer)
105 , class_definition_writer_(nullptr)
106 , is_default_writer_(true)
107{}

◆ portable_writer() [2/2]

hazelcast::client::serialization::portable_writer::portable_writer ( pimpl::ClassDefinitionWriter * class_definition_writer)

Internal api constructor.

Definition at line 109 of file serialization.cpp.

111 : default_portable_writer_(nullptr)
112 , class_definition_writer_(class_definition_writer)
113 , is_default_writer_(false)
114{}

Member Function Documentation

◆ end()

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

Internal api , should not be called by end user.

Definition at line 117 of file serialization.cpp.

118{
119 if (is_default_writer_)
120 return default_portable_writer_->end();
121 return class_definition_writer_->end();
122}

◆ get_raw_data_output()

object_data_output & hazelcast::client::serialization::portable_writer::get_raw_data_output ( )

After writing portable fields, one can write remaining fields in old fashioned way consecutively at the end of stream.

User should not that after getting rawDataOutput trying to write portable fields will result in io_exception

Returns
object_data_output
Exceptions
io_exception

Definition at line 125 of file serialization.cpp.

126{
127 if (is_default_writer_)
128 return default_portable_writer_->get_raw_data_output();
129 return class_definition_writer_->get_raw_data_output();
130}

◆ write()

template<typename T>
void hazelcast::client::serialization::portable_writer::write ( const std::string & field_name,
T value )
inline

Definition at line 2134 of file serialization.h.

2135 {
2136 if (is_default_writer_) {
2137 default_portable_writer_->write(field_name, value);
2138 } else {
2139 class_definition_writer_->write(field_name, value);
2140 }
2141 }

◆ write_null_portable()

template<typename T>
void hazelcast::client::serialization::portable_writer::write_null_portable ( const std::string & field_name)

To write a null portable value.

Template Parameters
typeof the portable field
Parameters
fieldNamename of the field
Exceptions
io_exception

Definition at line 2221 of file serialization.h.

2222{
2223 if (is_default_writer_)
2224 return default_portable_writer_->write_null_portable<T>(field_name);
2225 return class_definition_writer_->write_null_portable<T>(field_name);
2226}

◆ write_portable()

template<typename T>
void hazelcast::client::serialization::portable_writer::write_portable ( const std::string & field_name,
const T * portable )
Template Parameters
typeof the portable class
Parameters
fieldNamename of the field
portablePortable to be written
Exceptions
io_exception

Definition at line 2236 of file serialization.h.

2238{
2239 if (is_default_writer_)
2240 return default_portable_writer_->write_portable(field_name, portable);
2241 return class_definition_writer_->write_portable(field_name, portable);
2242}

◆ write_portable_array()

template<typename T>
void hazelcast::client::serialization::portable_writer::write_portable_array ( const std::string & field_name,
const std::vector< T > * values )
Template Parameters
typeof the portable class
Parameters
fieldNamename of the field
valuesportable array to be written
Exceptions
io_exception

Definition at line 2252 of file serialization.h.

2254{
2255 if (is_default_writer_)
2256 return default_portable_writer_->write_portable_array(field_name,
2257 values);
2258 return class_definition_writer_->write_portable_array(field_name, values);
2259}

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