#include <slice.hpp>
Public Member Functions | |
Slice (const T *ptr, size_t begin, size_t end) | |
Slice< const T * > subSlice (size_t begin, size_t end) const | |
![]() | |
ConstSliceBase (const T * &data, size_t begin, size_t end) | |
const value_type & at (size_t index) const | |
const_iterator cbegin () const noexcept | |
const_iterator cend () const noexcept | |
slice_type subSlice (size_t begin, size_t end) const | |
![]() | |
SliceBase (size_t begin, size_t end) | |
size_t size () const noexcept |
Additional Inherited Members | |
![]() | |
using iterator = typename Internal::PtrSliceStorage< const T * >::iterator | |
using const_iterator = typename Internal::PtrSliceStorage< const T * >::const_iterator | |
using value_type = typename Internal::PtrSliceStorage< const T * >::value_type | |
![]() | |
void rangeCheck (size_t index) const | |
![]() | |
Internal::PtrSliceStorage< const T * > storage_ | |
![]() | |
size_t begin_ | |
size_t end_ |
Specialization of slices for constant C-arrays.
These have exactly the same interface as the slices for STL-containers, with the crucial exception, that the slice's constructor cannot make a proper bounds check! It can only verify that you didn't accidentally swap begin and end!
|
inline |
Constructor.
[in] | ptr | C-array of which a slice should be constructed. Must not be a null pointer. |
[in] | begin | Index of the first element in the slice. |
[in] | end | Index of the first element that is no longer in the slice. |
Please note that the constructor has no way how to verify that begin
and end
are not out of bounds of the provided array!