ant
A2 ant: class-based analysis framework
ant::std_ext::shared_ptr_container< T, Container > Class Template Reference

#include <shared_ptr_container.h>

Classes

struct  iterator_list
 
struct  iterator_list_base
 

Public Types

using size_type = typename c_t::size_type
 
using const_iterator = shared_ptr_iterator_t< typename c_t::const_iterator >
 
using iterator = shared_ptr_iterator_t< typename c_t::iterator >
 
template<class it_t >
using non_const_iterator = shared_ptr_iterator_t< it_t, false >
 

Public Member Functions

 shared_ptr_container ()=default
 
template<class it_t >
 shared_ptr_container (std::initializer_list< non_const_iterator< it_t >> items)
 
template<class it_t >
 shared_ptr_container (non_const_iterator< it_t > first, non_const_iterator< it_t > last)
 
template<class Archive >
void serialize (Archive &archive)
 
 shared_ptr_container (const shared_ptr_container &)=delete
 
shared_ptr_containeroperator= (const shared_ptr_container &)=delete
 
 shared_ptr_container (shared_ptr_container &&)=default
 
shared_ptr_containeroperator= (shared_ptr_container &&)=default
 
const_iterator begin () const noexcept
 
iterator begin () noexcept
 
const_iterator end () const noexcept
 
iterator end () noexcept
 
const T & back () const
 
T & back ()
 
const T & front () const
 
T & front ()
 
const T & operator[] (typename c_t::size_type i) const noexcept
 
const T & at (typename c_t::size_type i) const
 
cc_shared_ptr< T > get_ptr_at (size_type i) const noexcept
 
size_type size () const noexcept
 
bool empty () const noexcept
 
void clear () noexcept
 
void resize (typename c_t::size_type i)
 
template<class... Args>
void emplace_back (Args &&... args)
 
template<class it_t >
void push_back (non_const_iterator< it_t > item)
 
template<class it_t >
void insert (iterator pos, non_const_iterator< it_t > first, non_const_iterator< it_t > last)
 
iterator erase (const iterator &it) noexcept
 
iterator_list_base get_iter () const noexcept
 
template<typename filter_t >
iterator_list< filter_t > get_iter (filter_t filter) const noexcept
 
template<template< class, class > class container = Container>
container_t< cc_shared_ptr< T >, container > get_ptr_list () const
 
template<typename filter_t , template< class, class > class container = Container>
container_t< cc_shared_ptr< T >, container > get_ptr_list (filter_t filter) const
 

Member Typedef Documentation

◆ const_iterator

template<typename T, template< class, class > class Container = std::vector>
using ant::std_ext::shared_ptr_container< T, Container >::const_iterator = shared_ptr_iterator_t<typename c_t::const_iterator>

◆ iterator

template<typename T, template< class, class > class Container = std::vector>
using ant::std_ext::shared_ptr_container< T, Container >::iterator = shared_ptr_iterator_t<typename c_t::iterator>

◆ non_const_iterator

template<typename T, template< class, class > class Container = std::vector>
template<class it_t >
using ant::std_ext::shared_ptr_container< T, Container >::non_const_iterator = shared_ptr_iterator_t<it_t, false>

◆ size_type

template<typename T, template< class, class > class Container = std::vector>
using ant::std_ext::shared_ptr_container< T, Container >::size_type = typename c_t::size_type

Constructor & Destructor Documentation

◆ shared_ptr_container() [1/5]

template<typename T, template< class, class > class Container = std::vector>
ant::std_ext::shared_ptr_container< T, Container >::shared_ptr_container ( )
default

◆ shared_ptr_container() [2/5]

template<typename T, template< class, class > class Container = std::vector>
template<class it_t >
ant::std_ext::shared_ptr_container< T, Container >::shared_ptr_container ( std::initializer_list< non_const_iterator< it_t >>  items)
inline

◆ shared_ptr_container() [3/5]

template<typename T, template< class, class > class Container = std::vector>
template<class it_t >
ant::std_ext::shared_ptr_container< T, Container >::shared_ptr_container ( non_const_iterator< it_t >  first,
non_const_iterator< it_t >  last 
)
inline

◆ shared_ptr_container() [4/5]

template<typename T, template< class, class > class Container = std::vector>
ant::std_ext::shared_ptr_container< T, Container >::shared_ptr_container ( const shared_ptr_container< T, Container > &  )
delete

◆ shared_ptr_container() [5/5]

template<typename T, template< class, class > class Container = std::vector>
ant::std_ext::shared_ptr_container< T, Container >::shared_ptr_container ( shared_ptr_container< T, Container > &&  )
default

Member Function Documentation

◆ at()

template<typename T, template< class, class > class Container = std::vector>
const T& ant::std_ext::shared_ptr_container< T, Container >::at ( typename c_t::size_type  i) const
inline

◆ back() [1/2]

template<typename T, template< class, class > class Container = std::vector>
const T& ant::std_ext::shared_ptr_container< T, Container >::back ( ) const
inline

◆ back() [2/2]

