in cpp/inc/bond/core/detail/typeid_value.h [608:655]
inline void MapByElement(T& var, BondDataType keyType, BondDataType elementType, Reader& input, uint32_t size)
{
switch (elementType)
{
case bond::BT_BOOL:
return MapByKey<Protocols>(var, keyType, value<bool, Reader&>(input, false), input, size);
case bond::BT_UINT8:
return MapByKey<Protocols>(var, keyType, value<uint8_t, Reader&>(input, false), input, size);
case bond::BT_UINT16:
return MapByKey<Protocols>(var, keyType, value<uint16_t, Reader&>(input, false), input, size);
case bond::BT_UINT32:
return MapByKey<Protocols>(var, keyType, value<uint32_t, Reader&>(input, false), input, size);
case bond::BT_UINT64:
return MapByKey<Protocols>(var, keyType, value<uint64_t, Reader&>(input, false), input, size);
case bond::BT_FLOAT:
return MapByKey<Protocols>(var, keyType, value<float, Reader&>(input, false), input, size);
case bond::BT_DOUBLE:
return MapByKey<Protocols>(var, keyType, value<double, Reader&>(input, false), input, size);
case bond::BT_STRING:
return MapByKey<Protocols>(var, keyType, value<std::string, Reader&>(input, false), input, size);
case bond::BT_WSTRING:
return MapByKey<Protocols>(var, keyType, value<std::wstring, Reader&>(input, false), input, size);
case bond::BT_INT8:
return MapByKey<Protocols>(var, keyType, value<int8_t, Reader&>(input, false), input, size);
case bond::BT_INT16:
return MapByKey<Protocols>(var, keyType, value<int16_t, Reader&>(input, false), input, size);
case bond::BT_INT32:
return MapByKey<Protocols>(var, keyType, value<int32_t, Reader&>(input, false), input, size);
case bond::BT_INT64:
return MapByKey<Protocols>(var, keyType, value<int64_t, Reader&>(input, false), input, size);
default:
BOOST_ASSERT(false);
break;
}
}