| Apache Ignite C++

Public Member Functions | List of all members
ignite::binary::BinaryWriter Class Reference

Binary writer. More...

`#include <binary_writer.h>`

## Public Member Functions
| BinaryWriter (impl::binary::BinaryWriterImpl *impl)
| Constructor. More...
void | WriteInt8 (const char *fieldName, int8_t val)
| Write 8-byte signed integer. More...
void | WriteInt8Array (const char *fieldName, const int8_t *val, int32_t len)
| Write array of 8-byte signed integers. More...
void | WriteBool (const char *fieldName, bool val)
| Write bool. More...
void | WriteBoolArray (const char *fieldName, const bool *val, int32_t len)
| Write array of bools. More...
void | WriteInt16 (const char *fieldName, int16_t val)
| Write 16-byte signed integer. More...
void | WriteInt16Array (const char *fieldName, const int16_t *val, int32_t len)
| Write array of 16-byte signed integers. More...
void | WriteUInt16 (const char *fieldName, uint16_t val)
| Write 16-byte unsigned integer. More...
void | WriteUInt16Array (const char *fieldName, const uint16_t *val, int32_t len)
| Write array of 16-byte unsigned integers. More...
void | WriteInt32 (const char *fieldName, int32_t val)
| Write 32-byte signed integer. More...
void | WriteInt32Array (const char *fieldName, const int32_t *val, int32_t len)
| Write array of 32-byte signed integers. More...
void | WriteInt64 (const char *fieldName, int64_t val)
| Write 64-byte signed integer. More...
void | WriteInt64Array (const char *fieldName, const int64_t *val, int32_t len)
| Write array of 64-byte signed integers. More...
void | WriteFloat (const char *fieldName, float val)
| Write float. More...
void | WriteFloatArray (const char *fieldName, const float *val, int32_t len)
| Write array of floats. More...
void | WriteDouble (const char *fieldName, double val)
| Write double. More...
void | WriteDoubleArray (const char *fieldName, const double *val, int32_t len)
| Write array of doubles. More...
void | WriteGuid (const char *fieldName, const Guid &val)
| Write Guid. More...
void | WriteGuidArray (const char *fieldName, const Guid *val, int32_t len)
| Write array of Guids. More...
void | WriteDate (const char *fieldName, const Date &val)
| Write Date. More...
void | WriteDateArray (const char *fieldName, const Date *val, int32_t len)
| Write array of Dates. More...
void | WriteTimestamp (const char *fieldName, const Timestamp &val)
| Write Timestamp. More...
void | WriteTimestampArray (const char *fieldName, const Timestamp *val, int32_t len)
| Write array of Timestamps. More...
void | WriteTime (const char *fieldName, const Time &val)
| Write Time. More...
void | WriteTimeArray (const char *fieldName, const Time *val, int32_t len)
| Write array of Times. More...
void | WriteString (const char *fieldName, const char *val)
| Write string. More...
void | WriteString (const char *fieldName, const char *val, int32_t len)
| Write string. More...
void | WriteString (const char *fieldName, const std::string &val)
| Write string. More...
BinaryStringArrayWriter | WriteStringArray (const char *fieldName)
| Start string array write. More...
void | WriteBinaryEnum (const char *fieldName, BinaryEnumEntry entry)
| Write binary enum entry. More...
void | WriteNull (const char *fieldName)
| Write NULL value. More...
template<typename T >
BinaryArrayWriter< T > | WriteArray (const char *fieldName)
| Start array write. More...
template<typename T >
BinaryCollectionWriter< T > | WriteCollection (const char *fieldName)
| Start collection write. More...
template<typename T >
BinaryCollectionWriter< T > | WriteCollection (const char *fieldName, CollectionType::Type typ)
| Start collection write. More...
template<typename InputIterator >
void | WriteCollection (const char *fieldName, InputIterator first, InputIterator last)
| Write values in interval [first, last). More...
template<typename InputIterator >
void | WriteCollection (const char *fieldName, InputIterator first, InputIterator last, CollectionType::Type typ)
| Write values in interval [first, last). More...
template<typename K , typename V >
BinaryMapWriter< K, V > | WriteMap (const char *fieldName)
| Start map write. More...
template<typename K , typename V >
BinaryMapWriter< K, V > | WriteMap (const char *fieldName, MapType::Type typ)
| Start map write. More...
template<typename T >
void | WriteObject (const char *fieldName, const T &val)
| Write object. More...
template<typename T >
void | WriteEnum (const char *fieldName, T val)
| Write enum entry. More...
BinaryRawWriter | RawWriter ()
| Get raw writer for this reader. More...

## Detailed Description

Binary writer.

This class is implemented as a reference to an implementation so copying of this class instance will only create another reference to the same underlying object.

