Finite Volume Solver  prototype
A framework to build finite volume solvers for the AG Klein at the Freie Universität Berlin.
Classes | Typedefs
Type Traits

Type traits are used to enforce requirements on types with SFINAE. More...

Classes

struct  fub::is_extents< E >
 This is true std::true_type iff E is extents<Es...> for some std::ptrdiff_t... More...
 
struct  fub::is_detected< Op, Args >
 This is std::true_type if Op<Args...> is a valid SFINAE expression. More...
 
struct  fub::detected_or< Default, Op, Args >
 Returns the type of Op<Args...> or Default More...
 
struct  fub::is_detected_exact< Expected, Op, Args >
 This is std::true_type if Op<Args...> is a valid SFINAE expression and the return type is exactly Expected. More...
 
struct  fub::invoke_result< F, Args >
 This is std::true_type if F is a function type and can be invoked with arguments of types Args.... More...
 
struct  fub::is_invocable< F, Args >
 This is std::true_type if a given object f of type T is callable by fub::invoke(f, args...) for Args... More...
 
struct  fub::remove_cvref< T >
 This is equivalent to std::remove_cv_t<std::remove_reference_t<T>>. More...
 
struct  fub::is_equality_comparable< T, S >
 This is std::true_type if T and S are equality comparable. More...
 
struct  fub::is_nothrow_equality_comparable< T, S >
 This is std::true_type if T and S are nothrow equality comparable. More...
 
struct  fub::is_regular< T >
 This type trait checks if a specified type T fulfills the Regular concept. More...
 

Typedefs

template<template< class... > class Op, class... Args>
using fub::detected_t = detail::detected_t< Op, Args... >
 Returns the type of Op<Args...> or nonesuch More...
 

Detailed Description

Type traits are used to enforce requirements on types with SFINAE.

Typedef Documentation

◆ detected_t

template<template< class... > class Op, class... Args>
using fub::detected_t = typedef detail::detected_t<Op, Args...>

#include <type_traits.hpp>

Returns the type of Op<Args...> or nonesuch