Exiv2::Internal::ContainerStorage< container > Struct Template Reference

#include <slice.hpp>

Inheritance diagram for Exiv2::Internal::ContainerStorage< container >:

Public Types

using iterator = typename container::iterator
using const_iterator = typename container::const_iterator
using value_type = typename std::remove_cv< typename container::value_type >::type

Public Member Functions

 ContainerStorage (container &data, size_t, size_t end)
const value_type & unsafeAt (size_t index) const
value_type & unsafeAt (size_t index)
iterator unsafeGetIteratorAt (size_t index)
const_iterator unsafeGetIteratorAt (size_t index) const

Public Attributes

container & data_

Detailed Description

template<typename container>
struct Exiv2::Internal::ContainerStorage< container >

Implementation of the storage concept for STL-containers.

Template Parameters
containerType of the STL-container.

Constructor & Destructor Documentation

◆ ContainerStorage()

template<typename container >
Exiv2::Internal::ContainerStorage< container >::ContainerStorage ( container &  data,
size_t  ,
size_t  end 
std::out_of_rangewhen end is larger than the container's size.

Member Function Documentation

◆ unsafeAt()

template<typename container >
const value_type& Exiv2::Internal::ContainerStorage< container >::unsafeAt ( size_t  index) const

Obtain a constant reference to the element with the given index in the container.

whatevercontainer::at() throws

◆ unsafeGetIteratorAt()

template<typename container >
iterator Exiv2::Internal::ContainerStorage< container >::unsafeGetIteratorAt ( size_t  index)

Obtain an iterator at the position of the element with the given index in the container.

whatevercontainer::begin() and std::advance() throw

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