Note
  User should not store copy of this instance as it can be invalidated as soon as the initially passed to user instance has been destructed. For example this means that if user received an instance of this class as a function argument then he should not store and use copy of this class out of the scope of this function.

## Constructor & Destructor Documentation

## ◆ BinaryWriter()

ignite::binary::BinaryWriter::BinaryWriter | ( | impl::binary::BinaryWriterImpl * | impl | ) |

Constructor.

Internal method. Should not be used by user.

Parameters

  impl | Implementation.

## Member Function Documentation

## ◆ RawWriter()

BinaryRawWriter ignite::binary::BinaryWriter::RawWriter | ( |  | ) |

Get raw writer for this reader.

Returns
  Raw writer.

## ◆ WriteArray()

template<typename T >

BinaryArrayWriter<T> ignite::binary::BinaryWriter::WriteArray | ( | const char * | fieldName | ) |
| inline

Start array write.

Every time you get a BinaryArrayWriter from BinaryWriter you start writing session. Only one single writing session can be open at a time. So it is not allowed to start new writing session without calling BinaryArrayWriter::Close() method prior on obtained BinaryArrayWriter class instance.

Parameters

  fieldName | Field name.

Returns
  Array writer.

## ◆ WriteBinaryEnum()

void ignite::binary::BinaryWriter::WriteBinaryEnum | ( | const char * | fieldName,
|  | BinaryEnumEntry | entry
| ) |  |

Write binary enum entry.

Parameters

  fieldName | Field name.
  entry | Binary enum entry.

## ◆ WriteBool()

void ignite::binary::BinaryWriter::WriteBool | ( | const char * | fieldName,
|  | bool | val
| ) |  |

Write bool.

Maps to "short" type in Java.

Parameters

  fieldName | Field name.
  val | Value.

## ◆ WriteBoolArray()

void ignite::binary::BinaryWriter::WriteBoolArray | ( | const char * | fieldName,
|  | const bool * | val,
|  | int32_t | len
| ) |  |

Write array of bools.

Maps to "bool[]" type in Java.

Parameters

  fieldName | Field name.
  val | Array.
  len | Array length.

## ◆ WriteCollection() [1/4]

template<typename T >

BinaryCollectionWriter<T> ignite::binary::BinaryWriter::WriteCollection | ( | const char * | fieldName | ) |
| inline

Start collection write.

Every time you get a BinaryCollectionWriter from BinaryWriter you start writing session. Only one single writing session can be open at a time. So it is not allowed to start new writing session without calling BinaryCollectionWriter::Close() method prior on obtained BinaryCollectionWriter class instance.

Parameters

  fieldName | Field name.

Returns
  Collection writer.

## ◆ WriteCollection() [2/4]

template<typename T >

BinaryCollectionWriter<T> ignite::binary::BinaryWriter::WriteCollection | ( | const char * | fieldName,
|  | CollectionType::Type | typ
| ) |  |
| inline

Start collection write.

Every time you get a BinaryCollectionWriter from BinaryWriter you start writing session. Only one single writing session can be open at a time. So it is not allowed to start new writing session without calling BinaryCollectionWriter::Close() method prior on obtained BinaryCollectionWriter class instance.

Parameters

  fieldName | Field name.
  typ | Collection type.

Returns
  Collection writer.

## ◆ WriteCollection() [3/4]

template<typename InputIterator >

void ignite::binary::BinaryWriter::WriteCollection | ( | const char * | fieldName,
|  | InputIterator | first,
|  | InputIterator | last
| ) |  |
| inline

Write values in interval [first, last).

Parameters

  fieldName | Field name.
  first | Iterator pointing to the beginning of the interval.
  last | Iterator pointing to the end of the interval.

## ◆ WriteCollection() [4/4]

template<typename InputIterator >

void ignite::binary::BinaryWriter::WriteCollection | ( | const char * | fieldName,
|  | InputIterator | first,
|  | InputIterator | last,
|  | CollectionType::Type | typ
| ) |  |
| inline

Write values in interval [first, last).

Parameters

  fieldName | Field name.
  first | Iterator pointing to the beginning of the interval.
  last | Iterator pointing to the end of the interval.
  typ | Collection type.

## ◆ WriteDate()

void ignite::binary::BinaryWriter::WriteDate | ( | const char * | fieldName,
|  | const Date & | val
| ) |  |

Write Date.

Maps to "Date" type in Java.

Parameters

  fieldName | Field name.
  val | Value.

## ◆ WriteDateArray()

void ignite::binary::BinaryWriter::WriteDateArray | ( | const char * | fieldName,
|  | const Date * | val,
|  | int32_t | len
| ) |  |

Write array of Dates.

Maps to "Date[]" type in Java.

Parameters

  fieldName | Field name.
  val | Array.
  len | Array length.

## ◆ WriteDouble()