template<typename T, template< class, class > class Container = std::vector>
T& ant::std_ext::shared_ptr_container< T, Container >::back ( )
inline

◆ begin() [1/2]

template<typename T, template< class, class > class Container = std::vector>
const_iterator ant::std_ext::shared_ptr_container< T, Container >::begin ( ) const
inlinenoexcept

◆ begin() [2/2]

template<typename T, template< class, class > class Container = std::vector>
iterator ant::std_ext::shared_ptr_container< T, Container >::begin ( )
inlinenoexcept

◆ clear()

template<typename T, template< class, class > class Container = std::vector>
void ant::std_ext::shared_ptr_container< T, Container >::clear ( )
inlinenoexcept

◆ emplace_back()

template<typename T, template< class, class > class Container = std::vector>
template<class... Args>
void ant::std_ext::shared_ptr_container< T, Container >::emplace_back ( Args &&...  args)
inline

◆ empty()

template<typename T, template< class, class > class Container = std::vector>
bool ant::std_ext::shared_ptr_container< T, Container >::empty ( ) const
inlinenoexcept

◆ end() [1/2]

template<typename T, template< class, class > class Container = std::vector>
const_iterator ant::std_ext::shared_ptr_container< T, Container >::end ( ) const
inlinenoexcept

◆ end() [2/2]

template<typename T, template< class, class > class Container = std::vector>
iterator ant::std_ext::shared_ptr_container< T, Container >::end ( )
inlinenoexcept

◆ erase()

template<typename T, template< class, class > class Container = std::vector>
iterator ant::std_ext::shared_ptr_container< T, Container >::erase ( const iterator it)
inlinenoexcept

◆ front() [1/2]

template<typename T, template< class, class > class Container = std::vector>
const T& ant::std_ext::shared_ptr_container< T, Container >::front ( ) const
inline

◆ front() [2/2]

template<typename T, template< class, class > class Container = std::vector>
T& ant::std_ext::shared_ptr_container< T, Container >::front ( )
inline

◆ get_iter() [1/2]

template<typename T, template< class, class > class Container = std::vector>
iterator_list_base ant::std_ext::shared_ptr_container< T, Container >::get_iter ( ) const
inlinenoexcept

◆ get_iter() [2/2]

template<typename T, template< class, class > class Container = std::vector>
template<typename filter_t >
iterator_list<filter_t> ant::std_ext::shared_ptr_container< T, Container >::get_iter ( filter_t  filter) const
inlinenoexcept

◆ get_ptr_at()

template<typename T, template< class, class > class Container = std::vector>
cc_shared_ptr<T> ant::std_ext::shared_ptr_container< T, Container >::get_ptr_at ( size_type  i) const
inlinenoexcept

◆ get_ptr_list() [1/2]

template<typename T, template< class, class > class Container = std::vector>
template<template< class, class > class container = Container>
container_t<cc_shared_ptr<T>, container> ant::std_ext::shared_ptr_container< T, Container >::get_ptr_list ( ) const
inline

◆ get_ptr_list() [2/2]

template<typename T, template< class, class > class Container = std::vector>
template<typename filter_t , template< class, class > class container = Container>
container_t<cc_shared_ptr<T>, container> ant::std_ext::shared_ptr_container< T, Container >::get_ptr_list ( filter_t  filter) const
inline

◆ insert()

template<typename T, template< class, class > class Container = std::vector>
template<class it_t >
void ant::std_ext::shared_ptr_container< T, Container >::insert ( iterator  pos,
non_const_iterator< it_t >  first,
non_const_iterator< it_t >  last 
)
inline

◆ operator=() [1/2]

template<typename T, template< class, class > class Container = std::vector>
shared_ptr_container& ant::std_ext::shared_ptr_container< T, Container >::operator= ( const shared_ptr_container< T, Container > &  )
delete

◆ operator=() [2/2]

template<typename T, template< class, class > class Container = std::vector>
shared_ptr_container& ant::std_ext::shared_ptr_container< T, Container >::operator= ( shared_ptr_container< T, Container > &&  )
default

◆ operator[]()

template<typename T, template< class, class > class Container = std::vector>
const T& ant::std_ext::shared_ptr_container< T, Container >::operator[] ( typename c_t::size_type  i) const
inlinenoexcept

◆ push_back()

template<typename T, template< class, class > class Container = std::vector>
template<class it_t >
void ant::std_ext::shared_ptr_container< T, Container >::push_back ( non_const_iterator< it_t >  item)
inline

◆ resize()

template<typename T, template< class, class > class Container = std::vector>
void ant::std_ext::shared_ptr_container< T, Container >::resize ( typename c_t::size_type  i)
inline

◆ serialize()

template<typename T, template< class, class > class Container = std::vector>
template<class Archive >
void ant::std_ext::shared_ptr_container< T, Container >::serialize ( Archive &  archive)
inline

◆ size()

template<typename T, template< class, class > class Container = std::vector>
size_type ant::std_ext::shared_ptr_container< T, Container >::size ( ) const
inlinenoexcept

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