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

#include <slice.hpp>

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 
)
inline
Exceptions
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
inline

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

Exceptions
whatevercontainer::at() throws

◆ unsafeGetIteratorAt()

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

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

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

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