MXVK Vulkan Framework 0.24.0
C++20 Vulkan rendering framework for practical 2D and 3D application development with SDL3.
Loading...
Searching...
No Matches
StringType Concept Reference

Models a string-like class with indexing, concatenation, length, and value_type. More...

#include <mxvk/include/mxvk/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 &>;
}
Models a string-like class with indexing, concatenation, length, and value_type.
Definition argz.hpp:65

Detailed Description

Models a string-like class with indexing, concatenation, length, and value_type.

Both std::string and std::wstring satisfy this concept.

Template Parameters
TThe type to constrain.

Definition at line 65 of file argz.hpp.