lin
lin::internal::is_detected< E, Ts > Struct Template Reference

Tests if a given expression can be instantiated. More...

#include <lin/core/traits/utilities.hpp>

Inheritance diagram for lin::internal::is_detected< E, Ts >:
lin::internal::_is_detected< E, void, Ts... >

Detailed Description

template<template< typename... > class E, typename... Ts>
struct lin::internal::is_detected< E, Ts >

Tests if a given expression can be instantiated.

Template Parameters
ETemplate expression type.
TsSet of types we try to instantiate E with.

An example use case is given here:

#include <utility>
template <typename T, typename U>
using add_expr = decltype(std::declval<T &>() + std::declval<U &>());
static_assert(lin::internal::is_detected<add_expr, double, float>::value, "doubles and floats should add");

The documentation for this struct was generated from the following file: