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