Reference documentation for deal.II version 9.3.3
\(\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\}}\)
Public Types | Static Public Attributes | Static Private Member Functions | List of all members
has_begin_and_end< T > Class Template Reference

#include <deal.II/base/template_constraints.h>

Public Types

using type = decltype(test< T >(0))
 

Static Public Attributes

static const bool value = type::value
 

Static Private Member Functions

template<typename C >
static std::false_type test (...)
 
template<typename C >
static auto test (int) -> decltype(std::begin(std::declval< C >()), std::end(std::declval< C >()), std::true_type())
 

Detailed Description

template<typename T>
class has_begin_and_end< T >

A type trait that checks to see if a class behaves as an iterable container that has a beginning and an end. This implies that the class either defines the begin() and end() functions, or is a C-style array.

Definition at line 101 of file template_constraints.h.

Member Typedef Documentation

◆ type

template<typename T >
using has_begin_and_end< T >::type = decltype(test<T>(0))

Definition at line 114 of file template_constraints.h.

Member Function Documentation

◆ test() [1/2]

template<typename T >
template<typename C >
static std::false_type has_begin_and_end< T >::test (   ...)
staticprivate

◆ test() [2/2]

template<typename T >
template<typename C >
static auto has_begin_and_end< T >::test ( int  ) -> decltype(std::begin(std::declval< C >()), std::end(std::declval< C >()), std::true_type())
staticprivate

Member Data Documentation

◆ value

template<typename T >
const bool has_begin_and_end< T >::value = type::value
static

Definition at line 116 of file template_constraints.h.


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