Reference documentation for deal.II version 9.2.0
|
Namespaces | |
ranges | |
deal.II currently only requires a C++11-conforming compiler, but there are a number of functions and classes from the C++20 standard that are easy to provide also in case the compiler only supports C++11. These are collected in the current namespace.
One example is the std::ranges::iota_view
class that was introduced to C++ starting with the C++20 standard. It is used as the return type for the GeometryInfo::face_indices(), GeometryInfo::vertex_indices(), and FEValuesBase::quadrature_point_indices() functions, among others, to support range-based for loops (see deal.II and the C++11 standard for examples of range-based for loops, as well as the documentation of the functions mentioned above).
There are other small additions in this namespace that allow us to use C++20 features at this point already, even though we don't require a C++20-compliant compiler.
std
. That is, we fall back to what the compiler provides, rather than our own implementations.