hpx/type_support/detected.hpp

See Public API for a list of names and headers that are part of the public HPX API.

namespace hpx
namespace util

Typedefs

template<template<typename...> class Op, typename ...Args>
using is_detected = typename detail::detector<nonesuch, void, Op, Args...>::value_t
template<template<typename...> class Op, typename ...Args>
using detected_t = typename detail::detector<nonesuch, void, Op, Args...>::type
template<typename Default, template<typename...> class Op, typename ...Args>
using detected_or = detail::detector<Default, void, Op, Args...>
template<typename Default, template<typename...> class Op, typename ...Args>
using detected_or_t = typename detected_or<Default, Op, Args...>::type
template<typename Expected, template<typename...> class Op, typename ...Args>
using is_detected_exact = std::is_same<Expected, detected_t<Op, Args...>>
template<typename To, template<typename...> class Op, typename ...Args>
using is_detected_convertible = std::is_convertible<detected_t<Op, Args...>, To>

Variables

template<template<typename...> class Op, typename ...Args>
constexpr bool is_detected_v = is_detected<Op, Args...>::value
struct nonesuch

Public Functions

nonesuch()
~nonesuch()
nonesuch(nonesuch const&)
void operator=(nonesuch const&)