Apache Ignite C++
Public Member Functions | List of all members
ignite::binary::BinaryReader Class Reference

Binary reader. More...

#include <binary_reader.h>

Public Member Functions

 BinaryReader (ignite::impl::binary::BinaryReaderImpl *impl)
 Constructor. More...
 
int8_t ReadInt8 (const char *fieldName)
 Read 8-byte signed integer. More...
 
int32_t ReadInt8Array (const char *fieldName, int8_t *res, int32_t len)
 Read array of 8-byte signed integers. More...
 
bool ReadBool (const char *fieldName)
 Read bool. More...
 
int32_t ReadBoolArray (const char *fieldName, bool *res, int32_t len)
 Read array of bools. More...
 
int16_t ReadInt16 (const char *fieldName)
 Read 16-byte signed integer. More...
 
int32_t ReadInt16Array (const char *fieldName, int16_t *res, int32_t len)
 Read array of 16-byte signed integers. More...
 
uint16_t ReadUInt16 (const char *fieldName)
 Read 16-byte unsigned integer. More...
 
int32_t ReadUInt16Array (const char *fieldName, uint16_t *res, int32_t len)
 Read array of 16-byte unsigned integers. More...
 
int32_t ReadInt32 (const char *fieldName)
 Read 32-byte signed integer. More...
 
int32_t ReadInt32Array (const char *fieldName, int32_t *res, int32_t len)
 Read array of 32-byte signed integers. More...
 
int64_t ReadInt64 (const char *fieldName)
 Read 64-byte signed integer. More...
 
int32_t ReadInt64Array (const char *fieldName, int64_t *res, int32_t len)
 Read array of 64-byte signed integers. More...
 
float ReadFloat (const char *fieldName)
 Read float. More...
 
int32_t ReadFloatArray (const char *fieldName, float *res, int32_t len)
 Read array of floats. More...
 
double ReadDouble (const char *fieldName)
 Read double. More...
 
int32_t ReadDoubleArray (const char *fieldName, double *res, int32_t len)
 Read array of doubles. More...
 
Guid ReadGuid (const char *fieldName)
 Read Guid. More...
 
int32_t ReadGuidArray (const char *fieldName, Guid *res, int32_t len)
 Read array of Guids. More...
 
Date ReadDate (const char *fieldName)
 Read Date. More...
 
int32_t ReadDateArray (const char *fieldName, Date *res, int32_t len)
 Read array of Dates. More...
 
Timestamp ReadTimestamp (const char *fieldName)
 Read Timestamp. More...
 
int32_t ReadTimestampArray (const char *fieldName, Timestamp *res, int32_t len)
 Read array of Timestamps. More...
 
Time ReadTime (const char *fieldName)
 Read Time. More...
 
int32_t ReadTimeArray (const char *fieldName, Time *res, int32_t len)
 Read array of Times. More...
 
int32_t ReadString (const char *fieldName, char *res, int32_t len)
 Read string. More...
 
std::string ReadString (const char *fieldName)
 Read string from the stream. More...
 
BinaryStringArrayReader ReadStringArray (const char *fieldName)
 Start string array read. More...
 
BinaryEnumEntry ReadBinaryEnum (const char *fieldName)
 Read enum entry. More...
 
template<typename T >
BinaryArrayReader< T > ReadArray (const char *fieldName)
 Start array read. More...
 
template<typename T >
BinaryCollectionReader< T > ReadCollection (const char *fieldName)
 Start collection read. More...
 
template<typename T , typename OutputIterator >
int32_t ReadCollection (const char *fieldName, OutputIterator out)
 Read values and insert them to specified position. More...
 
template<typename K , typename V >
BinaryMapReader< K, V > ReadMap (const char *fieldName)
 Start map read. More...
 
CollectionType::Type ReadCollectionType (const char *fieldName)
 Read type of the collection. More...
 
int32_t ReadCollectionSize (const char *fieldName)
 Read type of the collection. More...
 
template<typename T >
ReadObject (const char *fieldName)
 Read object. More...
 
template<typename T >
ReadEnum (const char *fieldName)
 Read enum value. More...
 
BinaryRawReader RawReader ()
 Get raw reader for this reader. More...
 

Detailed Description

Binary reader.

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

◆ BinaryReader()

ignite::binary::BinaryReader::BinaryReader ( ignite::impl::binary::BinaryReaderImpl *  impl)

