| Exiv2

Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
Exiv2::Slice< const T * > Struct Template Reference

`#include <slice.hpp>`

Inheritance diagram for Exiv2::Slice< const T * >:
[legend]

## 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::ConstSliceBase< Internal::PtrSliceStorage, const T * >
using | iterator
using | const_iterator
using | value_type

## Public Member Functions
| Slice (const T *ptr, 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::ConstSliceBase< Internal::PtrSliceStorage, const T * >
| 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

## Additional Inherited Members
Protected Member Functions inherited from Exiv2::Internal::MutableSliceBase< storage_type, data_type >
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 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, const T * >
Internal::PtrSliceStorage< const T * > | storage_

## Detailed Description

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

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!

## Constructor & Destructor Documentation

## ◆ Slice()

template<typename T>

Exiv2::Slice< const T * >::Slice | ( | const T * | ptr,
|  | size_t | begin,
|  | size_t | end )
| inline

Constructor.

Parameters

  [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!

References Exiv2::Internal::MutableSliceBase< storage_type, data_type >::begin(), Exiv2::Internal::ConstSliceBase< Internal::PtrSliceStorage, const T * >::ConstSliceBase(), and Exiv2::Internal::MutableSliceBase< storage_type, data_type >::end().

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

- slice.hpp