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

#include <jar.hpp>

Inheritance diagram for neolib::basic_jar< T, Container, CookieType, MutexType >:
neolib::reference_counted< Base, DeallocateOnRelease >

Public Types

typedef CookieType cookie_type
 
typedef T value_type
 
typedef Container container_type
 
typedef container_type::const_iterator const_iterator
 
typedef container_type::iterator iterator
 
typedef MutexType mutex_type
 

Public Member Functions

 basic_jar ()
 
bool empty () const final
 
std::size_t size () const final
 
bool contains (cookie_type aCookie) const final
 
const_iterator find (cookie_type aCookie) const final
 
iterator find (cookie_type aCookie) final
 
const value_typeoperator[] (cookie_type aCookie) const final
 
value_typeoperator[] (cookie_type aCookie) final
 
const value_typeat_index (std::size_t aIndex) const final
 
value_typeat_index (std::size_t aIndex) final
 
cookie_type insert (abstract_t< value_type > const &aItem) final
 
template<typename... Args>
cookie_type emplace (Args &&... aArgs)
 
iterator add (cookie_type aCookie, abstract_t< value_type > const &aItem) final
 
iterator erase (const_iterator aItem) final
 
template<typename... Args>
iterator add (cookie_type aCookie, Args &&... aArgs)
 
iterator remove (abstract_t< value_type > const &aItem) final
 
iterator remove (cookie_type aCookie) final
 
cookie_type item_cookie (abstract_t< value_type > const &aItem) const final
 
cookie_type next_cookie () final
 
void return_cookie (cookie_type aCookie) final
 
mutex_typemutex () const
 
const_iterator cbegin () const final
 
const_iterator begin () const final
 
iterator begin () final
 
const_iterator cend () const final
 
const_iterator end () const final
 
iterator end () final
 
void clear () final
 
const container_typeitems () const final
 
container_typeitems () final
 
- Public Member Functions inherited from neolib::reference_counted< Base, DeallocateOnRelease >
 reference_counted () noexcept
 
 reference_counted (const reference_counted &aOther) noexcept
 
 ~reference_counted ()
 
reference_countedoperator= (const reference_counted &)
 
void add_ref () const noexcept override
 
void release () const override
 
int32_t use_count () const noexcept override
 
const base_type * release_and_take_ownership () const override
 
base_type * release_and_take_ownership () override
 
void pin () const noexcept override
 
void unpin () const override
 
i_ref_control_blockcontrol_block () override
 

Detailed Description

template<typename T, typename Container = vector<T>, typename CookieType = cookie, typename MutexType = null_mutex>
class neolib::basic_jar< T, Container, CookieType, MutexType >

Definition at line 181 of file jar.hpp.

Member Typedef Documentation

◆ const_iterator

template<typename T , typename Container = vector<T>, typename CookieType = cookie, typename MutexType = null_mutex>
typedef container_type::const_iterator neolib::basic_jar< T, Container, CookieType, MutexType >::const_iterator

Definition at line 188 of file jar.hpp.

◆ container_type

template<typename T , typename Container = vector<T>, typename CookieType = cookie, typename MutexType = null_mutex>
typedef Container neolib::basic_jar< T, Container, CookieType, MutexType >::container_type

Definition at line 187 of file jar.hpp.

◆ cookie_type

template<typename T , typename Container = vector<T>, typename CookieType = cookie, typename MutexType = null_mutex>
typedef CookieType neolib::basic_jar< T, Container, CookieType, MutexType >::cookie_type

Definition at line 184 of file jar.hpp.

◆ iterator

template<typename T , typename Container = vector<T>, typename CookieType = cookie, typename MutexType = null_mutex>
typedef container_type::iterator neolib::basic_jar< T, Container, CookieType, MutexType >::iterator

Definition at line 189 of file jar.hpp.

◆ mutex_type

template<typename T , typename Container = vector<T>, typename CookieType = cookie, typename MutexType = null_mutex>
typedef MutexType neolib::basic_jar< T, Container, CookieType, MutexType >::mutex_type

Definition at line 190 of file jar.hpp.

◆ value_type

template<typename T , typename Container = vector<T>, typename CookieType = cookie, typename MutexType = null_mutex>
typedef T neolib::basic_jar< T, Container, CookieType, MutexType >::value_type

Definition at line 186 of file jar.hpp.

Constructor & Destructor Documentation

◆ basic_jar()

template<typename T , typename Container = vector<T>, typename CookieType = cookie, typename MutexType = null_mutex>
neolib::basic_jar< T, Container, CookieType, MutexType >::basic_jar ( )
inline

