Public Types | Public Member Functions | Static Private Member Functions | Private Attributes | List of all members
PLMD::gch::small_vector_iterator< Pointer, DifferenceType > Class Template Reference

#include <small_vector.h>

Public Types

using difference_type = DifferenceType
 
using iterator_category = typename std::iterator_traits< Pointer >::iterator_category
 
using pointer = typename std::iterator_traits< Pointer >::pointer
 
using reference = typename std::iterator_traits< Pointer >::reference
 
using value_type = typename std::iterator_traits< Pointer >::value_type
 

Public Member Functions

constexpr small_vector_iterator (const Pointer &p) noexcept
 
 small_vector_iterator (const small_vector_iterator &)=default
 
template<typename U , typename D , typename std::enable_if< std::is_convertible< U, Pointer >::value >::type * = nullptr>
constexpr PLUMED_GCH_IMPLICIT_CONVERSION small_vector_iterator (const small_vector_iterator< U, D > &other) noexcept
 
 small_vector_iterator (small_vector_iterator &&) noexcept=default
 
constexpr small_vector_iterator (void) noexcept
 
 ~small_vector_iterator (void)=default
 
constexpr const Pointer & base (void) const noexcept
 
constexpr reference operator* (void) const noexcept
 
constexpr small_vector_iterator operator+ (difference_type n) const noexcept
 
PLUMED_GCH_CPP14_CONSTEXPR small_vector_iterator operator++ (int) noexcept
 
PLUMED_GCH_CPP14_CONSTEXPR small_vector_iteratoroperator++ (void) noexcept
 
PLUMED_GCH_CPP14_CONSTEXPR small_vector_iteratoroperator+= (difference_type n) noexcept
 
constexpr small_vector_iterator operator- (difference_type n) const noexcept
 
PLUMED_GCH_CPP14_CONSTEXPR small_vector_iterator operator-- (int) noexcept
 
PLUMED_GCH_CPP14_CONSTEXPR small_vector_iteratoroperator-- (void) noexcept
 
PLUMED_GCH_CPP14_CONSTEXPR small_vector_iteratoroperator-= (difference_type n) noexcept
 
constexpr pointer operator-> (void) const noexcept
 
small_vector_iteratoroperator= (const small_vector_iterator &)=default
 
small_vector_iteratoroperator= (small_vector_iterator &&) noexcept=default
 
constexpr reference operator[] (difference_type n) const noexcept
 

Static Private Member Functions

template<typename Ptr = Pointer, typename std::enable_if< std::is_pointer< Ptr >::value, bool >::type = true>
static constexpr pointer get_pointer (Pointer ptr) noexcept
 
template<typename Ptr = Pointer, typename std::enable_if<! std::is_pointer< Ptr >::value, bool >::type = false>
static constexpr pointer get_pointer (Pointer ptr) noexcept
 

Private Attributes

Pointer m_ptr
 

Member Typedef Documentation

◆ difference_type

template<typename Pointer , typename DifferenceType >
using PLMD::gch::small_vector_iterator< Pointer, DifferenceType >::difference_type = DifferenceType

◆ iterator_category

template<typename Pointer , typename DifferenceType >
using PLMD::gch::small_vector_iterator< Pointer, DifferenceType >::iterator_category = typename std::iterator_traits<Pointer>::iterator_category

◆ pointer

template<typename Pointer , typename DifferenceType >
using PLMD::gch::small_vector_iterator< Pointer, DifferenceType >::pointer = typename std::iterator_traits<Pointer>::pointer

◆ reference

template<typename Pointer , typename DifferenceType >
using PLMD::gch::small_vector_iterator< Pointer, DifferenceType >::reference = typename std::iterator_traits<Pointer>::reference

◆ value_type

template<typename Pointer , typename DifferenceType >
using PLMD::gch::small_vector_iterator< Pointer, DifferenceType >::value_type = typename std::iterator_traits<Pointer>::value_type

Constructor & Destructor Documentation

◆ small_vector_iterator() [1/5]

template<typename Pointer , typename DifferenceType >
PLMD::gch::small_vector_iterator< Pointer, DifferenceType >::small_vector_iterator ( const small_vector_iterator< Pointer, DifferenceType > &  )
default

◆ small_vector_iterator() [2/5]

template<typename Pointer , typename DifferenceType >
PLMD::gch::small_vector_iterator< Pointer, DifferenceType >::small_vector_iterator ( small_vector_iterator< Pointer, DifferenceType > &&  )
defaultnoexcept

◆ ~small_vector_iterator()

template<typename Pointer , typename DifferenceType >
PLMD::gch::small_vector_iterator< Pointer, DifferenceType >::~small_vector_iterator ( void  )
default

◆ small_vector_iterator() [3/5]

template<typename Pointer , typename DifferenceType >
constexpr PLMD::gch::small_vector_iterator< Pointer, DifferenceType >::small_vector_iterator ( void  )
inlineconstexprnoexcept

◆ small_vector_iterator() [4/5]

template<typename Pointer , typename DifferenceType >
constexpr PLMD::gch::small_vector_iterator< Pointer, DifferenceType >::small_vector_iterator ( const Pointer &  p)
inlineexplicitconstexprnoexcept

