Qx v0.6
Qt Extensions Library
Loading...
Searching...
No Matches
qx-typetraits.h
Go to the documentation of this file.
1#ifndef QX_TYPETRAITS_H
2#define QX_TYPETRAITS_H
3
4// Standard Library Includes
5#include <type_traits>
6
7namespace Qx
8{
9
10// Specialization
11template <class A, template <typename...> class B>
12struct is_specialization_of : std::false_type {};
13
14template <typename... Args, template <typename...> class B>
15struct is_specialization_of<B<Args...>, B> : std::true_type {};
16
17template <typename A, template <typename...> class B>
19
20// Qualifiers
21template<typename T>
22using target_type = std::remove_pointer_t<std::remove_reference_t<T>>;
23
24}
25
26#endif // QX_TYPETRAITS_H
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
std::remove_pointer_t< std::remove_reference_t< T > > target_type
Definition qx-typetraits.h:22
Checks whether A is a specialization of B.
Definition qx-typetraits.h:12