|
| | View (const View &) noexcept=default |
| |
| template<size_t NN = N, typename = std::enable_if_t<NN != helpers::dynamic_extent>> |
| | View (pointer p) noexcept |
| |
| | View (pointer p, std::size_t const NN) noexcept |
| |
| | View (View &&) noexcept=default |
| |
| constexpr const_iterator | begin () const noexcept |
| |
| constexpr iterator | begin () noexcept |
| |
| constexpr const_iterator | cbegin () const noexcept |
| |
| constexpr const_iterator | cend () const noexcept |
| |
| template<size_t M = N, typename VT, unsigned VD> |
| auto & | copyConv (const VectorTyped< VT, VD > &v) noexcept |
| | assignment from a PLMD::VectorTyped explicitly request an eventual conversion
|
| |
| constexpr pointer | data () const noexcept |
| | return the pointer to the data
|
| |
| constexpr const_iterator | end () const noexcept |
| |
| constexpr iterator | end () noexcept |
| |
| double | modulo () const noexcept |
| |
| double | modulo2 () const noexcept |
| |
| template<typename TT> |
| auto & | operator*= (const TT v) noexcept |
| |
| template<size_t M = N, typename VT, unsigned VD> |
| auto & | operator+= (const VectorTyped< VT, VD > &v) noexcept |
| |
| template<size_t M = N, typename VT, unsigned VD> |
| auto & | operator-= (const VectorTyped< VT, VD > &v) noexcept |
| |
| template<typename TT> |
| auto & | operator/= (const TT v) noexcept |
| |
| template<size_t M = N, typename VT, unsigned VD> |
| auto & | operator= (const VectorTyped< VT, VD > &v) noexcept |
| | assignment from a PLMD::VectorTyped of the same type
|
| |
| View & | operator= (const View &) noexcept=default |
| |
| View & | operator= (View &&) noexcept=default |
| |
| constexpr const_reference | operator[] (size_t i) const noexcept |
| | returns the reference i-th element
|
| |
| constexpr reference | operator[] (size_t i) noexcept |
| | returns the reference i-th element
|
| |
| constexpr size_t | size () const noexcept |
| |
| template<size_t Offset, size_t Count = helpers::dynamic_extent> |
| constexpr auto | subview () const noexcept |
| | return a subview on consecutive elements
|
| |
| constexpr View< value_type, helpers::dynamic_extent > | subview (size_t offset, size_t count=helpers::dynamic_extent) const noexcept |
| | return a subview on consecutive elements
|
| |
| template<size_t Count> |
| constexpr View< value_type, Count > | subview_n (size_t offset) const noexcept |
| | return a subview of specific size consecutive elements
|
| |
| void | zero () noexcept |
| |
template<typename T, std::size_t N = helpers::dynamic_extent>
class PLMD::View< T, N >
A not-owning view for generic data.
The main idea is to have something that works like the span from c++20.
View are CHEAP to copy (pointer and an integer), so it is better to pass them as values
Can be used from PLMD::Vectors and standard types
accessing the data of a PLMD::Vector as double:
std::vector<PLMD::VecorGeneric<3>> v(3);
A not-owning view for generic data.
Definition View.h:68
accessing the data of a PLMD::Vector as PLMD::VectorGeneric<3>:
std::vector<PLMD::VecorGeneric<3>> v(3);
- Todo
- ctors from std::array and from iterators to parallel the span implementatio