#pragma once namespace cli::detail { template struct is_string : std::false_type {}; template struct is_string : std::is_same, char> {}; template struct is_string : std::is_same, char> {}; template struct is_string> : std::true_type {}; template struct is_container : std::false_type {}; template struct is_container>> : std::true_type {}; template struct is_map_value_type : std::false_type {}; template struct is_map_value_type> : std::true_type {}; template static constexpr bool const is_string_v = is_string::value; template static constexpr bool const is_container_v = is_container::value; template static constexpr bool const is_map_value_type_v = is_map_value_type::value; }