8#include "../macros.hpp"
16hi_export_module(hikogui.utility.concepts);
18hi_export
namespace hi {
49template<
typename Context,
typename Expected>
56template<
typename Context,
typename Expected>
59template<
typename BaseType,
typename DerivedType>
60concept base_of = std::is_base_of_v<BaseType, DerivedType>;
62template<
typename BaseType,
typename DerivedType>
65template<
typename Context,
typename Expected>
68template<
typename DerivedType,
typename BaseType>
71template<
typename BaseType,
typename DerivedType>
74template<
typename BaseType,
typename DerivedType>
95 } -> std::convertible_to<std::string>;
101 from_string<T>(std::string_view{})
102 } -> std::convertible_to<T>;
105template<
typename From,
typename To>
109 } -> std::convertible_to<To>;
116 } -> std::convertible_to<std::size_t>;
129template<
typename Context,
typename... Expected>
136template<
typename Context,
typename Expected,
typename... OtherExpected>
137concept forward_of = is_forward_of_v<Context, Expected, OtherExpected...>;
143template<
typename Context>
The HikoGUI namespace.
Definition array_generic.hpp:20
DOXYGEN BUG.
Definition algorithm_misc.hpp:20
Definition concepts.hpp:22
Definition concepts.hpp:25
Definition concepts.hpp:28
Definition concepts.hpp:31
Definition concepts.hpp:34
Definition concepts.hpp:37
Definition concepts.hpp:40
Definition concepts.hpp:43
Different from.
Definition concepts.hpp:50
Incompatible with another type.
Definition concepts.hpp:57
Definition concepts.hpp:60
Definition concepts.hpp:63
Definition concepts.hpp:66
Definition concepts.hpp:69
Definition concepts.hpp:72
Definition concepts.hpp:75
Definition concepts.hpp:78
Definition concepts.hpp:85
Definition concepts.hpp:92
Definition concepts.hpp:99
Definition concepts.hpp:106
Definition concepts.hpp:113
Definition concepts.hpp:120
Concept for std::is_scoped_enum_v<T>.
Definition concepts.hpp:127
Definition concepts.hpp:130
True if T is a forwarded type of Forward.
Definition concepts.hpp:137
An array of this type will implicitly create objects within that array.
Definition concepts.hpp:144
True if T can be assigned with a nullptr.
Definition concepts.hpp:149
True if T is dereferenceable.
Definition concepts.hpp:156
True if T is both nullable and dereferenceable.
Definition concepts.hpp:164