Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
QTypeTraits Namespace Reference

Namespaces

namespace  detail
 

Classes

struct  has_istream_operator
 
struct  has_istream_operator< Stream, T, std::void_t< decltype(detail::reference< Stream >() > > detail::reference< T >())> >
 
struct  has_operator_compare_three_way
 
struct  has_operator_compare_three_way_with
 
struct  has_operator_equal
 
struct  has_operator_less_than
 
struct  has_ostream_operator
 
struct  has_ostream_operator< Stream, T, std::void_t< decltype(detail::reference< Stream >()<< detail::const_reference< T >())> >
 
struct  is_dereferenceable
 
struct  is_dereferenceable< T, std::void_t< decltype(std::declval< T >().operator->())> >
 

Typedefs

template<typename T, typename U>
using Promoted = typename detail::Promoted<T, U>::type
 
template<typename Container, typename T>
using has_operator_equal_container = std::disjunction<std::is_base_of<Container, T>, QTypeTraits::has_operator_equal<T>>
 
template<typename Container, typename T>
using has_operator_less_than_container = std::disjunction<std::is_base_of<Container, T>, QTypeTraits::has_operator_less_than<T>>
 
template<typename ... T>
using compare_eq_result = std::enable_if_t<std::conjunction_v<QTypeTraits::has_operator_equal<T>...>, bool>
 
template<typename Container, typename ... T>
using compare_eq_result_container = std::enable_if_t<std::conjunction_v<QTypeTraits::has_operator_equal_container<Container, T>...>, bool>
 
template<typename ... T>
using compare_lt_result = std::enable_if_t<std::conjunction_v<QTypeTraits::has_operator_less_than<T>...>, bool>
 
template<typename Container, typename ... T>
using 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 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 has_istream_operator_container = std::disjunction<std::is_base_of<Container, T>, QTypeTraits::has_istream_operator<Stream, T>>
 

Variables

template<typename T>
constexpr bool is_dereferenceable_v = is_dereferenceable<T>::value
 
template<typename T>
constexpr bool has_operator_equal_v = has_operator_equal<T>::value
 
template<typename T>
constexpr bool has_operator_less_than_v = has_operator_less_than<T>::value
 
template<typename T>
constexpr bool has_operator_compare_three_way_v = has_operator_compare_three_way<T>::value
 
template<typename T, typename U>
constexpr bool has_operator_compare_three_way_with_v = has_operator_compare_three_way_with<T, U>::value
 
template<typename Stream, typename T>
constexpr bool has_ostream_operator_v = has_ostream_operator<Stream, T>::value
 
template<typename Stream, typename T>
constexpr bool has_istream_operator_v = has_istream_operator<Stream, T>::value
 
template<typename Stream, typename T>
constexpr bool has_stream_operator_v = has_ostream_operator_v<Stream, T> && has_istream_operator_v<Stream, T>
 

Typedef Documentation

◆ compare_eq_result

template<typename ... T>
using QTypeTraits::compare_eq_result = std::enable_if_t<std::conjunction_v<QTypeTraits::has_operator_equal<T>...>, bool>

Definition at line 251 of file qttypetraits.h.

◆ compare_eq_result_container

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>

Definition at line 254 of file qttypetraits.h.

◆ compare_lt_result

template<typename ... T>
using QTypeTraits::compare_lt_result = std::enable_if_t<std::conjunction_v<QTypeTraits::has_operator_less_than<T>...>, bool>

Definition at line 257 of file qttypetraits.h.

◆ compare_lt_result_container

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>

Definition at line 260 of file qttypetraits.h.

◆ has_istream_operator_container

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>>

Definition at line 312 of file qttypetraits.h.

◆ has_operator_equal_container

template<typename Container, typename T>
using QTypeTraits::has_operator_equal_container = std::disjunction<std::is_base_of<Container, T>, QTypeTraits::has_operator_equal<T>>

Definition at line 240 of file qttypetraits.h.

◆ has_operator_less_than_container

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>>

Definition at line 248 of file qttypetraits.h.

◆ has_ostream_operator_container

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>>

Definition at line 302 of file qttypetraits.h.

◆ Promoted

template<typename T, typename U>
using QTypeTraits::Promoted = typename detail::Promoted<T, U>::type

Definition at line 107 of file qttypetraits.h.

Variable Documentation

◆ has_istream_operator_v

template<typename Stream, typename T>
bool QTypeTraits::has_istream_operator_v = has_istream_operator<Stream, T>::value
inlineconstexpr

Definition at line 310 of file qttypetraits.h.

◆ has_operator_compare_three_way_v

template<typename T>
bool QTypeTraits::has_operator_compare_three_way_v = has_operator_compare_three_way<T>::value
inlineconstexpr

Definition at line 274 of file qttypetraits.h.

◆ has_operator_compare_three_way_with_v

template<typename T, typename U>
bool QTypeTraits::has_operator_compare_three_way_with_v = has_operator_compare_three_way_with<T, U>::value
inlineconstexpr

Definition at line 276 of file qttypetraits.h.

◆ has_operator_equal_v

template<typename T>
bool QTypeTraits::has_operator_equal_v = has_operator_equal<T>::value
inlineconstexpr

Definition at line 237 of file qttypetraits.h.

◆ has_operator_less_than_v

template<typename T>
bool QTypeTraits::has_operator_less_than_v = has_operator_less_than<T>::value
inlineconstexpr

Definition at line 245 of file qttypetraits.h.

◆ has_ostream_operator_v

template<typename Stream, typename T>
bool QTypeTraits::has_ostream_operator_v = has_ostream_operator<Stream, T>::value
inlineconstexpr

Definition at line 299 of file qttypetraits.h.

◆ has_stream_operator_v

template<typename Stream, typename T>
bool QTypeTraits::has_stream_operator_v = has_ostream_operator_v<Stream, T> && has_istream_operator_v<Stream, T>
inlineconstexpr

Definition at line 315 of file qttypetraits.h.

◆ is_dereferenceable_v

template<typename T>
bool QTypeTraits::is_dereferenceable_v = is_dereferenceable<T>::value
inlineconstexpr

Definition at line 232 of file qttypetraits.h.