libstdc++: Detection idiom

libstdc++

Detection idiom
Technical Specifications » Library Fundamentals TS
Collaboration diagram for Detection idiom:

#define | __cpp_lib_experimental_detect
template<typename...>
using | std::experimental::void_t
template<typename _Default, template< typename... > class _Op, typename... _Args>
using | std::experimental::detected_or
template<typename _Default, template< typename... > class _Op, typename... _Args>
using | std::experimental::detected_or_t
template<template< typename... > class _Op, typename... _Args>
using | std::experimental::detected_t
template<template< typename... > class _Op, typename... _Args>
using | std::experimental::is_detected
template<typename _Expected, template< typename... > class _Op, typename... _Args>
using | std::experimental::is_detected_exact
template<typename _To, template< typename... > class _Op, typename... _Args>
using | std::experimental::is_detected_convertible
template<template< typename... > class _Op, typename... _Args>
constexpr bool | std::experimental::is_detected_v
template<typename _Expected, template< typename... > class _Op, typename... _Args>
constexpr bool | std::experimental::is_detected_exact_v
template<typename _To, template< typename... > class _Op, typename... _Args>
constexpr bool | std::experimental::is_detected_convertible_v

## Detailed Description

Since
  Library Fundamentals TS v2. C++14.

## Macro Definition Documentation

## ◆ __cpp_lib_experimental_detect

#define __cpp_lib_experimental_detect

A metafunction that always yields void, used for detecting valid types.

Definition at line 257 of file experimental/type_traits.

## Typedef Documentation

## ◆ detected_or

template<typename _Default, template< typename... > class _Op, typename... _Args>

using std::experimental::fundamentals_v2::detected_or

A metafunction that always yields void, used for detecting valid types.

Definition at line 277 of file experimental/type_traits.

## ◆ detected_or_t

template<typename _Default, template< typename... > class _Op, typename... _Args>

using std::experimental::fundamentals_v2::detected_or_t

A metafunction that always yields void, used for detecting valid types.

Definition at line 280 of file experimental/type_traits.

## ◆ detected_t

template<template< typename... > class _Op, typename... _Args>

using std::experimental::fundamentals_v2::detected_t

A metafunction that always yields void, used for detecting valid types.

Definition at line 283 of file experimental/type_traits.

## ◆ is_detected

template<template< typename... > class _Op, typename... _Args>

using std::experimental::fundamentals_v2::is_detected

A metafunction that always yields void, used for detecting valid types.

Definition at line 286 of file experimental/type_traits.

## ◆ is_detected_convertible

template<typename _To, template< typename... > class _Op, typename... _Args>

using std::experimental::fundamentals_v2::is_detected_convertible

A metafunction that always yields void, used for detecting valid types.

Definition at line 299 of file experimental/type_traits.

## ◆ is_detected_exact

template<typename _Expected, template< typename... > class _Op, typename... _Args>

using std::experimental::fundamentals_v2::is_detected_exact

A metafunction that always yields void, used for detecting valid types.

Definition at line 292 of file experimental/type_traits.

## ◆ void_t

template<typename...>

using std::experimental::fundamentals_v2::void_t

A metafunction that always yields void, used for detecting valid types.

Definition at line 262 of file experimental/type_traits.

## Variable Documentation

## ◆ is_detected_convertible_v

template<typename _To, template< typename... > class _Op, typename... _Args>

bool std::experimental::fundamentals_v2::is_detected_convertible_v
| constexpr

A metafunction that always yields void, used for detecting valid types.

Definition at line 302 of file experimental/type_traits.

## ◆ is_detected_exact_v

template<typename _Expected, template< typename... > class _Op, typename... _Args>

bool std::experimental::fundamentals_v2::is_detected_exact_v
| constexpr

A metafunction that always yields void, used for detecting valid types.

Definition at line 295 of file experimental/type_traits.

## ◆ is_detected_v

template<template< typename... > class _Op, typename... _Args>

bool std::experimental::fundamentals_v2::is_detected_v
| constexpr

A metafunction that always yields void, used for detecting valid types.

Definition at line 289 of file experimental/type_traits.