Constructor.

Internal method. Should not be used by user.

Parameters
implImplementation.

Member Function Documentation

◆ RawReader()

BinaryRawReader ignite::binary::BinaryReader::RawReader ( )

Get raw reader for this reader.

Returns
Raw reader.

◆ ReadArray()

template<typename T >
BinaryArrayReader<T> ignite::binary::BinaryReader::ReadArray ( const char *  fieldName)
inline

Start array read.

Every time you get a BinaryArrayReader from BinaryReader you start reading session. Only one single reading session can be open at a time. So it is not allowed to start new reading session until all elements of the collection have been read.

Parameters
fieldNameField name.
Returns
Array reader.

◆ ReadBinaryEnum()

BinaryEnumEntry ignite::binary::BinaryReader::ReadBinaryEnum ( const char *  fieldName)

Read enum entry.

Parameters
fieldNameField name.
Returns
Enum entry.

◆ ReadBool()

bool ignite::binary::BinaryReader::ReadBool ( const char *  fieldName)

Read bool.

Maps to "short" type in Java.

Parameters
fieldNameField name.
Returns
Result.

◆ ReadBoolArray()

int32_t ignite::binary::BinaryReader::ReadBoolArray ( const char *  fieldName,
bool *  res,
int32_t  len 
)

Read array of bools.

Maps to "bool[]" type in Java.

Parameters
fieldNameField name.
resArray to store data to.
lenExpected length of array.
Returns
Actual amount of elements read. If "len" argument is less than actual array size or resulting array is set to null, nothing will be written to resulting array and returned value will contain required array length. -1 will be returned in case array in stream was null.

◆ ReadCollection() [1/2]

template<typename T >
BinaryCollectionReader<T> ignite::binary::BinaryReader::ReadCollection ( const char *  fieldName)
inline

Start collection read.

Every time you get a BinaryCollectionReader from BinaryReader you start reading session. Only one single reading session can be open at a time. So it is not allowed to start new reading session until all elements of the collection have been read.

Parameters
fieldNameField name.
Returns
Collection reader.

◆ ReadCollection() [2/2]

template<typename T , typename OutputIterator >
int32_t ignite::binary::BinaryReader::ReadCollection ( const char *  fieldName,
OutputIterator  out 
)
inline

Read values and insert them to specified position.

Parameters
fieldNameField name.
outOutput iterator to the initial position in the destination sequence.
Returns
Number of elements that have been read.

◆ ReadCollectionSize()

int32_t ignite::binary::BinaryReader::ReadCollectionSize ( const char *  fieldName)

Read type of the collection.

Parameters
fieldNameField name.
Returns
Collection size.

◆ ReadCollectionType()

CollectionType::Type ignite::binary::BinaryReader::ReadCollectionType ( const char *  fieldName)

Read type of the collection.

Parameters
fieldNameField name.
Returns
Collection type.

◆ ReadDate()

Date ignite::binary::BinaryReader::ReadDate ( const char *  fieldName)

Read Date.

Maps to "Date" type in Java.

Parameters
fieldNameField name.
Returns
Result.

◆ ReadDateArray()

int32_t ignite::binary::BinaryReader::ReadDateArray ( const char *  fieldName,
Date res,
int32_t  len 
)

Read array of Dates.

Maps to "Date[]" type in Java.

Parameters
fieldNameField name.
resArray to store data to.
lenExpected length of array.
Returns
Actual amount of elements read. If "len" argument is less than actual array size or resulting array is set to null, nothing will be written to resulting array and returned value will contain required array length. -1 will be returned in case array in stream was null.

◆ ReadDouble()

double ignite::binary::BinaryReader::ReadDouble ( const char *  fieldName)

Read double.

Maps to "double" type in Java.

Parameters
fieldNameField name.
Returns
Result.

◆ ReadDoubleArray()

int32_t ignite::binary::BinaryReader::ReadDoubleArray ( const char *  fieldName,
double *  res,
int32_t  len 
)

Read array of doubles.

Maps to "double[]" type in Java.

Parameters
fieldNameField name.
resArray to store data to.
lenExpected length of array.
Returns
Actual amount of elements read. If "len" argument is less than actual array size or resulting array is set to null, nothing will be written to resulting array and returned value will contain required array length. -1 will be returned in case array in stream was null.

◆ ReadEnum()

