ant
A2 ant: class-based analysis framework
ant::std_ext::shared_ptr_iterator_t< it_t, is_const > Struct Template Reference

#include <shared_ptr_container.h>

Public Types

using value_type = typename it_t::value_type::element_type
 
using iterator_category = std::bidirectional_iterator_tag
 
using difference_type = typename it_t::difference_type
 
using pointer = typename std::conditional< is_const, const value_type *, value_type * >::type
 
using reference = typename std::conditional< is_const, const value_type &, value_type & >::type
 

Public Member Functions

template<typename other_it_t >
 shared_ptr_iterator_t (const shared_ptr_iterator_t< other_it_t, false > &i) noexcept
 
shared_ptr_iterator_toperator++ () noexcept
 
shared_ptr_iterator_toperator-- () noexcept
 
reference operator* () const noexcept
 
pointer operator-> () const noexcept
 
cc_shared_ptr< value_typeget_ptr () const noexcept
 
 operator cc_shared_ptr< value_type > () const noexcept
 

Friends

template<typename , template< class, class > class>
class shared_ptr_container
 
template<class , bool >
struct shared_ptr_iterator_t
 
bool operator== (const shared_ptr_iterator_t &x, const shared_ptr_iterator_t &y) noexcept
 
bool operator!= (const shared_ptr_iterator_t &x, const shared_ptr_iterator_t &y) noexcept
 

Member Typedef Documentation

◆ difference_type

template<class it_t, bool is_const = is_const_iterator<it_t>()>
using ant::std_ext::shared_ptr_iterator_t< it_t, is_const >::difference_type = typename it_t::difference_type

◆ iterator_category

template<class it_t, bool is_const = is_const_iterator<it_t>()>
using ant::std_ext::shared_ptr_iterator_t< it_t, is_const >::iterator_category = std::bidirectional_iterator_tag

◆ pointer

template<class it_t, bool is_const = is_const_iterator<it_t>()>
using ant::std_ext::shared_ptr_iterator_t< it_t, is_const >::pointer = typename std::conditional<is_const, const value_type*, value_type*>::type

◆ reference

template<class it_t, bool is_const = is_const_iterator<it_t>()>
using ant::std_ext::shared_ptr_iterator_t< it_t, is_const >::reference = typename std::conditional<is_const, const value_type&, value_type&>::type

◆ value_type

template<class it_t, bool is_const = is_const_iterator<it_t>()>
using ant::std_ext::shared_ptr_iterator_t< it_t, is_const >::value_type = typename it_t::value_type::element_type

Constructor & Destructor Documentation

◆ shared_ptr_iterator_t()

template<class it_t, bool is_const = is_const_iterator<it_t>()>
template<typename other_it_t >
ant::std_ext::shared_ptr_iterator_t< it_t, is_const >::shared_ptr_iterator_t ( const shared_ptr_iterator_t< other_it_t, false > &  i)
inlinenoexcept

Member Function Documentation

◆ get_ptr()

template<class it_t, bool is_const = is_const_iterator<it_t>()>
cc_shared_ptr<value_type> ant::std_ext::shared_ptr_iterator_t< it_t, is_const >::get_ptr ( ) const
inlinenoexcept

◆ operator cc_shared_ptr< value_type >()

template<class it_t, bool is_const = is_const_iterator<it_t>()>
ant::std_ext::shared_ptr_iterator_t< it_t, is_const >::operator cc_shared_ptr< value_type > ( ) const
inlinenoexcept

◆ operator*()

template<class it_t, bool is_const = is_const_iterator<it_t>()>
reference ant::std_ext::shared_ptr_iterator_t< it_t, is_const >::operator* ( ) const
inlinenoexcept

◆ operator++()

template<class it_t, bool is_const = is_const_iterator<it_t>()>
shared_ptr_iterator_t& ant::std_ext::shared_ptr_iterator_t< it_t, is_const >::operator++ ( )
inlinenoexcept

◆ operator--()

template<class it_t, bool is_const = is_const_iterator<it_t>()>
shared_ptr_iterator_t& ant::std_ext::shared_ptr_iterator_t< it_t, is_const >::operator-- ( )
inlinenoexcept

◆ operator->()

template<class it_t, bool is_const = is_const_iterator<it_t>()>
pointer ant::std_ext::shared_ptr_iterator_t< it_t, is_const >::operator-> ( ) const
inlinenoexcept

Friends And Related Function Documentation

◆ operator!=

template<class it_t, bool is_const = is_const_iterator<it_t>()>
bool operator!= ( const shared_ptr_iterator_t< it_t, is_const > &  x,
const shared_ptr_iterator_t< it_t, is_const > &  y 
)
friend

◆ operator==

template<class it_t, bool is_const = is_const_iterator<it_t>()>
bool operator== ( const shared_ptr_iterator_t< it_t, is_const > &  x,
const shared_ptr_iterator_t< it_t, is_const > &  y 
)
friend

◆ shared_ptr_container

template<class it_t, bool is_const = is_const_iterator<it_t>()>
template<typename , template< class, class > class>
friend class shared_ptr_container
friend

◆ shared_ptr_iterator_t

template<class it_t, bool is_const = is_const_iterator<it_t>()>
template<class , bool >
friend struct shared_ptr_iterator_t
friend

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