pfc::chain_list_v2_t< _t_item > Class Template Reference

#include <chain_list_v2.h>

List of all members.

Public Types

typedef _t_item t_item
typedef chain_list_v2_t< t_itemt_self
typedef ::pfc::iterator< t_itemiterator
typedef ::pfc::const_iterator
< t_item
const_iterator
typedef __chain_list_elem< t_itemt_elem

Public Member Functions

 chain_list_v2_t ()
 chain_list_v2_t (const t_self &p_source)
const t_selfoperator= (const t_self &p_other)
t_size get_count () const
iterator first ()
iterator last ()
const_iterator first () const
const_iterator last () const
void remove_single (const_iterator const &p_iter)
void remove (const_iterator const &p_iter)
void remove_all () throw ()
void remove_range (const_iterator const &p_from, const_iterator const &p_to)
template<typename t_callback>
void enumerate (t_callback &p_callback) const
template<typename t_callback>
void enumerate (t_callback &p_callback)
template<typename t_source>
bool remove_item (const t_source &p_item)
 ~chain_list_v2_t ()
template<typename t_source>
void add_item (const t_source &p_source)
template<typename t_source>
t_selfoperator+= (const t_source &p_source)
iterator insert_last ()
iterator insert_first ()
iterator insert_after (const_iterator const &p_iter)
iterator insert_before (const_iterator const &p_iter)
template<typename t_source>
iterator insert_last (const t_source &p_source)
template<typename t_source>
iterator insert_first (const t_source &p_source)
template<typename t_source>
iterator insert_after (const_iterator const &p_iter, const t_source &p_source)
template<typename t_source>
iterator insert_before (const_iterator const &p_iter, const t_source &p_source)
template<typename t_source>
const_iterator find_item (const t_source &p_item) const
template<typename t_source>
iterator find_item (const t_source &p_item)
template<typename t_source>
bool have_item (const t_source &p_item) const
template<typename t_source>
void set_single (const t_source &p_item)
const_iterator by_index (t_size p_index) const
 Slow!
iterator by_index (t_size p_index)
 Slow!
t_selfoperator<< (t_self &p_other)
t_selfoperator>> (t_self &p_other)
void _link_last (const_iterator const &iter)
 Links an object that has been unlinked from another list. Unsafe.
void _link_first (const_iterator const &iter)
 Links an object that has been unlinked from another list. Unsafe.


Detailed Description

template<typename _t_item>
class pfc::chain_list_v2_t< _t_item >

Differences between chain_list_v2_t<> and old chain_list_t<>:
Iterators pointing to removed items as well as to items belonging to no longer existing list objects remain valid but they're no longer walkable - as if the referenced item was the only item in the list. The old class invalidated iterators on deletion instead.

Member Typedef Documentation

template<typename _t_item>
typedef _t_item pfc::chain_list_v2_t< _t_item >::t_item

template<typename _t_item>
typedef chain_list_v2_t<t_item> pfc::chain_list_v2_t< _t_item >::t_self

template<typename _t_item>
typedef ::pfc::iterator<t_item> pfc::chain_list_v2_t< _t_item >::iterator

template<typename _t_item>
typedef ::pfc::const_iterator<t_item> pfc::chain_list_v2_t< _t_item >::const_iterator

template<typename _t_item>
typedef __chain_list_elem<t_item> pfc::chain_list_v2_t< _t_item >::t_elem


Constructor & Destructor Documentation

template<typename _t_item>
pfc::chain_list_v2_t< _t_item >::chain_list_v2_t (  )  [inline]

template<typename _t_item>
pfc::chain_list_v2_t< _t_item >::chain_list_v2_t ( const t_self p_source  )  [inline]

template<typename _t_item>
pfc::chain_list_v2_t< _t_item >::~chain_list_v2_t (  )  [inline]


Member Function Documentation

template<typename _t_item>
const t_self& pfc::chain_list_v2_t< _t_item >::operator= ( const t_self p_other  )  [inline]

template<typename _t_item>
t_size pfc::chain_list_v2_t< _t_item >::get_count (  )  const [inline]

template<typename _t_item>
iterator pfc::chain_list_v2_t< _t_item >::first (  )  [inline]

template<typename _t_item>
iterator pfc::chain_list_v2_t< _t_item >::last (  )  [inline]

template<typename _t_item>
const_iterator pfc::chain_list_v2_t< _t_item >::first (  )  const [inline]

