diff --git a/include/argparse/argparse.hpp b/include/argparse/argparse.hpp index c108f2c..7f285b2 100644 --- a/include/argparse/argparse.hpp +++ b/include/argparse/argparse.hpp @@ -53,34 +53,28 @@ namespace argparse { namespace details { // namespace for helper methods -template struct is_container_helper {}; - -template +template struct is_container : std::false_type {}; template <> struct is_container : std::false_type {}; template -struct is_container< - T, - std::conditional_t().begin()), - decltype(std::declval().end()), - decltype(std::declval().size())>, - void>> : std::true_type {}; +struct is_container().begin()), + decltype(std::declval().end()), + decltype(std::declval().size())>> + : std::true_type {}; template static constexpr bool is_container_v = is_container::value; -template +template struct is_streamable : std::false_type {}; template struct is_streamable< - T, std::conditional_t< - false, decltype(std::declval() << std::declval()), - void>> : std::true_type {}; + T, std::void_t() << std::declval())>> + : std::true_type {}; template static constexpr bool is_streamable_v = is_streamable::value;