extern void* enabler; template<bool condition, typename T = void> using enable_if_type = typename std::enable_if<condition, T>::type; // 符号なし整数型を受け取るオーバーロード template<typename T, enable_if_type<std::is_unsigned<T>{}>*& = enabler> inline constexpr int ntz(T val) noexcept; // 符号付き整数型を受け取るオーバーロード template<typename T, enable_if_type<std::is_signed<T>{}>*& = enabler> inline constexpr int ntz(T val) noex