Exiv2
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Namespaces | Functions
slice.hpp File Reference

Simple implementation of slices (=views) for STL containers and C-arrays. More...

#include <cassert>
#include <cstddef>
#include <iterator>
#include <stdexcept>

Go to the source code of this file.

Classes

struct  Exiv2::Internal::remove_const< T >
 
struct  Exiv2::Internal::remove_const< const T >
 
struct  Exiv2::Internal::remove_volatile< T >
 
struct  Exiv2::Internal::remove_volatile< volatile T >
 
struct  Exiv2::Internal::remove_cv< T >
 
struct  Exiv2::Internal::remove_pointer< T >
 
struct  Exiv2::Internal::remove_pointer< T * >
 
struct  Exiv2::Internal::remove_pointer< T *const >
 
struct  Exiv2::Internal::SliceBase
 
struct  Exiv2::Internal::ConstSliceBase< storage_type, data_type >
 This class provides the public-facing const-qualified methods of a slice. More...
 
struct  Exiv2::Internal::MutableSliceBase< storage_type, data_type >
 
struct  Exiv2::Internal::ContainerStorage< container >
 
struct  Exiv2::Internal::PtrSliceStorage< storage_type >
 Implementation of the storage concept for slices of C arrays. More...
 
struct  Exiv2::Slice< container >
 Slice (= view) for STL containers. More...
 
struct  Exiv2::Slice< const container >
 Specialization of slices for constant containers. More...
 
struct  Exiv2::Slice< const T * >
 
struct  Exiv2::Slice< T * >
 

Namespaces

 Exiv2
 Provides classes and functions to encode and decode Exif and Iptc data. The libexiv2 API consists of the objects of this namespace.
 
 Exiv2::Internal
 Contains internal objects which are not published and are not part of the libexiv2 API.
 

Functions

template<typename T >
Slice< T > Exiv2::makeSlice (T &cont, size_t begin, size_t end)
 Return a new slice with the given bounds. More...
 
template<typename T >
Slice< T * > Exiv2::makeSlice (T *ptr, size_t begin, size_t end)
 
template<typename container >
Slice< container > Exiv2::makeSlice (container &cont)
 Return a new slice spanning the whole container.
 
template<typename container >
Slice< container > Exiv2::makeSliceFrom (container &cont, size_t begin)
 Return a new slice spanning from begin until the end of the container.
 
template<typename container >
Slice< container > Exiv2::makeSliceUntil (container &cont, size_t end)
 Return a new slice spanning until end.
 
template<typename T >
Slice< T * > Exiv2::makeSliceUntil (T *ptr, size_t end)
 

Detailed Description

Simple implementation of slices (=views) for STL containers and C-arrays.

Author
Dan Čermák (D4N) dan.cermak@cgc-instruments.com
Date
30-March-18, D4N: created