template<typename T >
T ignite::binary::BinaryReader::ReadEnum ( const char *  fieldName)
inline

Read enum value.

Returns
Enum value.

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

◆ ReadFloat()

float ignite::binary::BinaryReader::ReadFloat ( const char *  fieldName)

Read float.

Maps to "float" type in Java.

Parameters
fieldNameField name.
Returns
Result.

◆ ReadFloatArray()

int32_t ignite::binary::BinaryReader::ReadFloatArray ( const char *  fieldName,
float *  res,
int32_t  len 
)

Read array of floats.

Maps to "float[]" type in Java.

Parameters
fieldNameField name.
resArray to store data to.
lenExpected length of array.
Returns
Actual amount of elements read. If "len" argument is less than actual array size or resulting array is set to null, nothing will be written to resulting array and returned value will contain required array length. -1 will be returned in case array in stream was null.

◆ ReadGuid()

Guid ignite::binary::BinaryReader::ReadGuid ( const char *  fieldName)

Read Guid.

Maps to "UUID" type in Java.

Parameters
fieldNameField name.
Returns
Result.

◆ ReadGuidArray()

int32_t ignite::binary::BinaryReader::ReadGuidArray ( const char *  fieldName,
Guid res,
int32_t  len 
)

Read array of Guids.

Maps to "UUID[]" type in Java.

Parameters
fieldNameField name.
resArray to store data to.
lenExpected length of array.
Returns
Actual amount of elements read. If "len" argument is less than actual array size or resulting array is set to null, nothing will be written to resulting array and returned value will contain required array length. -1 will be returned in case array in stream was null.

◆ ReadInt16()

int16_t ignite::binary::BinaryReader::ReadInt16 ( const char *  fieldName)

Read 16-byte signed integer.

Maps to "short" type in Java.

Parameters
fieldNameField name.
Returns
Result.

◆ ReadInt16Array()

int32_t ignite::binary::BinaryReader::ReadInt16Array ( const char *  fieldName,
int16_t *  res,
int32_t  len 
)

Read array of 16-byte signed integers.

Maps to "short[]" type in Java.

Parameters
fieldNameField name.
resArray to store data to.
lenExpected length of array.
Returns
Actual amount of elements read. If "len" argument is less than actual array size or resulting array is set to null, nothing will be written to resulting array and returned value will contain required array length. -1 will be returned in case array in stream was null.

◆ ReadInt32()

int32_t ignite::binary::BinaryReader::ReadInt32 ( const char *  fieldName)

Read 32-byte signed integer.

Maps to "int" type in Java.

Parameters
fieldNameField name.
Returns
Result.

◆ ReadInt32Array()

int32_t ignite::binary::BinaryReader::ReadInt32Array ( const char *  fieldName,
int32_t *  res,
int32_t  len 
)

Read array of 32-byte signed integers.

Maps to "int[]" type in Java.

Parameters
fieldNameField name.
resArray to store data to.
lenExpected length of array.
Returns
Actual amount of elements read. If "len" argument is less than actual array size or resulting array is set to null, nothing will be written to resulting array and returned value will contain required array length. -1 will be returned in case array in stream was null.

◆ ReadInt64()

int64_t ignite::binary::BinaryReader::ReadInt64 ( const char *  fieldName)

Read 64-byte signed integer.

Maps to "long" type in Java.

Parameters
fieldNameField name.
Returns
Result.

◆ ReadInt64Array()

int32_t ignite::binary::BinaryReader::ReadInt64Array ( const char *  fieldName,
int64_t *  res,
int32_t  len 
)

Read array of 64-byte signed integers.

Maps to "long[]" type in Java.

Parameters
fieldNameField name.
resArray to store data to.
lenExpected length of array.
Returns
Actual amount of elements read. If "len" argument is less than actual array size or resulting array is set to null, nothing will be written to resulting array and returned value will contain required array length. -1 will be returned in case array in stream was null.

◆ ReadInt8()

int8_t ignite::binary::BinaryReader::ReadInt8 ( const char *  fieldName)

Read 8-byte signed integer.

Maps to "byte" type in Java.

Parameters
fieldNameField name.
fieldNameField name.
Returns
Result.

◆ ReadInt8Array()

int32_t ignite::binary::BinaryReader::ReadInt8Array ( const char *  fieldName,
int8_t *  res,
int32_t  len 
)

Read array of 8-byte signed integers.

