in cpp/inc/bond/core/detail/typeid_value.h [110:157]
inline bool BasicTypeField(uint16_t id, const Metadata& metadata, BondDataType type, const Transform& transform, Reader& input)
{
switch (type)
{
case bond::BT_BOOL:
return transform.Field(id, metadata, value<bool, Reader&>(input));
case bond::BT_UINT8:
return transform.Field(id, metadata, value<uint8_t, Reader&>(input));
case bond::BT_UINT16:
return transform.Field(id, metadata, value<uint16_t, Reader&>(input));
case bond::BT_UINT32:
return transform.Field(id, metadata, value<uint32_t, Reader&>(input));
case bond::BT_UINT64:
return transform.Field(id, metadata, value<uint64_t, Reader&>(input));
case bond::BT_FLOAT:
return transform.Field(id, metadata, value<float, Reader&>(input));
case bond::BT_DOUBLE:
return transform.Field(id, metadata, value<double, Reader&>(input));
case bond::BT_STRING:
return transform.Field(id, metadata, value<std::string, Reader&>(input));
case bond::BT_WSTRING:
return transform.Field(id, metadata, value<std::wstring, Reader&>(input));
case bond::BT_INT8:
return transform.Field(id, metadata, value<int8_t, Reader&>(input));
case bond::BT_INT16:
return transform.Field(id, metadata, value<int16_t, Reader&>(input));
case bond::BT_INT32:
return transform.Field(id, metadata, value<int32_t, Reader&>(input));
case bond::BT_INT64:
return transform.Field(id, metadata, value<int64_t, Reader&>(input));
default:
BOOST_ASSERT(false);
return false;
}
}