◆ small_vector_iterator() [5/5]

template<typename Pointer , typename DifferenceType >
template<typename U , typename D , typename std::enable_if< std::is_convertible< U, Pointer >::value >::type * = nullptr>
constexpr PLUMED_GCH_IMPLICIT_CONVERSION PLMD::gch::small_vector_iterator< Pointer, DifferenceType >::small_vector_iterator ( const small_vector_iterator< U, D > &  other)
inlineconstexprnoexcept

Member Function Documentation

◆ base()

template<typename Pointer , typename DifferenceType >
constexpr const Pointer& PLMD::gch::small_vector_iterator< Pointer, DifferenceType >::base ( void  ) const
inlineconstexprnoexcept

◆ get_pointer() [1/2]

template<typename Pointer , typename DifferenceType >
template<typename Ptr = Pointer, typename std::enable_if< std::is_pointer< Ptr >::value, bool >::type = true>
static constexpr pointer PLMD::gch::small_vector_iterator< Pointer, DifferenceType >::get_pointer ( Pointer  ptr)
inlinestaticconstexprprivatenoexcept

◆ get_pointer() [2/2]

template<typename Pointer , typename DifferenceType >
template<typename Ptr = Pointer, typename std::enable_if<! std::is_pointer< Ptr >::value, bool >::type = false>
static constexpr pointer PLMD::gch::small_vector_iterator< Pointer, DifferenceType >::get_pointer ( Pointer  ptr)
inlinestaticconstexprprivatenoexcept

◆ operator*()

template<typename Pointer , typename DifferenceType >
constexpr reference PLMD::gch::small_vector_iterator< Pointer, DifferenceType >::operator* ( void  ) const
inlineconstexprnoexcept

◆ operator+()

template<typename Pointer , typename DifferenceType >
constexpr small_vector_iterator PLMD::gch::small_vector_iterator< Pointer, DifferenceType >::operator+ ( difference_type  n) const
inlineconstexprnoexcept

◆ operator++() [1/2]

template<typename Pointer , typename DifferenceType >
PLUMED_GCH_CPP14_CONSTEXPR small_vector_iterator PLMD::gch::small_vector_iterator< Pointer, DifferenceType >::operator++ ( int  )
inlinenoexcept

◆ operator++() [2/2]

template<typename Pointer , typename DifferenceType >
PLUMED_GCH_CPP14_CONSTEXPR small_vector_iterator& PLMD::gch::small_vector_iterator< Pointer, DifferenceType >::operator++ ( void  )
inlinenoexcept

◆ operator+=()

template<typename Pointer , typename DifferenceType >
PLUMED_GCH_CPP14_CONSTEXPR small_vector_iterator& PLMD::gch::small_vector_iterator< Pointer, DifferenceType >::operator+= ( difference_type  n)
inlinenoexcept

◆ operator-()

template<typename Pointer , typename DifferenceType >
constexpr small_vector_iterator PLMD::gch::small_vector_iterator< Pointer, DifferenceType >::operator- ( difference_type  n) const
inlineconstexprnoexcept

◆ operator--() [1/2]

template<typename Pointer , typename DifferenceType >
PLUMED_GCH_CPP14_CONSTEXPR small_vector_iterator PLMD::gch::small_vector_iterator< Pointer, DifferenceType >::operator-- ( int  )
inlinenoexcept

◆ operator--() [2/2]

template<typename Pointer , typename DifferenceType >
PLUMED_GCH_CPP14_CONSTEXPR small_vector_iterator& PLMD::gch::small_vector_iterator< Pointer, DifferenceType >::operator-- ( void  )
inlinenoexcept

◆ operator-=()

template<typename Pointer , typename DifferenceType >
PLUMED_GCH_CPP14_CONSTEXPR small_vector_iterator& PLMD::gch::small_vector_iterator< Pointer, DifferenceType >::operator-= ( difference_type  n)
inlinenoexcept

◆ operator->()

template<typename Pointer , typename DifferenceType >
constexpr pointer PLMD::gch::small_vector_iterator< Pointer, DifferenceType >::operator-> ( void  ) const
inlineconstexprnoexcept

◆ operator=() [1/2]

template<typename Pointer , typename DifferenceType >
small_vector_iterator& PLMD::gch::small_vector_iterator< Pointer, DifferenceType >::operator= ( const small_vector_iterator< Pointer, DifferenceType > &  )
default

◆ operator=() [2/2]

template<typename Pointer , typename DifferenceType >
small_vector_iterator& PLMD::gch::small_vector_iterator< Pointer, DifferenceType >::operator= ( small_vector_iterator< Pointer, DifferenceType > &&  )
defaultnoexcept

◆ operator[]()

template<typename Pointer , typename DifferenceType >
constexpr reference PLMD::gch::small_vector_iterator< Pointer, DifferenceType >::operator[] ( difference_type  n) const
inlineconstexprnoexcept

Member Data Documentation

◆ m_ptr

template<typename Pointer , typename DifferenceType >
Pointer PLMD::gch::small_vector_iterator< Pointer, DifferenceType >::m_ptr
private

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