Definition at line 199 of file jar.hpp.

Member Function Documentation

◆ add() [1/2]

template<typename T , typename Container = vector<T>, typename CookieType = cookie, typename MutexType = null_mutex>
iterator neolib::basic_jar< T, Container, CookieType, MutexType >::add ( cookie_type  aCookie,
abstract_t< value_type > const aItem 
)
inlinefinal

Definition at line 281 of file jar.hpp.

◆ add() [2/2]

template<typename T , typename Container = vector<T>, typename CookieType = cookie, typename MutexType = null_mutex>
template<typename... Args>
iterator neolib::basic_jar< T, Container, CookieType, MutexType >::add ( cookie_type  aCookie,
Args &&...  aArgs 
)
inline

Definition at line 290 of file jar.hpp.

◆ at_index() [1/2]

template<typename T , typename Container = vector<T>, typename CookieType = cookie, typename MutexType = null_mutex>
const value_type & neolib::basic_jar< T, Container, CookieType, MutexType >::at_index ( std::size_t  aIndex) const
inlinefinal

Definition at line 244 of file jar.hpp.

◆ at_index() [2/2]

template<typename T , typename Container = vector<T>, typename CookieType = cookie, typename MutexType = null_mutex>
value_type & neolib::basic_jar< T, Container, CookieType, MutexType >::at_index ( std::size_t  aIndex)
inlinefinal

Definition at line 248 of file jar.hpp.

◆ begin() [1/2]

template<typename T , typename Container = vector<T>, typename CookieType = cookie, typename MutexType = null_mutex>
const_iterator neolib::basic_jar< T, Container, CookieType, MutexType >::begin ( ) const
inlinefinal

Definition at line 384 of file jar.hpp.

◆ begin() [2/2]

template<typename T , typename Container = vector<T>, typename CookieType = cookie, typename MutexType = null_mutex>
iterator neolib::basic_jar< T, Container, CookieType, MutexType >::begin ( )
inlinefinal

Definition at line 388 of file jar.hpp.

◆ cbegin()

template<typename T , typename Container = vector<T>, typename CookieType = cookie, typename MutexType = null_mutex>
const_iterator neolib::basic_jar< T, Container, CookieType, MutexType >::cbegin ( ) const
inlinefinal

Definition at line 380 of file jar.hpp.

◆ cend()

template<typename T , typename Container = vector<T>, typename CookieType = cookie, typename MutexType = null_mutex>
const_iterator neolib::basic_jar< T, Container, CookieType, MutexType >::cend ( ) const
inlinefinal

Definition at line 392 of file jar.hpp.

◆ clear()

template<typename T , typename Container = vector<T>, typename CookieType = cookie, typename MutexType = null_mutex>
void neolib::basic_jar< T, Container, CookieType, MutexType >::clear ( )
inlinefinal

Definition at line 405 of file jar.hpp.

◆ contains()

template<typename T , typename Container = vector<T>, typename CookieType = cookie, typename MutexType = null_mutex>
bool neolib::basic_jar< T, Container, CookieType, MutexType >::contains ( cookie_type  aCookie) const
inlinefinal

Definition at line 211 of file jar.hpp.

◆ emplace()

template<typename T , typename Container = vector<T>, typename CookieType = cookie, typename MutexType = null_mutex>
template<typename... Args>
cookie_type neolib::basic_jar< T, Container, CookieType, MutexType >::emplace ( Args &&...  aArgs)
inline

Definition at line 267 of file jar.hpp.

◆ empty()

template<typename T , typename Container = vector<T>, typename CookieType = cookie, typename MutexType = null_mutex>
bool neolib::basic_jar< T, Container, CookieType, MutexType >::empty ( ) const
inlinefinal

Definition at line 203 of file jar.hpp.

◆ end() [1/2]

template<typename T , typename Container = vector<T>, typename CookieType = cookie, typename MutexType = null_mutex>
const_iterator neolib::basic_jar< T, Container, CookieType, MutexType >::end ( ) const
inlinefinal

Definition at line 396 of file jar.hpp.

◆ end() [2/2]

template<typename T , typename Container = vector<T>, typename CookieType = cookie, typename MutexType = null_mutex>
iterator neolib::basic_jar< T, Container, CookieType, MutexType >::end ( )
inlinefinal

Definition at line 400 of file jar.hpp.

◆ erase()

