Build fix for clang

This commit is contained in:
King_DuckZ 2021-04-22 02:59:51 +02:00
parent 1c6de14cd4
commit 40bae9c49d
2 changed files with 6 additions and 6 deletions

View file

@ -195,7 +195,7 @@ namespace dhandy {
}; };
template <typename I, typename Tr, typename=typename std::enable_if<Tr::BehavesLikeASCII and std::is_integral<I>::value and not std::is_same<I, bool>::value and sizeof(I) <= sizeof(uint32_t)>::type> template <typename I, typename Tr, typename=typename std::enable_if<Tr::BehavesLikeASCII and std::is_integral<I>::value and not std::is_same<I, bool>::value and sizeof(I) <= sizeof(uint32_t)>::type>
using SelectIForSSEToInt = I; struct SelectIForSSEToInt;
template <typename I, unsigned int Base, typename Tr> template <typename I, unsigned int Base, typename Tr>
struct AryConversion<SelectIForSSEToInt<I, Tr>, Base, Tr> { struct AryConversion<SelectIForSSEToInt<I, Tr>, Base, Tr> {

View file

@ -63,6 +63,11 @@ namespace dhandy {
const value_type m_data[S]; const value_type m_data[S];
}; };
template <std::size_t S, typename Ch>
constexpr auto string<S, Ch>::operator[] (std::size_t parIndex) const -> value_type {
return (parIndex < S ? m_data[parIndex] : throw std::out_of_range(""));
}
namespace implem { namespace implem {
template <std::size_t S, std::size_t S2, std::size_t... I> template <std::size_t S, std::size_t S2, std::size_t... I>
constexpr string<S + S2 - 1> concat ( const index_seq<I...>&, const string<S>& parLeft, const string<S2>& parRight ) { constexpr string<S + S2 - 1> concat ( const index_seq<I...>&, const string<S>& parLeft, const string<S2>& parRight ) {
@ -108,11 +113,6 @@ namespace dhandy {
return parStream; return parStream;
} }
template <std::size_t S, typename Ch>
constexpr auto string<S, Ch>::operator[] (std::size_t parIndex) const -> value_type {
return (parIndex < S ? m_data[parIndex] : throw std::out_of_range(""));
}
template <std::size_t S, typename Ch> template <std::size_t S, typename Ch>
constexpr string<S, Ch> make_string (const Ch (&parData)[S]) { constexpr string<S, Ch> make_string (const Ch (&parData)[S]) {
return string<S>(parData); return string<S>(parData);