Exiv2
Loading...
Searching...
No Matches
Exiv2::Slice< T * > Struct Template Reference

#include <slice.hpp>

Inheritance diagram for Exiv2::Slice< T * >:

Public Types

using iterator
 
using const_iterator
 
using value_type
 
- Public Types inherited from Exiv2::Internal::MutableSliceBase< storage_type, data_type >
using iterator = typename ConstSliceBase<storage_type, data_type>::iterator
 
using const_iterator = typename ConstSliceBase<storage_type, data_type>::const_iterator
 
using value_type = typename ConstSliceBase<storage_type, data_type>::value_type
 
- Public Types inherited from Exiv2::Internal::ConstSliceBase< storage_type, data_type >
using iterator = typename storage_type<data_type>::iterator
 
using const_iterator = typename storage_type<data_type>::const_iterator
 
using value_type = typename storage_type<data_type>::value_type
 
- Public Types inherited from Exiv2::Internal::MutableSliceBase< Internal::PtrSliceStorage, T * >
using iterator
 
using const_iterator
 
using value_type
 
- Public Types inherited from Exiv2::Internal::ConstSliceBase< Internal::PtrSliceStorage, T * >
using iterator
 
using const_iterator
 
using value_type
 

Public Member Functions

 Slice (T *ptr, size_t begin, size_t end)
 
Slice< T * > subSlice (size_t begin, size_t end)
 
Slice< const T * > subSlice (size_t begin, size_t end) const
 
Slice subSlice (size_t begin, size_t end)
 
Slice< const T * > subSlice (size_t begin, size_t end) const
 
- Public Member Functions inherited from Exiv2::Internal::MutableSliceBase< storage_type, data_type >
value_type & at (size_t index)
 
const value_type & at (size_t index) const
 
iterator begin () noexcept
 
iterator end () noexcept
 
- Public Member Functions inherited from Exiv2::Internal::ConstSliceBase< storage_type, data_type >
 ConstSliceBase (data_type &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
 
template<typename slice_type>
slice_type subSlice (size_t begin, size_t end) const
 
- Public Member Functions inherited from Exiv2::Internal::SliceBase
 SliceBase (size_t begin, size_t end)
 
size_t size () const noexcept
 
- Public Member Functions inherited from Exiv2::Internal::MutableSliceBase< Internal::PtrSliceStorage, T * >
value_type & at (size_t index)
 
const value_type & at (size_t index) const
 
iterator begin () noexcept
 
iterator end () noexcept
 
- Public Member Functions inherited from Exiv2::Internal::ConstSliceBase< Internal::PtrSliceStorage, T * >
 ConstSliceBase (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
 

Additional Inherited Members

- Protected Types inherited from Exiv2::Internal::MutableSliceBase< storage_type, data_type >
using base_type = ConstSliceBase<storage_type, data_type>
 
- Protected Types inherited from Exiv2::Internal::MutableSliceBase< Internal::PtrSliceStorage, T * >
using base_type
 
- Protected Member Functions inherited from Exiv2::Internal::MutableSliceBase< storage_type, data_type >
ConstSliceBase< storage_type, const data_type > to_const_base () const noexcept
 
template<typename slice_type>
slice_type subSlice (size_t begin, size_t end)
 
- Protected Member Functions inherited from Exiv2::Internal::SliceBase
void rangeCheck (size_t index) const
 
- Protected Member Functions inherited from Exiv2::Internal::MutableSliceBase< Internal::PtrSliceStorage, T * >
ConstSliceBase< Internal::PtrSliceStorage, const T * > to_const_base () const noexcept
 
slice_type subSlice (size_t begin, size_t end)
 
- Protected Attributes inherited from Exiv2::Internal::ConstSliceBase< storage_type, data_type >
storage_type< data_type > storage_
 
- Protected Attributes inherited from Exiv2::Internal::SliceBase
size_t begin_
 
size_t end_
 
- Protected Attributes inherited from Exiv2::Internal::ConstSliceBase< Internal::PtrSliceStorage, T * >
Internal::PtrSliceStorage< T * > storage_
 

Detailed Description

template<typename T>
struct Exiv2::Slice< T * >

Specialization of slices for (mutable) C-arrays.

Member Function Documentation

◆ subSlice() [1/2]

Slice Exiv2::Slice< T * >::subSlice ( size_t begin,
size_t end )
inline

Construct a sub-slice of this slice with the given bounds. The bounds are evaluated with respect to the current slice.

Parameters
[in]beginFirst element in the new slice.
[in]endFirst element beyond the new slice.
Exceptions
std::out_of_rangewhen begin or end are invalid

◆ subSlice() [2/2]

Slice< const T * > Exiv2::Slice< T * >::subSlice ( size_t begin,
size_t end ) const
inlinenodiscard

Constructs a new constant subSlice. Behaves otherwise exactly like the non-const version.


The documentation for this struct was generated from the following file: