23 #ifndef _IGNITE_BINARY_BINARY_READER
24 #define _IGNITE_BINARY_BINARY_READER
29 #include <ignite/common/common.h>
64 BinaryReader(ignite::impl::binary::BinaryReaderImpl* impl);
73 int8_t ReadInt8(
const char* fieldName);
86 int32_t ReadInt8Array(
const char* fieldName, int8_t* res, int32_t len);
94 bool ReadBool(
const char* fieldName);
107 int32_t ReadBoolArray(
const char* fieldName,
bool* res, int32_t len);
115 int16_t ReadInt16(
const char* fieldName);
128 int32_t ReadInt16Array(
const char* fieldName, int16_t* res, int32_t len);
136 uint16_t ReadUInt16(
const char* fieldName);
149 int32_t ReadUInt16Array(
const char* fieldName, uint16_t* res, int32_t len);
157 int32_t ReadInt32(
const char* fieldName);
170 int32_t ReadInt32Array(
const char* fieldName, int32_t* res, int32_t len);
178 int64_t ReadInt64(
const char* fieldName);
191 int32_t ReadInt64Array(
const char* fieldName, int64_t* res, int32_t len);
199 float ReadFloat(
const char* fieldName);
212 int32_t ReadFloatArray(
const char* fieldName,
float* res, int32_t len);
220 double ReadDouble(
const char* fieldName);
233 int32_t ReadDoubleArray(
const char* fieldName,
double* res, int32_t len);
241 Guid ReadGuid(
const char* fieldName);
254 int32_t ReadGuidArray(
const char* fieldName,
Guid* res, int32_t len);
262 Date ReadDate(
const char* fieldName);
275 int32_t ReadDateArray(
const char* fieldName,
Date* res,
const int32_t len);
283 Timestamp ReadTimestamp(
const char* fieldName);
296 int32_t ReadTimestampArray(
const char* fieldName,
Timestamp* res,
const int32_t len);
310 int32_t ReadString(
const char* fieldName,
char* res, int32_t len);
320 int32_t len = ReadString(fieldName, NULL, 0);
324 ignite::common::FixedSizeArray<char> arr(len + 1);
326 ReadString(fieldName, arr.GetData(),
static_cast<int32_t
>(arr.GetSize()));
328 return std::string(arr.GetData());
331 return std::string();
353 int32_t
id = impl->ReadArray(fieldName, &size);
370 int32_t
id = impl->ReadCollection(fieldName, &typ, &size);
382 template<
typename T,
typename OutputIterator>
385 return impl->ReadCollection<T>(fieldName, out);
394 template<
typename K,
typename V>
400 int32_t
id = impl->ReadMap(fieldName, &typ, &size);
419 int32_t ReadCollectionSize(
const char* fieldName);
430 return impl->ReadObject<T>(fieldName);
441 ignite::impl::binary::BinaryReaderImpl* impl;
446 #endif //_IGNITE_BINARY_BINARY_READER
Timestamp type.
Definition: timestamp.h:37
Date type.
Definition: date.h:35
Binary string array reader.
Definition: binary_containers.h:297
Binary map reader.
Definition: binary_containers.h:561
Binary collection reader.
Definition: binary_containers.h:468
Declares ignite::Guid class.
Declares ignite::Timestamp class.
CollectionType
Binary collection types.
Definition: binary_consts.h:35
BinaryCollectionReader< T > ReadCollection(const char *fieldName)
Start collection read.
Definition: binary_reader.h:365
int32_t ReadCollection(const char *fieldName, OutputIterator out)
Read values and insert them to specified position.
Definition: binary_reader.h:383
BinaryMapReader< K, V > ReadMap(const char *fieldName)
Start map read.
Definition: binary_reader.h:395
Binary array reader.
Definition: binary_containers.h:389
T ReadObject(const char *fieldName)
Read object.
Definition: binary_reader.h:428
std::string ReadString(const char *fieldName)
Read string from the stream.
Definition: binary_reader.h:318
BinaryArrayReader< T > ReadArray(const char *fieldName)
Start array read.
Definition: binary_reader.h:349
Global universally unique identifier (GUID).
Definition: guid.h:36
Declares ignite::binary::BinaryRawReader class.
Apache Ignite API.
Definition: cache.h:43
Declares ignite::Date class.
MapType
Binary map types.
Definition: binary_consts.h:66
Binary raw reader.
Definition: binary_raw_reader.h:56
Binary reader.
Definition: binary_reader.h:54