|
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\}}\)
Go to the documentation of this file.
16 #ifndef dealii_template_constraints_h
17 #define dealii_template_constraints_h
32 namespace TemplateConstraints
35 template <
bool... Values>
43 template <
bool... Values>
59 template <
class Base,
class... Derived>
74 template <
class Type,
class... Types>
88 template <
bool... Values>
90 : std::enable_if<internal::TemplateConstraints::all_true<Values...>::value>
100 template <
typename T>
103 template <
typename C>
104 static std::false_type
107 template <
typename C>
114 using type = decltype(test<T>(0));
121 template <
bool,
typename>
200 template <
typename T>
267 template <
typename T>
299 template <
typename T>
313 template <
typename T,
typename U>
343 template <
typename T,
typename U>
363 template <
typename T,
typename U>
366 using type = decltype(std::declval<T>() * std::declval<U>());
421 template <
typename T,
typename U>
436 template <
typename T>
442 template <
typename T,
typename U>
445 using type = std::complex<typename ProductType<T, U>::type>;
448 template <
typename U>
451 using type = std::complex<typename ProductType<double, U>::type>;
454 template <
typename T>
457 using type = std::complex<typename ProductType<T, double>::type>;
460 template <
typename U>
463 using type = std::complex<typename ProductType<float, U>::type>;
466 template <
typename T>
469 using type = std::complex<typename ProductType<T, float>::type>;
533 template <
typename T>
567 template <
typename T>
std::complex< typename ProductType< double, U >::type > type
std::complex< typename ProductType< T, U >::type > type
static bool equal(const T *p1, const T *p2)
std::complex< typename ProductType< T, double >::type > type
typename internal::ProductTypeImpl< typename std::decay< T >::type, typename std::decay< U >::type >::type type
VectorType::value_type * begin(VectorType &V)
static bool equal(const T *, const U *)
#define DEAL_II_NAMESPACE_OPEN
VectorType::value_type * end(VectorType &V)
#define DEAL_II_DEPRECATED
std::complex< typename ProductType< T, float >::type > type
std::complex< typename ProductType< float, U >::type > type
static std::false_type test(...)
static constexpr bool value
static constexpr bool value
static constexpr bool value
#define DEAL_II_NAMESPACE_CLOSE
decltype(test< T >(0)) type
decltype(std::declval< T >() *std::declval< U >()) type