template<typename _t_item>
const_iterator pfc::chain_list_v2_t< _t_item >::last (  )  const [inline]

template<typename _t_item>
void pfc::chain_list_v2_t< _t_item >::remove_single ( const_iterator const &  p_iter  )  [inline]

template<typename _t_item>
void pfc::chain_list_v2_t< _t_item >::remove ( const_iterator const &  p_iter  )  [inline]

template<typename _t_item>
void pfc::chain_list_v2_t< _t_item >::remove_all (  )  throw () [inline]

template<typename _t_item>
void pfc::chain_list_v2_t< _t_item >::remove_range ( const_iterator const &  p_from,
const_iterator const &  p_to 
) [inline]

template<typename _t_item>
template<typename t_callback>
void pfc::chain_list_v2_t< _t_item >::enumerate ( t_callback &  p_callback  )  const [inline]

template<typename _t_item>
template<typename t_callback>
void pfc::chain_list_v2_t< _t_item >::enumerate ( t_callback &  p_callback  )  [inline]

template<typename _t_item>
template<typename t_source>
bool pfc::chain_list_v2_t< _t_item >::remove_item ( const t_source &  p_item  )  [inline]

template<typename _t_item>
template<typename t_source>
void pfc::chain_list_v2_t< _t_item >::add_item ( const t_source &  p_source  )  [inline]

template<typename _t_item>
template<typename t_source>
t_self& pfc::chain_list_v2_t< _t_item >::operator+= ( const t_source &  p_source  )  [inline]

template<typename _t_item>
iterator pfc::chain_list_v2_t< _t_item >::insert_last (  )  [inline]

template<typename _t_item>
iterator pfc::chain_list_v2_t< _t_item >::insert_first (  )  [inline]

template<typename _t_item>
iterator pfc::chain_list_v2_t< _t_item >::insert_after ( const_iterator const &  p_iter  )  [inline]

template<typename _t_item>
iterator pfc::chain_list_v2_t< _t_item >::insert_before ( const_iterator const &  p_iter  )  [inline]

template<typename _t_item>
template<typename t_source>
iterator pfc::chain_list_v2_t< _t_item >::insert_last ( const t_source &  p_source  )  [inline]

template<typename _t_item>
template<typename t_source>
iterator pfc::chain_list_v2_t< _t_item >::insert_first ( const t_source &  p_source  )  [inline]

template<typename _t_item>
template<typename t_source>
iterator pfc::chain_list_v2_t< _t_item >::insert_after ( const_iterator const &  p_iter,
const t_source &  p_source 
) [inline]

template<typename _t_item>
template<typename t_source>
iterator pfc::chain_list_v2_t< _t_item >::insert_before ( const_iterator const &  p_iter,
const t_source &  p_source 
) [inline]

template<typename _t_item>
template<typename t_source>
const_iterator pfc::chain_list_v2_t< _t_item >::find_item ( const t_source &  p_item  )  const [inline]

template<typename _t_item>
template<typename t_source>
iterator pfc::chain_list_v2_t< _t_item >::find_item ( const t_source &  p_item  )  [inline]

template<typename _t_item>
template<typename t_source>
bool pfc::chain_list_v2_t< _t_item >::have_item ( const t_source &  p_item  )  const [inline]

template<typename _t_item>
template<typename t_source>
void pfc::chain_list_v2_t< _t_item >::set_single ( const t_source &  p_item  )  [inline]

template<typename _t_item>
const_iterator pfc::chain_list_v2_t< _t_item >::by_index ( t_size  p_index  )  const [inline]

Slow!

template<typename _t_item>
iterator pfc::chain_list_v2_t< _t_item >::by_index ( t_size  p_index  )  [inline]

Slow!

template<typename _t_item>
t_self& pfc::chain_list_v2_t< _t_item >::operator<< ( t_self p_other  )  [inline]

template<typename _t_item>
t_self& pfc::chain_list_v2_t< _t_item >::operator>> ( t_self p_other  )  [inline]

template<typename _t_item>
void pfc::chain_list_v2_t< _t_item >::_link_last ( const_iterator const &  iter  )  [inline]

Links an object that has been unlinked from another list. Unsafe.

template<typename _t_item>
void pfc::chain_list_v2_t< _t_item >::_link_first ( const_iterator const &  iter  )  [inline]

Links an object that has been unlinked from another list. Unsafe.


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

Generated on Thu Aug 28 21:16:07 2008 for foobar2000 SDK by  doxygen 1.5.5