MXVM 1.8.1
Virtual Machine, Compiler, and Pascal Frontend
Loading...
Searching...
No Matches
mx::StringType Concept Reference

Concept constraining String template parameters to class types with length(), operator[], operator+=, and operator= (e.g. std::string, std::wstring). More...

#include <argz.hpp>

Concept definition

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[],...
Definition argz.hpp:25

Detailed Description

Concept constraining String template parameters to class types with length(), operator[], operator+=, and operator= (e.g. std::string, std::wstring).

Template Parameters
TString-like type

Definition at line 25 of file argz.hpp.