QtBase  v6.3.1
Namespaces | Classes | Typedefs | Variables
QTypeTraits Namespace Reference

Namespaces

 detail
 

Classes

struct  is_dereferenceable
 
struct  is_dereferenceable< T, std::void_t< decltype(std::declval< T >().operator->())> >
 
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  has_istream_operator
 
struct  has_istream_operator< Stream, T, std::void_t< decltype(detail::reference< Stream >() >> detail::reference< T >())> >
 

Typedefs

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 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 = typedef std::enable_if_t<std::conjunction_v<QTypeTraits::has_operator_equal<T>...>, bool>

Definition at line 344 of file qtypeinfo.h.

◆ compare_eq_result_container

template<typename Container , typename ... T>
using QTypeTraits::compare_eq_result_container = typedef std::enable_if_t<std::conjunction_v<QTypeTraits::has_operator_equal_container<Container, T>...>, bool>

Definition at line 347 of file qtypeinfo.h.

◆ compare_lt_result

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

Definition at line 350 of file qtypeinfo.h.

◆ compare_lt_result_container

template<typename Container , typename ... T>
using QTypeTraits::compare_lt_result_container = typedef std::enable_if_t<std::conjunction_v<QTypeTraits::has_operator_less_than_container<Container, T>...>, bool>

Definition at line 353 of file qtypeinfo.h.

◆ has_istream_operator_container

template<typename Stream , typename Container , typename T >
using QTypeTraits::has_istream_operator_container = typedef std::disjunction<std::is_base_of<Container, T>, QTypeTraits::has_istream_operator<Stream, T> >

Definition at line 383 of file qtypeinfo.h.

◆ has_operator_equal_container

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

Definition at line 333 of file qtypeinfo.h.

◆ has_operator_less_than_container

template<typename Container , typename T >
using QTypeTraits::has_operator_less_than_container = typedef std::disjunction<std::is_base_of<Container, T>, QTypeTraits::has_operator_less_than<T> >

Definition at line 341 of file qtypeinfo.h.

◆ has_ostream_operator_container

template<typename Stream , typename Container , typename T >
using QTypeTraits::has_ostream_operator_container = typedef std::disjunction<std::is_base_of<Container, T>, QTypeTraits::has_ostream_operator<Stream, T> >

Definition at line 373 of file qtypeinfo.h.

Variable Documentation

◆ has_istream_operator_v

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

Definition at line 381 of file qtypeinfo.h.

◆ has_operator_equal_v

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

Definition at line 330 of file qtypeinfo.h.

◆ has_operator_less_than_v

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

Definition at line 338 of file qtypeinfo.h.

◆ has_ostream_operator_v

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

Definition at line 370 of file qtypeinfo.h.

◆ has_stream_operator_v

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

Definition at line 386 of file qtypeinfo.h.

◆ is_dereferenceable_v

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

Definition at line 325 of file qtypeinfo.h.