64 if constexpr (std::is_same_v<T, int>)
66 if(!m_value || m_type != SQLITE_INTEGER)
70 return sqlite3_value_int(m_value);
72 else if constexpr (std::is_same_v<T, std::int64_t>)
74 if(!m_value || m_type != SQLITE_INTEGER)
78 return sqlite3_value_int64(m_value);
80 else if constexpr (std::is_same_v<T, double>)
82 if(!m_value || m_type != SQLITE_FLOAT)
86 return sqlite3_value_double(m_value);
88 else if constexpr (std::is_same_v<T, bool>)
90 if(!m_value || m_type != SQLITE_INTEGER)
94 return static_cast<bool>(sqlite3_value_int(m_value));
96 else if constexpr (std::is_same_v<T, std::string>)
98 if(!m_value || m_type != SQLITE3_TEXT)
102 return {
reinterpret_cast<const char*
>(sqlite3_value_text(m_value)),
static_cast<size_t>(sqlite3_value_bytes(m_value)) };