void ignite::binary::BinaryWriter::WriteDouble | ( | const char * | fieldName,
|  | double | val
| ) |  |

Write double.

Maps to "double" type in Java.

Parameters

  fieldName | Field name.
  val | Value.

## ◆ WriteDoubleArray()

void ignite::binary::BinaryWriter::WriteDoubleArray | ( | const char * | fieldName,
|  | const double * | val,
|  | int32_t | len
| ) |  |

Write array of doubles.

Maps to "double[]" type in Java.

Parameters

  fieldName | Field name.
  val | Array.
  len | Array length.

## ◆ WriteEnum()

template<typename T >

void ignite::binary::BinaryWriter::WriteEnum | ( | const char * | fieldName,
|  | T | val
| ) |  |
| inline

Write enum entry.

Parameters

  fieldName | Field name.
  val | Binary enum entry.

@trapam T Enum type. BinaryEnum class template should be specialized for the type.

## ◆ WriteFloat()

void ignite::binary::BinaryWriter::WriteFloat | ( | const char * | fieldName,
|  | float | val
| ) |  |

Write float.

Maps to "float" type in Java.

Parameters

  fieldName | Field name.
  val | Value.

## ◆ WriteFloatArray()

void ignite::binary::BinaryWriter::WriteFloatArray | ( | const char * | fieldName,
|  | const float * | val,
|  | int32_t | len
| ) |  |

Write array of floats.

Maps to "float[]" type in Java.

Parameters

  fieldName | Field name.
  val | Array.
  len | Array length.

## ◆ WriteGuid()

void ignite::binary::BinaryWriter::WriteGuid | ( | const char * | fieldName,
|  | const Guid & | val
| ) |  |

Write Guid.

Maps to "UUID" type in Java.

Parameters

  fieldName | Field name.
  val | Value.

## ◆ WriteGuidArray()

void ignite::binary::BinaryWriter::WriteGuidArray | ( | const char * | fieldName,
|  | const Guid * | val,
|  | int32_t | len
| ) |  |

Write array of Guids.

Maps to "UUID[]" type in Java.

Parameters

  fieldName | Field name.
  val | Array.
  len | Array length.

## ◆ WriteInt16()

void ignite::binary::BinaryWriter::WriteInt16 | ( | const char * | fieldName,
|  | int16_t | val
| ) |  |

Write 16-byte signed integer.

Maps to "short" type in Java.

Parameters

  fieldName | Field name.
  val | Value.

## ◆ WriteInt16Array()

void ignite::binary::BinaryWriter::WriteInt16Array | ( | const char * | fieldName,
|  | const int16_t * | val,
|  | int32_t | len
| ) |  |

Write array of 16-byte signed integers.

Maps to "short[]" type in Java.

Parameters

  fieldName | Field name.
  val | Array.
  len | Array length.

## ◆ WriteInt32()

void ignite::binary::BinaryWriter::WriteInt32 | ( | const char * | fieldName,
|  | int32_t | val
| ) |  |

Write 32-byte signed integer.

Maps to "int" type in Java.

Parameters

  fieldName | Field name.
  val | Value.

## ◆ WriteInt32Array()

void ignite::binary::BinaryWriter::WriteInt32Array | ( | const char * | fieldName,
|  | const int32_t * | val,
|  | int32_t | len
| ) |  |

Write array of 32-byte signed integers.

Maps to "int[]" type in Java.

Parameters

  fieldName | Field name.
  val | Array.
  len | Array length.

## ◆ WriteInt64()

void ignite::binary::BinaryWriter::WriteInt64 | ( | const char * | fieldName,
|  | int64_t | val
| ) |  |

Write 64-byte signed integer.

Maps to "long" type in Java.

Parameters

  fieldName | Field name.
  val | Value.

## ◆ WriteInt64Array()

void ignite::binary::BinaryWriter::WriteInt64Array | ( | const char * | fieldName,
|  | const int64_t * | val,
|  | int32_t | len
| ) |  |

Write array of 64-byte signed integers.

Maps to "long[]" type in Java.

Parameters

  fieldName | Field name.
  val | Array.
  len | Array length.

## ◆ WriteInt8()

void ignite::binary::BinaryWriter::WriteInt8 | ( | const char * | fieldName,
|  | int8_t | val
| ) |  |

Write 8-byte signed integer.

Maps to "byte" type in Java.

Parameters

  fieldName | Field name.
  val | Value.

## ◆ WriteInt8Array()

void ignite::binary::BinaryWriter::WriteInt8Array | ( | const char * | fieldName,
|  | const int8_t * | val,
|  | int32_t | len
| ) |  |

Write array of 8-byte signed integers.

Maps to "byte[]" type in Java.

Parameters

  fieldName | Field name.
  val | Array.
  len | Array length.

## ◆ WriteMap() [1/2]

template<typename K , typename V >

