18#ifndef TRINITY_FIELD_VALUE_CONVERTERS_H
19#define TRINITY_FIELD_VALUE_CONVERTERS_H
25template<
typename DatabaseType>
31 return Trinity::StringTo<DatabaseType>({ data,
size }).
template value_or<DatabaseType>(0);
41template<
typename DatabaseType>
47 return *
reinterpret_cast<DatabaseType const*
>(data);
57template<
typename DatabaseType,
template<
typename...>
typename ToDatabaseTypeConverter>
64 DatabaseType source = ToDatabaseTypeConverter<DatabaseType>::GetDatabaseValue(data,
size);
65 T result =
static_cast<T
>(source);
66 if (
static_cast<DatabaseType
>(result) != source)
86 char const* result = ToDatabaseTypeConverter<DatabaseType>::GetStringValue(data);
static void LogTruncation(char const *getter, QueryResultFieldMetadata const *meta)
static char const * GetStringValue(char const *)
static DatabaseType GetDatabaseValue(char const *data, uint32)
static DatabaseType GetDatabaseValue(char const *data, uint32 size)
static char const * GetStringValue(char const *data)
int16 GetInt16(char const *, uint32, QueryResultFieldMetadata const *meta) const override
uint32 GetUInt32(char const *, uint32, QueryResultFieldMetadata const *meta) const override
double GetDouble(char const *, uint32, QueryResultFieldMetadata const *meta) const override
int8 GetInt8(char const *, uint32, QueryResultFieldMetadata const *meta) const override
uint8 GetUInt8(char const *, uint32, QueryResultFieldMetadata const *meta) const override
int64 GetInt64(char const *, uint32, QueryResultFieldMetadata const *meta) const override
float GetFloat(char const *, uint32, QueryResultFieldMetadata const *meta) const override
uint16 GetUInt16(char const *, uint32, QueryResultFieldMetadata const *meta) const override
char const * GetCString(char const *data, uint32, QueryResultFieldMetadata const *) const override
uint64 GetUInt64(char const *, uint32, QueryResultFieldMetadata const *meta) const override
int32 GetInt32(char const *, uint32, QueryResultFieldMetadata const *meta) const override
double GetDouble(char const *data, uint32 size, QueryResultFieldMetadata const *meta) const override
float GetFloat(char const *data, uint32 size, QueryResultFieldMetadata const *meta) const override
int64 GetInt64(char const *data, uint32 size, QueryResultFieldMetadata const *meta) const override
int32 GetInt32(char const *data, uint32 size, QueryResultFieldMetadata const *meta) const override
int16 GetInt16(char const *data, uint32 size, QueryResultFieldMetadata const *meta) const override
static T GetNumericValue(char const *data, uint32 size, QueryResultFieldMetadata const *meta, char const *func)
uint32 GetUInt32(char const *data, uint32 size, QueryResultFieldMetadata const *meta) const override
uint8 GetUInt8(char const *data, uint32 size, QueryResultFieldMetadata const *meta) const override
int8 GetInt8(char const *data, uint32 size, QueryResultFieldMetadata const *meta) const override
uint16 GetUInt16(char const *data, uint32 size, QueryResultFieldMetadata const *meta) const override
uint64 GetUInt64(char const *data, uint32 size, QueryResultFieldMetadata const *meta) const override
char const * GetCString(char const *data, uint32, QueryResultFieldMetadata const *meta) const override
constexpr std::size_t size()