Concept constraining String template parameters to class types with length(), operator[], operator+=, and operator= (e.g. std::string, std::wstring).
More...
#include <argz.hpp>
template<typename T>
concept StringType = std::is_class_v<T> &&
requires(T type) {
type.length();
type[0];
type += type;
type = type;
typename T::value_type;
typename T::size_type;
{ type.length() } -> std::same_as<typename T::size_type>;
{ type[0] } -> std::same_as<typename T::value_type &>;
{ type += T{} } -> std::same_as<T &>;
{ type = T{} } -> std::same_as<T &>;
}
Concept constraining String template parameters to class types with length(), operator[],...
Concept constraining String template parameters to class types with length(), operator[], operator+=, and operator= (e.g. std::string, std::wstring).
- Template Parameters
-
Definition at line 25 of file argz.hpp.