neoGFX
Cross-platform C++ app/game engine
Loading...
Searching...
No Matches
neolib::i_basic_jar< T, Container, CookieType > Class Template Referenceabstract

#include <i_jar.hpp>

Inheritance diagram for neolib::i_basic_jar< T, Container, CookieType >:
neolib::i_reference_counted

Public Types

typedef self_type abstract_type
 
typedef CookieType cookie_type
 
typedef T value_type
 
typedef Container container_type
 
typedef container_type::const_iterator const_iterator
 
typedef container_type::iterator iterator
 

Public Member Functions

virtual ~i_basic_jar ()=default
 
virtual bool empty () const =0
 
virtual std::size_t size () const =0
 
virtual bool contains (cookie_type aCookie) const =0
 
virtual const_iterator find (cookie_type aCookie) const =0
 
virtual iterator find (cookie_type aCookie)=0
 
virtual const value_typeoperator[] (cookie_type aCookie) const =0
 
virtual value_typeoperator[] (cookie_type aCookie)=0
 
virtual const value_typeat_index (std::size_t aIndex) const =0
 
virtual value_typeat_index (std::size_t aIndex)=0
 
virtual cookie_type insert (value_type const &aItem)=0
 
virtual iterator erase (const_iterator aItem)=0
 
virtual iterator add (cookie_type aCookie, value_type const &aItem)=0
 
virtual iterator remove (value_type const &aItem)=0
 
virtual iterator remove (cookie_type aCookie)=0
 
virtual cookie_type item_cookie (value_type const &aItem) const =0
 
virtual cookie_type next_cookie ()=0
 
virtual void return_cookie (cookie_type aCookie)=0
 
virtual const_iterator cbegin () const =0
 
virtual const_iterator begin () const =0
 
virtual iterator begin ()=0
 
virtual const_iterator cend () const =0
 
virtual const_iterator end () const =0
 
virtual iterator end ()=0
 
virtual void clear ()=0
 
virtual const container_typeitems () const =0
 
virtual container_typeitems ()=0
 
- Public Member Functions inherited from neolib::i_reference_counted
virtual ~i_reference_counted ()=default
 
virtual void add_ref () const noexcept=0
 
virtual void release () const =0
 
virtual int32_t use_count () const noexcept=0
 
virtual const i_reference_countedrelease_and_take_ownership () const =0
 
virtual i_reference_countedrelease_and_take_ownership ()=0
 
virtual void pin () const noexcept=0
 
virtual void unpin () const =0
 
virtual i_ref_control_blockcontrol_block ()=0
 

Detailed Description

template<typename T, typename Container = i_vector<T>, typename CookieType = cookie>
class neolib::i_basic_jar< T, Container, CookieType >

Definition at line 75 of file i_jar.hpp.

Member Typedef Documentation

◆ abstract_type

template<typename T , typename Container = i_vector<T>, typename CookieType = cookie>
typedef self_type neolib::i_basic_jar< T, Container, CookieType >::abstract_type

Definition at line 79 of file i_jar.hpp.

◆ const_iterator

template<typename T , typename Container = i_vector<T>, typename CookieType = cookie>
typedef container_type::const_iterator neolib::i_basic_jar< T, Container, CookieType >::const_iterator

Definition at line 84 of file i_jar.hpp.

◆ container_type

template<typename T , typename Container = i_vector<T>, typename CookieType = cookie>
typedef Container neolib::i_basic_jar< T, Container, CookieType >::container_type

Definition at line 83 of file i_jar.hpp.

◆ cookie_type

template<typename T , typename Container = i_vector<T>, typename CookieType = cookie>
typedef CookieType neolib::i_basic_jar< T, Container, CookieType >::cookie_type

Definition at line 80 of file i_jar.hpp.

◆ iterator

template<typename T , typename Container = i_vector<T>, typename CookieType = cookie>
typedef container_type::iterator neolib::i_basic_jar< T, Container, CookieType >::iterator

Definition at line 85 of file i_jar.hpp.

◆ value_type

template<typename T , typename Container = i_vector<T>, typename CookieType = cookie>
typedef T neolib::i_basic_jar< T, Container, CookieType >::value_type

Definition at line 82 of file i_jar.hpp.

Constructor & Destructor Documentation

◆ ~i_basic_jar()

template<typename T , typename Container = i_vector<T>, typename CookieType = cookie>
virtual neolib::i_basic_jar< T, Container, CookieType >::~i_basic_jar ( )
virtualdefault

Member Function Documentation

◆ add()

template<typename T , typename Container = i_vector<T>, typename CookieType = cookie>
virtual iterator neolib::i_basic_jar< T, Container, CookieType >::add ( cookie_type  aCookie,
value_type const aItem 
)
pure virtual

◆ at_index() [1/2]

template<typename T , typename Container = i_vector<T>, typename CookieType = cookie>
virtual const value_type & neolib::i_basic_jar< T, Container, CookieType >::at_index ( std::size_t  aIndex) const
pure virtual

◆ at_index() [2/2]

template<typename T , typename Container = i_vector<T>, typename CookieType = cookie>
virtual value_type & neolib::i_basic_jar< T, Container, CookieType >::at_index ( std::size_t  aIndex)
pure virtual

