#include <slice.hpp>
Public Member Functions | |
SliceBase (size_t begin, size_t end) | |
size_t | size () const throw () |
Protected Member Functions | |
void | rangeCheck (size_t index) const |
Protected Attributes | |
const size_t | begin_ |
const size_t | end_ |
Common base class of all slice implementations.
Implements only the most basic functions, which do not require any knowledge about the stored data.
|
inlineprotected |
Throw an exception when index is too large.
std::out_of_range | when index will access an element outside of the slice |
References size().
Referenced by Exiv2::Internal::ConstSliceBase< Internal::PtrSliceStorage, const T * >::at(), Exiv2::Internal::MutableSliceBase< Internal::PtrSliceStorage, T * >::at(), Exiv2::Internal::ConstSliceBase< Internal::PtrSliceStorage, const T * >::subSlice(), and Exiv2::Internal::MutableSliceBase< Internal::PtrSliceStorage, T * >::subSlice().
|
inline |
|
protected |
lower and upper bounds of the slice with respect to the container/array stored in storage_
Referenced by Exiv2::Internal::ConstSliceBase< Internal::PtrSliceStorage, const T * >::at(), Exiv2::Internal::MutableSliceBase< Internal::PtrSliceStorage, T * >::at(), Exiv2::Internal::MutableSliceBase< Internal::PtrSliceStorage, T * >::begin(), Exiv2::Internal::ConstSliceBase< Internal::PtrSliceStorage, const T * >::cbegin(), size(), Exiv2::Internal::ConstSliceBase< Internal::PtrSliceStorage, const T * >::subSlice(), and Exiv2::Internal::MutableSliceBase< Internal::PtrSliceStorage, T * >::subSlice().