11template <
class A,
template <
typename...>
class B>
14template <
typename... Args,
template <
typename...>
class B>
17template <
typename A,
template <
typename...>
class B>
25 requires requires {
typename T::value_type; }
26struct unwrap<T> {
using type =
typename T::value_type; };
29 requires requires {
typename T::mapped_type; } && (!
requires {
typename T::value_type; })
30struct unwrap<T> {
using type =
typename T::mapped_type; };
37using target_type = std::remove_pointer_t<std::remove_reference_t<T>>;
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 always_false
Definition qx-typetraits.h:41
std::remove_pointer_t< std::remove_reference_t< T > > target_type
Definition qx-typetraits.h:37
constexpr bool is_specialization_of_v
See is_specialization_of.
Definition qx-typetraits.h:18
typename unwrap< T >::type unwrap_t
See unwrap.
Definition qx-typetraits.h:33
Checks whether A is a specialization of B.
Definition qx-typetraits.h:12
Provides the inner type of T if T wraps or contains another type; otherwise, provides T itself.
Definition qx-typetraits.h:22
T type
Definition qx-typetraits.h:22