Maps to "byte[]" type in Java.

Parameters
fieldNameField name.
resArray to store data to.
lenExpected length of array.
Returns
Actual amount of elements read. If "len" argument is less than actual array size or resulting array is set to null, nothing will be written to resulting array and returned value will contain required array length. -1 will be returned in case array in stream was null.

◆ ReadMap()

template<typename K , typename V >
BinaryMapReader<K, V> ignite::binary::BinaryReader::ReadMap ( const char *  fieldName)
inline

Start map read.

Every time you get a BinaryMapReader from BinaryReader you start reading session. Only one single reading session can be open at a time. So it is not allowed to start new reading session until all elements of the collection have been read.

Parameters
fieldNameField name.
Returns
Map reader.

◆ ReadObject()

template<typename T >
T ignite::binary::BinaryReader::ReadObject ( const char *  fieldName)
inline

Read object.

Parameters
fieldNameField name.
Returns
Object.

@trapam T Object type. BinaryType class template should be specialized for the type.

◆ ReadString() [1/2]

std::string ignite::binary::BinaryReader::ReadString ( const char *  fieldName)
inline

Read string from the stream.

Parameters
fieldNameField name.
Returns
String.

◆ ReadString() [2/2]

int32_t ignite::binary::BinaryReader::ReadString ( const char *  fieldName,
char *  res,
int32_t  len 
)

Read string.

Parameters
fieldNameField name.
resArray to store data to.
lenExpected length of string. NULL terminator will be set in case len is greater than real string length.
Returns
Actual amount of elements read. If "len" argument is less than actual array size or resulting array is set to null, nothing will be written to resulting array and returned value will contain required array length. -1 will be returned in case array in stream was null.

◆ ReadStringArray()

BinaryStringArrayReader ignite::binary::BinaryReader::ReadStringArray ( const char *  fieldName)

Start string array read.

Every time you get a BinaryStringArrayReader from BinaryReader you start reading session. Only one single reading session can be open at a time. So it is not allowed to start new reading session until all elements of the collection have been read.

Parameters
fieldNameField name.
Returns
String array reader.

◆ ReadTime()

Time ignite::binary::BinaryReader::ReadTime ( const char *  fieldName)

Read Time.

Maps to "Time" type in Java.

Parameters
fieldNameField name.
Returns
Result.

◆ ReadTimeArray()

int32_t ignite::binary::BinaryReader::ReadTimeArray ( const char *  fieldName,
Time res,
int32_t  len 
)

Read array of Times.

Maps to "Time[]" type in Java.

Parameters
fieldNameField name.
resArray to store data to.
lenExpected length of array.
Returns
Actual amount of elements read. If "len" argument is less than actual array size or resulting array is set to null, nothing will be written to resulting array and returned value will contain required array length. -1 will be returned in case array in stream was null.

◆ ReadTimestamp()

Timestamp ignite::binary::BinaryReader::ReadTimestamp ( const char *  fieldName)

Read Timestamp.

Maps to "Timestamp" type in Java.

Parameters
fieldNameField name.
Returns
Result.

◆ ReadTimestampArray()

int32_t ignite::binary::BinaryReader::ReadTimestampArray ( const char *  fieldName,
Timestamp res,
int32_t  len 
)

Read array of Timestamps.

Maps to "Timestamp[]" type in Java.

Parameters
fieldNameField name.
resArray to store data to.
lenExpected length of array.
Returns
Actual amount of elements read. If "len" argument is less than actual array size or resulting array is set to null, nothing will be written to resulting array and returned value will contain required array length. -1 will be returned in case array in stream was null.

◆ ReadUInt16()

uint16_t ignite::binary::BinaryReader::ReadUInt16 ( const char *  fieldName)

Read 16-byte unsigned integer.

Maps to "char" type in Java.

Parameters
fieldNameField name.
Returns
Result.

◆ ReadUInt16Array()

int32_t ignite::binary::BinaryReader::ReadUInt16Array ( const char *  fieldName,
uint16_t *  res,
int32_t  len 
)

Read array of 16-byte unsigned integers.

Maps to "char[]" type in Java.

Parameters
fieldNameField name.
resArray to store data to.
lenExpected length of array.
Returns
Actual amount of elements read. If "len" argument is less than actual array size or resulting array is set to null, nothing will be written to resulting array and returned value will contain required array length. -1 will be returned in case array in stream was null.

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