◆ begin() [1/2]

template<typename T , typename Container = i_vector<T>, typename CookieType = cookie>
virtual const_iterator neolib::i_basic_jar< T, Container, CookieType >::begin ( ) const
pure virtual

◆ begin() [2/2]

template<typename T , typename Container = i_vector<T>, typename CookieType = cookie>
virtual iterator neolib::i_basic_jar< T, Container, CookieType >::begin ( )
pure virtual

◆ cbegin()

template<typename T , typename Container = i_vector<T>, typename CookieType = cookie>
virtual const_iterator neolib::i_basic_jar< T, Container, CookieType >::cbegin ( ) const
pure virtual

◆ cend()

template<typename T , typename Container = i_vector<T>, typename CookieType = cookie>
virtual const_iterator neolib::i_basic_jar< T, Container, CookieType >::cend ( ) const
pure virtual

◆ clear()

template<typename T , typename Container = i_vector<T>, typename CookieType = cookie>
virtual void neolib::i_basic_jar< T, Container, CookieType >::clear ( )
pure virtual

◆ contains()

template<typename T , typename Container = i_vector<T>, typename CookieType = cookie>
virtual bool neolib::i_basic_jar< T, Container, CookieType >::contains ( cookie_type  aCookie) const
pure virtual

◆ empty()

template<typename T , typename Container = i_vector<T>, typename CookieType = cookie>
virtual bool neolib::i_basic_jar< T, Container, CookieType >::empty ( ) const
pure virtual

◆ end() [1/2]

template<typename T , typename Container = i_vector<T>, typename CookieType = cookie>
virtual const_iterator neolib::i_basic_jar< T, Container, CookieType >::end ( ) const
pure virtual

◆ end() [2/2]

template<typename T , typename Container = i_vector<T>, typename CookieType = cookie>
virtual iterator neolib::i_basic_jar< T, Container, CookieType >::end ( )
pure virtual

◆ erase()

template<typename T , typename Container = i_vector<T>, typename CookieType = cookie>
virtual iterator neolib::i_basic_jar< T, Container, CookieType >::erase ( const_iterator  aItem)
pure virtual

◆ find() [1/2]

template<typename T , typename Container = i_vector<T>, typename CookieType = cookie>
virtual const_iterator neolib::i_basic_jar< T, Container, CookieType >::find ( cookie_type  aCookie) const
pure virtual

◆ find() [2/2]

template<typename T , typename Container = i_vector<T>, typename CookieType = cookie>
virtual iterator neolib::i_basic_jar< T, Container, CookieType >::find ( cookie_type  aCookie)
pure virtual

◆ insert()

template<typename T , typename Container = i_vector<T>, typename CookieType = cookie>
virtual cookie_type neolib::i_basic_jar< T, Container, CookieType >::insert ( value_type const aItem)
pure virtual

◆ item_cookie()

template<typename T , typename Container = i_vector<T>, typename CookieType = cookie>
virtual cookie_type neolib::i_basic_jar< T, Container, CookieType >::item_cookie ( value_type const aItem) const
pure virtual

◆ items() [1/2]

template<typename T , typename Container = i_vector<T>, typename CookieType = cookie>
virtual const container_type & neolib::i_basic_jar< T, Container, CookieType >::items ( ) const
pure virtual

◆ items() [2/2]

template<typename T , typename Container = i_vector<T>, typename CookieType = cookie>
virtual container_type & neolib::i_basic_jar< T, Container, CookieType >::items ( )
pure virtual

◆ next_cookie()

template<typename T , typename Container = i_vector<T>, typename CookieType = cookie>
virtual cookie_type neolib::i_basic_jar< T, Container, CookieType >::next_cookie ( )
pure virtual

◆ operator[]() [1/2]

template<typename T , typename Container = i_vector<T>, typename CookieType = cookie>
virtual const value_type & neolib::i_basic_jar< T, Container, CookieType >::operator[] ( cookie_type  aCookie) const
pure virtual

◆ operator[]() [2/2]

template<typename T , typename Container = i_vector<T>, typename CookieType = cookie>
virtual value_type & neolib::i_basic_jar< T, Container, CookieType >::operator[] ( cookie_type  aCookie)
pure virtual

◆ remove() [1/2]

template<typename T , typename Container = i_vector<T>, typename CookieType = cookie>
virtual iterator neolib::i_basic_jar< T, Container, CookieType >::remove ( cookie_type  aCookie)
pure virtual

◆ remove() [2/2]

template<typename T , typename Container = i_vector<T>, typename CookieType = cookie>
virtual iterator neolib::i_basic_jar< T, Container, CookieType >::remove ( value_type const aItem)
pure virtual

◆ return_cookie()

template<typename T , typename Container = i_vector<T>, typename CookieType = cookie>
virtual void neolib::i_basic_jar< T, Container, CookieType >::return_cookie ( cookie_type  aCookie)
pure virtual

◆ size()

template<typename T , typename Container = i_vector<T>, typename CookieType = cookie>
virtual std::size_t neolib::i_basic_jar< T, Container, CookieType >::size ( ) const
pure virtual

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