inline bool BasicTypeField()

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;
    }
}