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, int32_t len);
283 Timestamp ReadTimestamp(
const char* fieldName);
296 int32_t ReadTimestampArray(
const char* fieldName,
Timestamp* res, int32_t len);
304 Time ReadTime(
const char* fieldName);
317 int32_t ReadTimeArray(
const char* fieldName,
Time* res, int32_t len);
331 int32_t ReadString(
const char* fieldName,
char* res, int32_t len);
341 int32_t len = ReadString(fieldName, NULL, 0);
345 ignite::common::FixedSizeArray<char> arr(len + 1);
347 ReadString(fieldName, arr.GetData(),
static_cast<int32_t
>(arr.GetSize()));
349 return std::string(arr.GetData());
352 return std::string();
392 int32_t
id = impl->ReadArray(fieldName, &size);
414 int32_t
id = impl->ReadCollection(fieldName, &typ, &size);
426 template<
typename T,
typename OutputIterator>
429 return impl->ReadCollection<T>(fieldName, out);
443 template<
typename K,
typename V>
449 int32_t
id = impl->ReadMap(fieldName, &typ, &size);
468 int32_t ReadCollectionSize(
const char* fieldName);
481 return impl->ReadObject<T>(fieldName);
494 return impl->ReadEnum<T>(fieldName);
505 ignite::impl::binary::BinaryReaderImpl* impl;
510 #endif //_IGNITE_BINARY_BINARY_READER