QtBase
v6.3.1
|
#include <QtCore/qglobal.h>
#include <QtCore/qcontainerfwd.h>
#include <variant>
#include <optional>
#include <tuple>
Go to the source code of this file.
Namespaces | |
QTypeTraits | |
QTypeTraits::detail | |
Macros | |
#define | Q_DECLARE_MOVABLE_CONTAINER(CONTAINER) |
#define | Q_DECLARE_TYPEINFO_BODY(TYPE, FLAGS) |
#define | Q_DECLARE_TYPEINFO(TYPE, FLAGS) |
#define | Q_DECLARE_SHARED_IMPL(TYPE, FLAGS) |
#define | Q_DECLARE_SHARED(TYPE) Q_DECLARE_SHARED_IMPL(TYPE, Q_RELOCATABLE_TYPE) |
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 | qIsRelocatable = std::is_trivially_copyable_v<T> && std::is_trivially_destructible_v<T> |
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 120 of file qtypeinfo.h.
#define Q_DECLARE_SHARED | ( | TYPE | ) | Q_DECLARE_SHARED_IMPL(TYPE, Q_RELOCATABLE_TYPE) |
Definition at line 197 of file qtypeinfo.h.
Definition at line 192 of file qtypeinfo.h.
Definition at line 173 of file qtypeinfo.h.
Definition at line 161 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 153 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 | |||
) |
|
inlineconstexpr |
Definition at line 59 of file qtypeinfo.h.