template<typename T , typename Container = vector<T>, typename CookieType = cookie, typename MutexType = null_mutex>
iterator neolib::basic_jar< T, Container, CookieType, MutexType >::erase ( const_iterator  aItem)
inlinefinal

Definition at line 285 of file jar.hpp.

◆ find() [1/2]

template<typename T , typename Container = vector<T>, typename CookieType = cookie, typename MutexType = null_mutex>
const_iterator neolib::basic_jar< T, Container, CookieType, MutexType >::find ( cookie_type  aCookie) const
inlinefinal

Definition at line 216 of file jar.hpp.

◆ find() [2/2]

template<typename T , typename Container = vector<T>, typename CookieType = cookie, typename MutexType = null_mutex>
iterator neolib::basic_jar< T, Container, CookieType, MutexType >::find ( cookie_type  aCookie)
inlinefinal

Definition at line 223 of file jar.hpp.

◆ insert()

template<typename T , typename Container = vector<T>, typename CookieType = cookie, typename MutexType = null_mutex>
cookie_type neolib::basic_jar< T, Container, CookieType, MutexType >::insert ( abstract_t< value_type > const aItem)
inlinefinal

Definition at line 252 of file jar.hpp.

◆ item_cookie()

template<typename T , typename Container = vector<T>, typename CookieType = cookie, typename MutexType = null_mutex>
cookie_type neolib::basic_jar< T, Container, CookieType, MutexType >::item_cookie ( abstract_t< value_type > const aItem) const
inlinefinal

Definition at line 347 of file jar.hpp.

◆ items() [1/2]

template<typename T , typename Container = vector<T>, typename CookieType = cookie, typename MutexType = null_mutex>
const container_type & neolib::basic_jar< T, Container, CookieType, MutexType >::items ( ) const
inlinefinal

Definition at line 414 of file jar.hpp.

◆ items() [2/2]

template<typename T , typename Container = vector<T>, typename CookieType = cookie, typename MutexType = null_mutex>
container_type & neolib::basic_jar< T, Container, CookieType, MutexType >::items ( )
inlinefinal

Definition at line 418 of file jar.hpp.

◆ mutex()

template<typename T , typename Container = vector<T>, typename CookieType = cookie, typename MutexType = null_mutex>
mutex_type & neolib::basic_jar< T, Container, CookieType, MutexType >::mutex ( ) const
inline

Definition at line 376 of file jar.hpp.

◆ next_cookie()

template<typename T , typename Container = vector<T>, typename CookieType = cookie, typename MutexType = null_mutex>
cookie_type neolib::basic_jar< T, Container, CookieType, MutexType >::next_cookie ( )
inlinefinal

Definition at line 354 of file jar.hpp.

◆ operator[]() [1/2]

template<typename T , typename Container = vector<T>, typename CookieType = cookie, typename MutexType = null_mutex>
const value_type & neolib::basic_jar< T, Container, CookieType, MutexType >::operator[] ( cookie_type  aCookie) const
inlinefinal

Definition at line 230 of file jar.hpp.

◆ operator[]() [2/2]

template<typename T , typename Container = vector<T>, typename CookieType = cookie, typename MutexType = null_mutex>
value_type & neolib::basic_jar< T, Container, CookieType, MutexType >::operator[] ( cookie_type  aCookie)
inlinefinal

Definition at line 240 of file jar.hpp.

◆ remove() [1/2]

template<typename T , typename Container = vector<T>, typename CookieType = cookie, typename MutexType = null_mutex>
iterator neolib::basic_jar< T, Container, CookieType, MutexType >::remove ( abstract_t< value_type > const aItem)
inlinefinal

Definition at line 317 of file jar.hpp.

◆ remove() [2/2]

template<typename T , typename Container = vector<T>, typename CookieType = cookie, typename MutexType = null_mutex>
iterator neolib::basic_jar< T, Container, CookieType, MutexType >::remove ( cookie_type  aCookie)
inlinefinal

Definition at line 322 of file jar.hpp.

◆ return_cookie()

template<typename T , typename Container = vector<T>, typename CookieType = cookie, typename MutexType = null_mutex>
void neolib::basic_jar< T, Container, CookieType, MutexType >::return_cookie ( cookie_type  aCookie)
inlinefinal

Definition at line 369 of file jar.hpp.

◆ size()

template<typename T , typename Container = vector<T>, typename CookieType = cookie, typename MutexType = null_mutex>
std::size_t neolib::basic_jar< T, Container, CookieType, MutexType >::size ( ) const
inlinefinal

Definition at line 207 of file jar.hpp.


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