6#include "UnicodeConverter.hpp"
13template <std::
size_t N>
14struct SqlDataBinder<char[N]>
16 static LIGHTWEIGHT_FORCE_INLINE SQLRETURN InputParameter(SQLHSTMT stmt,
19 SqlDataBinderCallback& )
noexcept
21 return SQLBindParameter(stmt,
26 detail::NonZeroColumnSize(N - 1),
33 static LIGHTWEIGHT_FORCE_INLINE std::string_view Inspect(
char const* value)
noexcept
35 return { value, N *
sizeof(char) };
39template <
typename T, std::
size_t N>
40 requires(std::same_as<T, char16_t> || (std::same_as<T, wchar_t> &&
sizeof(wchar_t) == 2))
41struct SqlDataBinder<T[N]>
43 static LIGHTWEIGHT_FORCE_INLINE SQLRETURN InputParameter(SQLHSTMT stmt,
46 SqlDataBinderCallback& )
noexcept
48 return SQLBindParameter(stmt,
53 detail::NonZeroColumnSize((N - 1) *
sizeof(T)),
60 static LIGHTWEIGHT_FORCE_INLINE std::string Inspect(T
const* value)
noexcept
62 auto u8String =
ToUtf8(std::basic_string_view<T> { value, N });
63 return std::string((
char const*) u8String.data(), u8String.size());
LIGHTWEIGHT_API std::u8string ToUtf8(std::u32string_view u32InputString)