Simplify code

This commit is contained in:
King_DuckZ 2021-04-22 03:09:31 +02:00
parent 40bae9c49d
commit 3343b51a39

View file

@ -173,7 +173,7 @@ namespace dhandy {
return (negate ? -n : n); return (negate ? -n : n);
} }
template <typename I, unsigned int Base, typename Tr> template <typename I, unsigned int Base, typename Tr, typename=void>
struct AryConversion { struct AryConversion {
template <typename C> template <typename C>
static I from_ary (const C* beg, const C* end) { static I from_ary (const C* beg, const C* end) {
@ -194,16 +194,13 @@ 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>
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<I, Base, Tr, 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 C> static I from_ary (C* beg, C* end) { return to_integer_sse<I, C, Base, Tr>(beg, end - beg); } template <typename C> static I from_ary (C* beg, C* end) { return to_integer_sse<I, C, Base, Tr>(beg, end - beg); }
}; };
template <unsigned int Base, typename Tr> template <unsigned int Base, typename Tr>
struct AryConversion<bool, Base, Tr> { struct AryConversion<bool, Base, Tr, void> {
template <typename C> static bool from_ary (C* beg, C* end) { template <typename C> static bool from_ary (C* beg, C* end) {
if (end == beg) if (end == beg)
return false; return false;