|
foobar2000 SDK
2015-08-03
|
#include <chain_list_v2.h>
Public Types | |
| typedef ::pfc::const_iterator< t_item > | const_iterator |
| typedef ::pfc::iterator< t_item > | iterator |
| typedef __chain_list_elem< t_item > | t_elem |
| typedef _t_item | t_item |
| typedef chain_list_v2_t< t_item > | t_self |
Public Member Functions | |
| chain_list_v2_t () | |
| chain_list_v2_t (const t_self &p_source) | |
| ~chain_list_v2_t () | |
| template<typename t_in > | |
| void | _add (const t_in &in) |
| void | _link_first (const_iterator const &iter) |
| void | _link_last (const_iterator const &iter) |
| template<typename t_in > | |
| void | _set (const t_in &in) |
| template<typename t_source > | |
| void | add_item (const t_source &p_source) |
| const_iterator | by_index (t_size p_index) const |
| iterator | by_index (t_size p_index) |
| 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 > | |
| const_iterator | find_item (const t_source &p_item) const |
| template<typename t_source > | |
| iterator | find_item (const t_source &p_item) |
| iterator | first () |
| const_iterator | first () const |
| t_size | get_count () const |
| template<typename t_source > | |
| bool | have_item (const t_source &p_item) const |
| iterator | insert_after (const_iterator const &p_iter) |
| template<typename t_source > | |
| iterator | insert_after (const_iterator const &p_iter, const t_source &p_source) |
| iterator | insert_before (const_iterator const &p_iter) |
| template<typename t_source > | |
| iterator | insert_before (const_iterator const &p_iter, const t_source &p_source) |
| iterator | insert_first () |
| template<typename t_source > | |
| iterator | insert_first (const t_source &p_source) |
| iterator | insert_last () |
| template<typename t_source > | |
| iterator | insert_last (const t_source &p_source) |
| iterator | last () |
| const_iterator | last () const |
| template<typename t_source > | |
| t_self & | operator+= (const t_source &p_source) |
| t_self & | operator<< (t_self &p_other) |
| template<typename t_in > | |
| t_self & | operator= (const t_in &in) |
| t_self & | operator= (const t_self &p_other) |
| t_self & | operator>> (t_self &p_other) |
| void | remove (const_iterator const &p_iter) |
| void | remove_all () throw () |
| template<typename t_source > | |
| bool | remove_item (const t_source &p_item) |
| void | remove_range (const_iterator const &p_from, const_iterator const &p_to) |
| void | remove_single (const_iterator const &p_iter) |
| template<typename t_source > | |
| void | set_single (const t_source &p_item) |
Private Member Functions | |
| t_elem * | __by_index (t_size p_index) const |
| template<typename t_source > | |
| bool | __find (t_elem *&p_elem, const t_source &p_item) const |
| t_elem * | __link_first (t_elem *p_elem) throw () |
| t_elem * | __link_last (t_elem *p_elem) throw () |
| t_elem * | __link_next (t_elem *p_prev, t_elem *p_elem) throw () |
| t_elem * | __link_prev (t_elem *p_next, t_elem *p_elem) throw () |
| void | __on_link (t_elem *p_elem) throw () |
| t_elem * | __unlink (t_elem *p_elem) throw () |
| void | __unlink_helper (t_elem *p_elem) throw () |
| t_elem * | __unlink_temporary (t_elem *p_elem) throw () |
Static Private Member Functions | |
| template<typename t_elemwalk , typename t_callback > | |
| static void | __enumerate_chain (t_elemwalk *p_elem, t_callback &p_callback) |
| static t_elem * | _elem (const_iterator const &iter) |
Private Attributes | |
| t_size | m_count |
| t_elem * | m_first |
| t_elem * | m_last |
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.
Definition at line 26 of file chain_list_v2.h.
| typedef ::pfc::const_iterator<t_item> pfc::chain_list_v2_t< _t_item >::const_iterator |
Definition at line 31 of file chain_list_v2.h.
| typedef ::pfc::iterator<t_item> pfc::chain_list_v2_t< _t_item >::iterator |
Definition at line 30 of file chain_list_v2.h.
| typedef __chain_list_elem<t_item> pfc::chain_list_v2_t< _t_item >::t_elem |
Definition at line 32 of file chain_list_v2.h.
| typedef _t_item pfc::chain_list_v2_t< _t_item >::t_item |
Definition at line 28 of file chain_list_v2.h.
| typedef chain_list_v2_t<t_item> pfc::chain_list_v2_t< _t_item >::t_self |
Definition at line 29 of file chain_list_v2.h.
|
inline |
Definition at line 34 of file chain_list_v2.h.
|
inline |
Definition at line 35 of file chain_list_v2.h.
|
inline |
Definition at line 105 of file chain_list_v2.h.
|
inlineprivate |
Definition at line 177 of file chain_list_v2.h.
|
inlinestaticprivate |
Definition at line 186 of file chain_list_v2.h.
|
inlineprivate |
Definition at line 194 of file chain_list_v2.h.
|
inlineprivate | ||||||||||||||
Definition at line 224 of file chain_list_v2.h.
|
inlineprivate | ||||||||||||||
Definition at line 232 of file chain_list_v2.h.
|
inlineprivate | ||||||||||||||||||||
Definition at line 240 of file chain_list_v2.h.
|
inlineprivate | ||||||||||||||||||||
Definition at line 248 of file chain_list_v2.h.
|
inlineprivate | ||||||||||||||
Definition at line 221 of file chain_list_v2.h.
|
inlineprivate | ||||||||||||||
Definition at line 216 of file chain_list_v2.h.
|
inlineprivate | ||||||||||||||
Definition at line 203 of file chain_list_v2.h.
|
inlineprivate | ||||||||||||||
Definition at line 210 of file chain_list_v2.h.
|
inline |
Definition at line 46 of file chain_list_v2.h.
|
inlinestaticprivate |
Definition at line 174 of file chain_list_v2.h.
|
inline |
Links an object that has been unlinked from another list. Unsafe.
Definition at line 168 of file chain_list_v2.h.
|
inline |
Links an object that has been unlinked from another list. Unsafe.
Definition at line 162 of file chain_list_v2.h.
|
inline |
Definition at line 43 of file chain_list_v2.h.
|
inline |
Definition at line 108 of file chain_list_v2.h.
|
inline |
Slow!
Definition at line 145 of file chain_list_v2.h.
|
inline |
Slow!
Definition at line 147 of file chain_list_v2.h.
|
inline |
Definition at line 92 of file chain_list_v2.h.
|
inline |
Definition at line 93 of file chain_list_v2.h.
|
inline |
Definition at line 124 of file chain_list_v2.h.
|
inline |
Definition at line 130 of file chain_list_v2.h.
|
inline |
Definition at line 63 of file chain_list_v2.h.
|
inline |
Definition at line 65 of file chain_list_v2.h.
|
inline |
Definition at line 61 of file chain_list_v2.h.
|
inline |
Definition at line 136 of file chain_list_v2.h.
|
inline |
Definition at line 117 of file chain_list_v2.h.
|
inline |
Definition at line 121 of file chain_list_v2.h.
|
inline |
Definition at line 118 of file chain_list_v2.h.
|
inline |
Definition at line 122 of file chain_list_v2.h.
|
inline |
Definition at line 116 of file chain_list_v2.h.
|
inline |
Definition at line 120 of file chain_list_v2.h.
|
inline |
Definition at line 115 of file chain_list_v2.h.
|
inline |
Definition at line 119 of file chain_list_v2.h.
|
inline |
Definition at line 64 of file chain_list_v2.h.
|
inline |
Definition at line 66 of file chain_list_v2.h.
|
inline |
Definition at line 112 of file chain_list_v2.h.
|
inline |
Definition at line 149 of file chain_list_v2.h.
|
inline |
Definition at line 49 of file chain_list_v2.h.
|
inline |
Definition at line 51 of file chain_list_v2.h.
|
inline |
Definition at line 155 of file chain_list_v2.h.
|
inline |
Definition at line 73 of file chain_list_v2.h.
|
inline | |||||||||||||
Definition at line 78 of file chain_list_v2.h.
|
inline |
Definition at line 95 of file chain_list_v2.h.
|
inline |
Definition at line 82 of file chain_list_v2.h.
|
inline |
Definition at line 68 of file chain_list_v2.h.
|
inline |
Definition at line 140 of file chain_list_v2.h.
|
private |
Definition at line 257 of file chain_list_v2.h.
|
private |
Definition at line 256 of file chain_list_v2.h.
|
private |
Definition at line 256 of file chain_list_v2.h.
1.8.11