diff --git a/include/duckhandy/implem/int_conv.hpp b/include/duckhandy/implem/int_conv.hpp index 276238d..27a2386 100644 --- a/include/duckhandy/implem/int_conv.hpp +++ b/include/duckhandy/implem/int_conv.hpp @@ -195,7 +195,7 @@ namespace dhandy { }; template ::value and not std::is_same::value and sizeof(I) <= sizeof(uint32_t)>::type> - using SelectIForSSEToInt = I; + struct SelectIForSSEToInt; template struct AryConversion, Base, Tr> { diff --git a/include/duckhandy/string_bt.hpp b/include/duckhandy/string_bt.hpp index f4962d2..e6f6be3 100644 --- a/include/duckhandy/string_bt.hpp +++ b/include/duckhandy/string_bt.hpp @@ -63,6 +63,11 @@ namespace dhandy { const value_type m_data[S]; }; + template + constexpr auto string::operator[] (std::size_t parIndex) const -> value_type { + return (parIndex < S ? m_data[parIndex] : throw std::out_of_range("")); + } + namespace implem { template constexpr string concat ( const index_seq&, const string& parLeft, const string& parRight ) { @@ -108,11 +113,6 @@ namespace dhandy { return parStream; } - template - constexpr auto string::operator[] (std::size_t parIndex) const -> value_type { - return (parIndex < S ? m_data[parIndex] : throw std::out_of_range("")); - } - template constexpr string make_string (const Ch (&parData)[S]) { return string(parData);