18 template <
template <
class...>
class Template,
class... Args>
19 void derived_from_specialization_impl(
const Template<Args...>&);
26template<
class K,
typename T>
29template<
class K,
typename T>
38template<
class K,
typename T>
41template<
class K,
typename T>
50template<
class K,
typename T>
53template<
class K,
typename T>
62template<
class K,
typename T>
65template<
class K,
typename T>
74template<
class K,
typename T>
77template<
class K,
typename T>
86template<
class K,
typename T>
89template<
class K,
typename T>
98template<
class K,
typename T>
101template<
class K,
typename T>
110template<
class K,
typename T>
113template<
class K,
typename T>
122template<
class K,
typename T>
125template<
class K,
typename T>
134template<
class K,
typename T>
137template<
class K,
typename T>
146template<
class K,
typename T>
149template<
class K,
typename T>
190template<
class K,
typename T>
191concept defines_and_for_s =
requires(K klass, T type) {{ klass && type } -> std::same_as<bool>;};
193template<
class K,
typename T>
202template<
class K,
typename T>
203concept defines_or_for_s =
requires(K klass, T type) {{ klass || type } -> std::same_as<bool>;};
205template<
class K,
typename T>
215template<
class K,
typename R,
typename T>
218template<
class K,
typename T>
221template<
class K,
typename R>
227template<
class K,
typename R>
234concept defines_member_ptr =
requires(K klass) {{ klass.operator->() };};
236template<
class K,
typename R>
237concept defines_member_ptr_s =
requires(K klass) {{ klass.operator->() } -> std::same_as<R*>;};
239template<
class K,
typename R,
typename T>
242template<
class K,
typename T>
246template<
class K,
typename R,
typename... Types>
247concept defines_call_for_s =
requires(K klass, Types... args) {{ klass(args...) } -> std::same_as<R>;};
249template<
class K,
typename... Types>
252template<
class K,
typename R>
258template<
class K,
typename T>
261template<
class K,
typename T>
277template<
class K,
typename T>
280template<
class K,
typename T>
289template<
class K,
typename T>
292template<
class K,
typename T>
301template<
class K,
typename T>
304template<
class K,
typename T>
313template<
class K,
typename T>
316template<
class K,
typename T>
325template<
class K,
typename T>
328template<
class K,
typename T>
343template<
class K,
typename T>
346template<
class K,
typename T>
355template<
class K,
typename T>
358template<
class K,
typename T>
367template<
class K,
typename T>
370template<
class K,
typename T>
379template<
class K,
typename T>
382template<
class K,
typename T>
391template<
class K,
typename T>
394template<
class K,
typename T>
404template<
class K,
typename T>
407template<
class K,
typename T>
416template<
class K,
typename T>
419template<
class K,
typename T>
428template<
class K,
typename T>
431template<
class K,
typename T>
440template<
class K,
typename T>
443template<
class K,
typename T>
452template<
class K,
typename T>
455template<
class K,
typename T>
464template<
class K,
typename T>
467template<
class K,
typename T>
476template<
class K,
typename T>
479template<
class K,
typename T>
496concept traverseable = std::bidirectional_iterator<typename K::const_iterator> &&
497 std::is_default_constructible_v<K> &&
498 requires(K klass) {{ klass.size() } -> std::integral<>;};
500template<
typename F,
typename T>
504template<
class K,
typename T>
508template<
class K,
class ... L>
509concept any_of = (std::same_as<K, L> || ...);
512template<
typename K,
template <
typename...>
class L>
515 template <
class K,
template <
class...>
class L>
Specifies that a type is one of several types.
Definition qx-concepts.h:509
Specifies that a type is an arithmetic type.
Definition qx-concepts.h:490
Specifies that a type can act as a comparator.
Definition qx-concepts.h:501
Specifies that a type defines an addition assignment operator for another type (with strict return).
Definition qx-concepts.h:39
Specifies that a type defines an addition assignment operator for another type.
Definition qx-concepts.h:42
Specifies that a type defines an addition assignment operator for itself (with strict return).
Definition qx-concepts.h:45
Specifies that a type defines an addition assignment operator for itself.
Definition qx-concepts.h:48
Specifies that a type defines an addition operator for another type (with strict return).
Definition qx-concepts.h:278
Specifies that a type defines an addition operator for another type.
Definition qx-concepts.h:281
Specifies that a type defines an addition operator for itself (with strict return).
Definition qx-concepts.h:284
Specifies that a type defines an addition operator for itself.
Definition qx-concepts.h:287
Specifies that a type defines an address-of operator (with strict return).
Definition qx-concepts.h:228
Specifies that a type defines an address-of operator.
Definition qx-concepts.h:231
Specifies that a type defines a logical AND operator for another type (with strict return).
Definition qx-concepts.h:191
Specifies that a type defines a logical AND operator for another type.
Definition qx-concepts.h:194
Specifies that a type defines a logical AND operator for itself (with strict return)....
Definition qx-concepts.h:197
Specifies that a type defines a logical AND operator for itself.
Definition qx-concepts.h:200
Specifies that a type defines a simple assignment operator for another type (with strict return).
Definition qx-concepts.h:27
Specifies that a type defines a simple assignment operator for another type.
Definition qx-concepts.h:30
Specifies that a type defines a simple assignment operator for itself (with strict return).
Definition qx-concepts.h:33
Specifies that a type defines a simple assignment operator for itself.
Definition qx-concepts.h:36
Specifies that a type defines a bitwise AND assignment operator for another type (with strict return)...
Definition qx-concepts.h:99
Specifies that a type defines a bitwise AND assignment operator for another type.
Definition qx-concepts.h:102
Specifies that a type defines a bitwise AND assignment operator for itself (with strict return).
Definition qx-concepts.h:105
Specifies that a type defines a bitwise AND assignment operator for itself.
Definition qx-concepts.h:108
Specifies that a type defines a bitwise AND operator for another type (with strict return).
Definition qx-concepts.h:344
Specifies that a type defines a bitwise AND operator for another type.
Definition qx-concepts.h:347
Specifies that a type defines a bitwise AND operator for itself (with strict return).
Definition qx-concepts.h:350
Specifies that a type defines a bitwise AND operator for itself.
Definition qx-concepts.h:353
Specifies that a type defines a bitwise NOT operator (with strict return).
Definition qx-concepts.h:338
Specifies that a type defines a bitwise NOT operator.
Definition qx-concepts.h:341
Specifies that a type defines a bitwise OR assignment operator for another type (with strict return).
Definition qx-concepts.h:111
Specifies that a type defines a bitwise OR assignment operator for another type.
Definition qx-concepts.h:114
Specifies that a type defines a bitwise OR assignment operator for itself (with strict return).
Definition qx-concepts.h:117
Specifies that a type defines a bitwise OR assignment operator for itself.
Definition qx-concepts.h:120
Specifies that a type defines a bitwise OR operator for another type (with strict return).
Definition qx-concepts.h:356
Specifies that a type defines a bitwise OR operator for another type.
Definition qx-concepts.h:359
Specifies that a type defines a bitwise OR operator for itself (with strict return).
Definition qx-concepts.h:362
Specifies that a type defines a bitwise OR operator for itself.
Definition qx-concepts.h:365
Specifies that a type defines a bitwise XOR assignment operator for another type (with strict return)...
Definition qx-concepts.h:123
Specifies that a type defines a bitwise XOR assignment operator for another type.
Definition qx-concepts.h:126
Specifies that a type defines a bitwise XOR assignment operator for itself (with strict return).
Definition qx-concepts.h:129
Specifies that a type defines a bitwise XOR assignment operator for itself.
Definition qx-concepts.h:132
Specifies that a type defines a bitwise XOR operator for another type (with strict return).
Definition qx-concepts.h:368
Specifies that a type defines a bitwise XOR operator for another type.
Definition qx-concepts.h:371
Specifies that a type defines a bitwise XOR operator for itself (with strict return).
Definition qx-concepts.h:374
Specifies that a type defines a bitwise XOR operator for itself.
Definition qx-concepts.h:377
Specifies that a type defines a call operator for the specified argument types (with strict return).
Definition qx-concepts.h:247
Specifies that a type defines a call operator for the specified argument types.
Definition qx-concepts.h:250
Specifies that a type defines a argumentless call operator (with strict return).
Definition qx-concepts.h:253
Specifies that a type defines a argumentless call operator.
Definition qx-concepts.h:256
Specifies that a type defines a comma operator for another type (with strict return).
Definition qx-concepts.h:259
Specifies that a type defines a comma operator for another type.
Definition qx-concepts.h:262
Specifies that a type defines a division assignment operator for another type (with strict return).
Definition qx-concepts.h:75
Specifies that a type defines a division assignment operator for another type.
Definition qx-concepts.h:78
Specifies that a type defines a division assignment operator for itself (with strict return).
Definition qx-concepts.h:81
Specifies that a type defines a division assignment operator for itself.
Definition qx-concepts.h:84
Specifies that a type defines a division operator for another type (with strict return).
Definition qx-concepts.h:314
Specifies that a type defines a division operator for another type.
Definition qx-concepts.h:317
Specifies that a type defines a division operator for itself (with strict return).
Definition qx-concepts.h:320
Specifies that a type defines a division operator for itself.
Definition qx-concepts.h:323
Specifies that a type defines an equal to operator for another type (with strict return).
Definition qx-concepts.h:405
Specifies that a type defines an equal to operator for another type.
Definition qx-concepts.h:408
Specifies that a type defines an equal to operator for itself (with strict return).
Definition qx-concepts.h:411
Specifies that a type defines an equal to operator for itself (with strict return).
Definition qx-concepts.h:414
Specifies that a type defines a greater than or equal to operator for another type (with strict retur...
Definition qx-concepts.h:465
Specifies that a type defines a greater than or equal to operator for another type.
Definition qx-concepts.h:468
Specifies that a type defines a greater than or equal to operator for itself (with strict return).
Definition qx-concepts.h:471
Specifies that a type defines a greater than or equal to operator for itself.
Definition qx-concepts.h:474
Specifies that a type defines a greater than operator for another type (with strict return).
Definition qx-concepts.h:441
Specifies that a type defines a greater than operator for another type.
Definition qx-concepts.h:444
Specifies that a type defines a greater than operator for itself (with strict return).
Definition qx-concepts.h:447
Specifies that a type defines a greater than operator for itself.
Definition qx-concepts.h:450
Specifies that a type defines an indirection operator (with strict return).
Definition qx-concepts.h:222
Specifies that a type defines an indirection operator.
Definition qx-concepts.h:225
Specifies that a type defines a not equal to operator for another type (with strict return).
Definition qx-concepts.h:417
Specifies that a type defines a not equal to operator for another type.
Definition qx-concepts.h:420
Specifies that a type defines a not equal to operator for itself (with strict return).
Definition qx-concepts.h:423
Specifies that a type defines a not equal to operator for itself (with strict return).
Definition qx-concepts.h:426
Specifies that a type defines a left shift assignment operator for another type (with strict return).
Definition qx-concepts.h:135
Specifies that a type defines a left shift assignment operator for another type.
Definition qx-concepts.h:138
Specifies that a type defines a left shift assignment operator for itself (with strict return).
Definition qx-concepts.h:141
Specifies that a type defines a left shift assignment operator for itself.
Definition qx-concepts.h:144
Specifies that a type defines a left shift operator for another type (with strict return).
Definition qx-concepts.h:380
Specifies that a type defines a left shift operator for another type.
Definition qx-concepts.h:383
Specifies that a type defines a left shift operator for itself (with strict return).
Definition qx-concepts.h:386
Specifies that a type defines a left shift operator for itself.
Definition qx-concepts.h:389
Specifies that a type defines a less than or equal to operator for another type (with strict return).
Definition qx-concepts.h:453
Specifies that a type defines a less than or equal to operator for another type.
Definition qx-concepts.h:456
Specifies that a type defines a less than or equal to operator for itself (with strict return).
Definition qx-concepts.h:459
Specifies that a type defines a less than or equal to operator for itself.
Definition qx-concepts.h:462
Specifies that a type defines a less than operator for another type (with strict return).
Definition qx-concepts.h:429
Specifies that a type defines a less than operator for another type.
Definition qx-concepts.h:432
Specifies that a type defines a less than operator for itself (with strict return).
Definition qx-concepts.h:435
Specifies that a type defines a less than operator for itself.
Definition qx-concepts.h:438
Specifies that a type defines a modulo assignment operator for another type (with strict return).
Definition qx-concepts.h:87
Specifies that a type defines a modulo assignment operator for another type.
Definition qx-concepts.h:90
Specifies that a type defines a modulo assignment operator for itself (with strict return).
Definition qx-concepts.h:93
Specifies that a type defines a modulo assignment operator for itself.
Definition qx-concepts.h:96
Specifies that a type defines a modulo operator for another type (with strict return).
Definition qx-concepts.h:326
Specifies that a type defines a modulo operator for another type.
Definition qx-concepts.h:329
Specifies that a type defines a modulo operator for itself (with strict return).
Definition qx-concepts.h:332
Specifies that a type defines a modulo operator for itself.
Definition qx-concepts.h:335
Specifies that a type defines a multiplication assignment operator for another type (with strict retu...
Definition qx-concepts.h:63
Specifies that a type defines a multiplication assignment operator for another type.
Definition qx-concepts.h:66
Specifies that a type defines a multiplication assignment operator for itself (with strict return).
Definition qx-concepts.h:69
Specifies that a type defines a multiplication assignment operator for itself.
Definition qx-concepts.h:72
Specifies that a type defines a multiplication operator for another type (with strict return).
Definition qx-concepts.h:302
Specifies that a type defines a multiplication operator for another type.
Definition qx-concepts.h:305
Specifies that a type defines a multiplication operator for itself (with strict return).
Definition qx-concepts.h:308
Specifies that a type defines a multiplication operator for itself.
Definition qx-concepts.h:311
Specifies that a type defines a negation operator (with strict return).
Definition qx-concepts.h:185
Specifies that a type defines a negation operator.
Definition qx-concepts.h:188
Specifies that a type defines a logical OR operator for another type (with strict return).
Definition qx-concepts.h:203
Specifies that a type defines a logical OR operator for another type.
Definition qx-concepts.h:206
Specifies that a type defines a logical OR operator for itself (with strict return).
Definition qx-concepts.h:209
Specifies that a type defines a logical OR operator for itself.
Definition qx-concepts.h:212
Specifies that a type defines a post-decrement operator (with strict return).
Definition qx-concepts.h:178
Specifies that a type defines a post-decrement operator.
Definition qx-concepts.h:181
Specifies that a type defines a post-increment operator (with strict return).
Definition qx-concepts.h:172
Specifies that a type defines a post-increment operator.
Definition qx-concepts.h:175
Specifies that a type defines a pre-decrement operator (with strict return).
Definition qx-concepts.h:166
Specifies that a type defines a pre-decrement operator.
Definition qx-concepts.h:169
Specifies that a type defines a pre-increment operator (with strict return).
Definition qx-concepts.h:160
Specifies that a type defines a pre-increment operator.
Definition qx-concepts.h:163
Specifies that a type defines a pointer to member of pointer operator (with strict return).
Definition qx-concepts.h:240
Specifies that a type defines a pointer to member of pointer operator.
Definition qx-concepts.h:243
Specifies that a type defines a right shift assignment operator for another type (with strict return)...
Definition qx-concepts.h:147
Specifies that a type defines a right shift assignment operator for another type.
Definition qx-concepts.h:150
Specifies that a type defines a right shift assignment operator for itself (with strict return).
Definition qx-concepts.h:153
Specifies that a type defines a right shift assignment operator for itself.
Definition qx-concepts.h:156
Specifies that a type defines a right shift operator for another type (with strict return).
Definition qx-concepts.h:392
Specifies that a type defines a right shift operator for another type.
Definition qx-concepts.h:395
Specifies that a type defines a right shift operator for itself (with strict return).
Definition qx-concepts.h:398
Specifies that a type defines a right shift operator for itself.
Definition qx-concepts.h:401
Specifies that a type defines a subtraction assignment operator for another type (with strict return)...
Definition qx-concepts.h:51
Specifies that a type defines a subtraction assignment operator for another type.
Definition qx-concepts.h:54
Specifies that a type defines a subtraction assignment operator for itself (with strict return).
Definition qx-concepts.h:57
Specifies that a type defines a subtraction assignment operator for itself.
Definition qx-concepts.h:60
Specifies that a type defines a subtraction operator for another type (with strict return).
Definition qx-concepts.h:290
Specifies that a type defines a subtraction operator for another type.
Definition qx-concepts.h:293
Specifies that a type defines a subtraction operator for itself (with strict return).
Definition qx-concepts.h:296
Specifies that a type defines a subtraction operator for itself.
Definition qx-concepts.h:299
Specifies that a type defines a subscript operator for another type (with strict return).
Definition qx-concepts.h:216
Specifies that a type defines a subscript operator for another type.
Definition qx-concepts.h:219
Specifies that a type defines a three-way comparison operator for another type (with strict return).
Definition qx-concepts.h:477
Specifies that a type defines a three-way comparison operator for another type.
Definition qx-concepts.h:480
Specifies that a type defines a three-way comparison operator for itself (with strict return).
Definition qx-concepts.h:483
Specifies that a type defines a three-way comparison operator for itself.
Definition qx-concepts.h:486
Specifies that a type defines a unary minus operator (with strict return).
Definition qx-concepts.h:272
Specifies that a type defines a unary minus operator.
Definition qx-concepts.h:275
Specifies that a type defines a unary plus operator (with strict return).
Definition qx-concepts.h:266
Specifies that a type defines a unary plus operator.
Definition qx-concepts.h:269
Specifies that a type is a derivation of any specialization of a template.
Definition qx-concepts.h:516
Specifies that a type is a fundamental type.
Definition qx-concepts.h:493
Specifies that a type is a Qt-based associative container type.
Definition qx-concepts.h:520
Specifies that a type is a Qt-based collection type.
Definition qx-concepts.h:524
Specifies that a type is a specialization of a template.
Definition qx-concepts.h:513
Specifies that a type can be statically cast to another type.
Definition qx-concepts.h:505
Specifies that a type is a valid type for Qx::Traverser.
Definition qx-concepts.h:496
The Qx namespace is the main namespace through which all non-global functionality of the Qx library i...
Definition qx-abstracterror.cpp:13
constexpr bool is_specialization_of_v
See is_specialization_of.
Definition qx-typetraits.h:18
The qx-typetraits header file provides a library of general purpose type-traits as an extension of th...