BinaryMapWriter<K, V> ignite::binary::BinaryWriter::WriteMap | ( | const char * | fieldName | ) |
| inline

Start map write.

Every time you get a BinaryMapWriter from BinaryWriter you start writing session. Only one single writing session can be open at a time. So it is not allowed to start new writing session without calling BinaryMapWriter::Close() method prior on obtained BinaryMapWriter class instance.

Parameters

  fieldName | Field name.

Returns
  Map writer.

## ◆ WriteMap() [2/2]

template<typename K , typename V >

BinaryMapWriter<K, V> ignite::binary::BinaryWriter::WriteMap | ( | const char * | fieldName,
|  | MapType::Type | typ
| ) |  |
| inline

Start map write.

Every time you get a BinaryMapWriter from BinaryWriter you start writing session. Only one single writing session can be open at a time. So it is not allowed to start new writing session without calling BinaryMapWriter::Close() method prior on obtained BinaryMapWriter class instance.

Parameters

  fieldName | Field name.
  typ | Map type.

Returns
  Map writer.

## ◆ WriteNull()

void ignite::binary::BinaryWriter::WriteNull | ( | const char * | fieldName | ) |

Write NULL value.

Parameters

  fieldName | Field name.

## ◆ WriteObject()

template<typename T >

void ignite::binary::BinaryWriter::WriteObject | ( | const char * | fieldName,
|  | const T & | val
| ) |  |
| inline

Write object.

Parameters

  fieldName | Field name.
  val | Value.

## ◆ WriteString() [1/3]

void ignite::binary::BinaryWriter::WriteString | ( | const char * | fieldName,
|  | const char * | val
| ) |  |

Write string.

Parameters

  fieldName | Field name.
  val | Null-terminated character sequence.

## ◆ WriteString() [2/3]

void ignite::binary::BinaryWriter::WriteString | ( | const char * | fieldName,
|  | const char * | val,
|  | int32_t | len
| ) |  |

Write string.

Parameters

  fieldName | Field name.
  val | String.
  len | String length (characters).

## ◆ WriteString() [3/3]

void ignite::binary::BinaryWriter::WriteString | ( | const char * | fieldName,
|  | const std::string & | val
| ) |  |
| inline

Write string.

Parameters

  fieldName | Field name.
  val | String.

## ◆ WriteStringArray()

BinaryStringArrayWriter ignite::binary::BinaryWriter::WriteStringArray | ( | const char * | fieldName | ) |

Start string array write.

Every time you get a BinaryStringArrayWriter from BinaryWriter you start writing session. Only one single writing session can be open at a time. So it is not allowed to start new writing session without calling BinaryStringArrayWriter::Close() method prior on obtained BinaryStringArrayWriter class instance.

Parameters

  fieldName | Field name.

Returns
  String array writer.

## ◆ WriteTime()

void ignite::binary::BinaryWriter::WriteTime | ( | const char * | fieldName,
|  | const Time & | val
| ) |  |

Write Time.

Maps to "Time" type in Java.

Parameters

  fieldName | Field name.
  val | Value.

## ◆ WriteTimeArray()

void ignite::binary::BinaryWriter::WriteTimeArray | ( | const char * | fieldName,
|  | const Time * | val,
|  | int32_t | len
| ) |  |

Write array of Times.

Maps to "Time[]" type in Java.

Parameters

  fieldName | Field name.
  val | Array.
  len | Array length.

## ◆ WriteTimestamp()

void ignite::binary::BinaryWriter::WriteTimestamp | ( | const char * | fieldName,
|  | const Timestamp & | val
| ) |  |

Write Timestamp.

Maps to "Timestamp" type in Java.

Parameters

  fieldName | Field name.
  val | Value.

## ◆ WriteTimestampArray()

void ignite::binary::BinaryWriter::WriteTimestampArray | ( | const char * | fieldName,
|  | const Timestamp * | val,
|  | int32_t | len
| ) |  |

Write array of Timestamps.

Maps to "Timestamp[]" type in Java.

Parameters

  fieldName | Field name.
  val | Array.
  len | Array length.

## ◆ WriteUInt16()

void ignite::binary::BinaryWriter::WriteUInt16 | ( | const char * | fieldName,
|  | uint16_t | val
| ) |  |

Write 16-byte unsigned integer.

Maps to "char" type in Java.

Parameters

  fieldName | Field name.
  val | Value.

## ◆ WriteUInt16Array()

void ignite::binary::BinaryWriter::WriteUInt16Array | ( | const char * | fieldName,
|  | const uint16_t * | val,
|  | int32_t | len
| ) |  |

Write array of 16-byte unsigned integers.

Maps to "char[]" type in Java.

Parameters

  fieldName | Field name.
  val | Array.
  len | Array length.

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

- binary_writer.h
- binary_writer.cpp