ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
|
A stripped-down version of std::span from C++17. More...
#include <Span.hpp>
Public Types | |
using | value_type = typename std::remove_cv< T >::type |
using | pointer = T * |
using | const_pointer = const T * |
using | reference = T & |
using | const_reference = const T & |
using | iterator = pointer |
using | const_iterator = const_pointer |
using | reverse_iterator = std::reverse_iterator< iterator > |
using | const_reverse_iterator = std::reverse_iterator< const_iterator > |
using | size_type = std::size_t |
using | difference_type = std::ptrdiff_t |
Public Member Functions | |
Span ()=default | |
Span (const Span &)=default | |
Span & | operator= (const Span &)=default |
DEVICE_QUALIFIER constexpr | Span (pointer array, size_type length) |
template<std::size_t N> | |
DEVICE_QUALIFIER constexpr | Span (T(&a)[N]) noexcept |
template<typename C , typename = enable_if_mutable_t<C>, typename = enable_if_has_data_t<C>> | |
DEVICE_QUALIFIER | Span (C &c) noexcept |
template<typename C , typename = enable_if_const_t<C>, typename = enable_if_has_data_t<C>> | |
DEVICE_QUALIFIER | Span (const C &c) noexcept |
DEVICE_QUALIFIER constexpr size_type | size () const |
DEVICE_QUALIFIER constexpr bool | empty () const |
DEVICE_QUALIFIER constexpr iterator | begin () const |
DEVICE_QUALIFIER constexpr const_iterator | cbegin () const |
DEVICE_QUALIFIER constexpr iterator | end () const |
DEVICE_QUALIFIER constexpr const_iterator | cend () const |
constexpr reverse_iterator | rbegin () const |
constexpr reverse_iterator | rend () const |
DEVICE_QUALIFIER constexpr reference | operator[] (size_type i) const |
constexpr reference | at (size_type i) const |
DEVICE_QUALIFIER constexpr pointer | data () const |
A stripped-down version of std::span from C++17.
Behaves like a std::span where implemented.
using Utils::Span< T >::const_iterator = const_pointer |
using Utils::Span< T >::const_pointer = const T * |
using Utils::Span< T >::const_reference = const T & |
using Utils::Span< T >::const_reverse_iterator = std::reverse_iterator<const_iterator> |
using Utils::Span< T >::difference_type = std::ptrdiff_t |
using Utils::Span< T >::iterator = pointer |
using Utils::Span< T >::pointer = T * |
using Utils::Span< T >::reference = T & |
using Utils::Span< T >::reverse_iterator = std::reverse_iterator<iterator> |
using Utils::Span< T >::size_type = std::size_t |
using Utils::Span< T >::value_type = typename std::remove_cv<T>::type |
|
default |
|
default |
|
inlineconstexpr |
|
inlineconstexprnoexcept |
|
inlineexplicitnoexcept |
|
inlinenoexcept |
|
inlineconstexpr |
Definition at line 102 of file Span.hpp.
References Utils::Span< T >::size().
|
inlineconstexpr |
Definition at line 89 of file Span.hpp.
Referenced by Observable_stat::add_non_bonded_contribution(), Neighbors< CellRef >::Neighbors(), Cells::particles(), prefetch_particle_data(), and Utils::Span< T >::rend().
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
Definition at line 108 of file Span.hpp.
Referenced by Observable_stat::bonded_contribution(), evaluateAsChebychevSeriesAt(), evaluateAsTaylorSeriesAt(), and ScriptInterface::Analysis::get_summary().
|
inlineconstexpr |
Definition at line 87 of file Span.hpp.
References Utils::Span< T >::size().
Referenced by add_non_bonded_pair_energy(), add_non_bonded_pair_virials(), and evaluateAsTaylorSeriesAt().
|
inlineconstexpr |
Definition at line 91 of file Span.hpp.
Referenced by Neighbors< CellRef >::Neighbors(), Observable_stat::Observable_stat(), Cells::particles(), prefetch_particle_data(), and Utils::Span< T >::rbegin().
|
default |
|
inlineconstexpr |
Definition at line 98 of file Span.hpp.
References DEVICE_ASSERT, and Utils::Span< T >::size().
|
inlineconstexpr |
Definition at line 95 of file Span.hpp.
References Utils::Span< T >::end().
|
inlineconstexpr |
Definition at line 96 of file Span.hpp.
References Utils::Span< T >::begin().
|
inlineconstexpr |
Definition at line 86 of file Span.hpp.
Referenced by add_bonded_force(), Observable_stat::add_non_bonded_contribution(), Utils::Span< T >::at(), calc_bonded_energy(), Utils::Span< T >::empty(), evaluateAsChebychevSeriesAt(), evaluateAsTaylorSeriesAt(), p3m_send_mesh::gather_grid(), Neighbors< CellRef >::Neighbors(), Utils::Span< T >::operator[](), p3m_send_mesh::spread_grid(), and Utils::Histogram< T, N, M, U >::update().