Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
|
#include <QtCore/qcompilerdetection.h>
#include <QtCore/qcontainerfwd.h>
#include <variant>
#include <optional>
#include <tuple>
#include <type_traits>
Go to the source code of this file.
Namespaces | |
namespace | QtPrivate |
\macro QT_NO_KEYWORDS > | |
namespace | QTypeTraits |
namespace | QTypeTraits::detail |
Macros | |
#define | Q_DECLARE_MOVABLE_CONTAINER(CONTAINER) |
#define | Q_DECLARE_TYPEINFO_BODY(TYPE, FLAGS) |
#define | Q_DECLARE_TYPEINFO(TYPE, FLAGS) |
Typedefs | |
template<typename T > | |
using | QTypeTraits::detail::expand_operator_equal = expand_operator_equal_container<T> |
template<typename ... T> | |
using | QTypeTraits::detail::expand_operator_equal_recursive = std::conjunction<expand_operator_equal<T>...> |
template<typename T > | |
using | QTypeTraits::detail::expand_operator_less_than = expand_operator_less_than_container<T> |
template<typename ... T> | |
using | QTypeTraits::detail::expand_operator_less_than_recursive = std::conjunction<expand_operator_less_than<T>...> |
template<typename Container , typename T > | |
using | QTypeTraits::has_operator_equal_container = std::disjunction<std::is_base_of<Container, T>, QTypeTraits::has_operator_equal<T>> |
template<typename Container , typename T > | |
using | QTypeTraits::has_operator_less_than_container = std::disjunction<std::is_base_of<Container, T>, QTypeTraits::has_operator_less_than<T>> |
template<typename ... T> | |
using | QTypeTraits::compare_eq_result = std::enable_if_t<std::conjunction_v<QTypeTraits::has_operator_equal<T>...>, bool> |
template<typename Container , typename ... T> | |
using | QTypeTraits::compare_eq_result_container = std::enable_if_t<std::conjunction_v<QTypeTraits::has_operator_equal_container<Container, T>...>, bool> |
template<typename ... T> | |
using | QTypeTraits::compare_lt_result = std::enable_if_t<std::conjunction_v<QTypeTraits::has_operator_less_than<T>...>, bool> |
template<typename Container , typename ... T> | |
using | QTypeTraits::compare_lt_result_container = std::enable_if_t<std::conjunction_v<QTypeTraits::has_operator_less_than_container<Container, T>...>, bool> |
template<typename Stream , typename Container , typename T > | |
using | QTypeTraits::has_ostream_operator_container = std::disjunction<std::is_base_of<Container, T>, QTypeTraits::has_ostream_operator<Stream, T>> |
template<typename Stream , typename Container , typename T > | |
using | QTypeTraits::has_istream_operator_container = std::disjunction<std::is_base_of<Container, T>, QTypeTraits::has_istream_operator<Stream, T>> |
Enumerations | |
enum | { Q_COMPLEX_TYPE = 0 , Q_PRIMITIVE_TYPE = 0x1 , Q_RELOCATABLE_TYPE = 0x2 , Q_MOVABLE_TYPE = 0x2 , Q_DUMMY_TYPE = 0x4 } |
Functions | |
Q_DECLARE_MOVABLE_CONTAINER (QList) | |
Q_DECLARE_MOVABLE_CONTAINER (QQueue) | |
Q_DECLARE_MOVABLE_CONTAINER (QStack) | |
Q_DECLARE_MOVABLE_CONTAINER (QSet) | |
Q_DECLARE_MOVABLE_CONTAINER (QMap) | |
Q_DECLARE_MOVABLE_CONTAINER (QMultiMap) | |
Q_DECLARE_MOVABLE_CONTAINER (QHash) | |
Q_DECLARE_MOVABLE_CONTAINER (QMultiHash) | |
Q_DECLARE_MOVABLE_CONTAINER (QCache) | |
template<typename T > | |
Q_DECLARE_TYPEINFO_BODY (QFlags< T >, Q_PRIMITIVE_TYPE) | |
template<typename T > | |
const T & | QTypeTraits::detail::const_reference () |
template<typename T > | |
T & | QTypeTraits::detail::reference () |
Variables | |
template<typename T > | |
constexpr bool | QtPrivate::qIsRelocatable = std::is_trivially_copyable_v<T> && std::is_trivially_destructible_v<T> |
template<typename T > | |
constexpr bool | QtPrivate::qIsValueInitializationBitwiseZero |
template<typename T > | |
constexpr bool | QTypeTraits::is_dereferenceable_v = is_dereferenceable<T>::value |
template<typename T > | |
constexpr bool | QTypeTraits::has_operator_equal_v = has_operator_equal<T>::value |
template<typename T > | |
constexpr bool | QTypeTraits::has_operator_less_than_v = has_operator_less_than<T>::value |
template<typename Stream , typename T > | |
constexpr bool | QTypeTraits::has_ostream_operator_v = has_ostream_operator<Stream, T>::value |
template<typename Stream , typename T > | |
constexpr bool | QTypeTraits::has_istream_operator_v = has_istream_operator<Stream, T>::value |
template<typename Stream , typename T > | |
constexpr bool | QTypeTraits::has_stream_operator_v = has_ostream_operator_v<Stream, T> && has_istream_operator_v<Stream, T> |
#define Q_DECLARE_MOVABLE_CONTAINER | ( | CONTAINER | ) |
Definition at line 121 of file qtypeinfo.h.
Definition at line 180 of file qtypeinfo.h.
Definition at line 163 of file qtypeinfo.h.
anonymous enum |
Enumerator | |
---|---|
Q_COMPLEX_TYPE | |
Q_PRIMITIVE_TYPE | |
Q_RELOCATABLE_TYPE | |
Q_MOVABLE_TYPE | |
Q_DUMMY_TYPE |
Definition at line 155 of file qtypeinfo.h.
Q_DECLARE_MOVABLE_CONTAINER | ( | QCache | ) |
Q_DECLARE_MOVABLE_CONTAINER | ( | QHash | ) |
Q_DECLARE_MOVABLE_CONTAINER | ( | QList | ) |
Q_DECLARE_MOVABLE_CONTAINER | ( | QMap | ) |
Q_DECLARE_MOVABLE_CONTAINER | ( | QMultiHash | ) |
Q_DECLARE_MOVABLE_CONTAINER | ( | QMultiMap | ) |
Q_DECLARE_MOVABLE_CONTAINER | ( | QQueue | ) |
Q_DECLARE_MOVABLE_CONTAINER | ( | QSet | ) |
Q_DECLARE_MOVABLE_CONTAINER | ( | QStack | ) |
Q_DECLARE_TYPEINFO_BODY | ( | QFlags< T > | , |
Q_PRIMITIVE_TYPE | ) |