Reference documentation for deal.II version 9.2.0
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Functions | Variables
std_cxx17 Namespace Reference


template<typename F , typename Tuple , size_t... S>
auto apply_impl (F &&fn, Tuple &&t, std_cxx14::index_sequence< S... >) -> decltype(std::forward< F >(fn)(std::get< S >(std::forward< Tuple >(t))...))
template<typename F , typename Tuple >
auto apply (F &&fn, Tuple &&t) -> decltype(apply_impl(std::forward< F >(fn), std::forward< Tuple >(t), std_cxx14::make_index_sequence< std::tuple_size< typename std::remove_reference< Tuple >::type >::value >()))


double(&) cyl_bessel_j (double, double) = boost::math::cyl_bessel_j<double, double>
float(&) cyl_bessel_jf (float, float) = boost::math::cyl_bessel_j<float, float>
long double(&) cyl_bessel_jl (long double, long double)

Detailed Description

deal.II currently only requires a C++11-conforming compiler, but there are a number of functions and classes from the C++17 standard that are easy to provide also in case the compiler only supports C++11. These are collected in the current namespace.

The most notable example is the std::optional class that was introduced to C++ starting with the C++17 standard.

There are other small additions in this namespace that allow us to use C++17 features at this point already, even though we don't require a C++17-compliant compiler.

If the compiler in use actually does support C++17, then the contents of this namespace are simply imported classes and functions from namespace std. That is, we fall back to what the compiler provides, rather than our own implementations.

Function Documentation

◆ apply_impl()

template<typename F , typename Tuple , size_t... S>
auto std_cxx17::apply_impl ( F &&  fn,
Tuple &&  t,
std_cxx14::index_sequence< S... >   
) -> decltype(std::forward<F>(fn)(std::get<S>(std::forward<Tuple>(t))...))

Definition at line 32 of file tuple.h.

◆ apply()

template<typename F , typename Tuple >
auto std_cxx17::apply ( F &&  fn,
Tuple &&  t 
) -> decltype(apply_impl( std::forward<F>(fn), std::forward<Tuple>(t), std_cxx14::make_index_sequence< std::tuple_size<typename std::remove_reference<Tuple>::type>::value>()))

Definition at line 40 of file tuple.h.

Variable Documentation

◆ cyl_bessel_j

double(&) std_cxx17::cyl_bessel_j(double, double) = boost::math::cyl_bessel_j<double, double>

Definition at line 30 of file cmath.h.

◆ cyl_bessel_jf

float(&) std_cxx17::cyl_bessel_jf(float, float) = boost::math::cyl_bessel_j<float, float>

Definition at line 32 of file cmath.h.

◆ cyl_bessel_jl

long double(&) std_cxx17::cyl_bessel_jl(long double, long double)
Initial value:
boost::math::cyl_bessel_j<long double, long double>

Definition at line 34 of file cmath.h.