foobar2000 SDK  2015-08-03
Public Member Functions
pfc::ptr_list_t< T, B >

#include <ptr_list.h>

+ Inheritance diagram for pfc::ptr_list_t< T, B >:

Public Member Functions

 ptr_list_t ()
 
 ptr_list_t (const ptr_list_t< T > &p_source)
 
void delete_all ()
 
void delete_by_idx (t_size p_index)
 
void delete_item (T *ptr)
 
void delete_mask (const bit_array &p_mask)
 
void free_all ()
 
void free_by_idx (t_size n)
 
void free_mask (const bit_array &p_mask)
 
Toperator[] (t_size n) const
 

Detailed Description

template<class T, class B = list_t<T*>>
class pfc::ptr_list_t< T, B >

Definition at line 7 of file ptr_list.h.

Constructor & Destructor Documentation

template<class T, class B = list_t<T*>>
pfc::ptr_list_t< T, B >::ptr_list_t ( )
inline

Definition at line 10 of file ptr_list.h.

10 {}
template<class T, class B = list_t<T*>>
pfc::ptr_list_t< T, B >::ptr_list_t ( const ptr_list_t< T > &  p_source)
inline

Definition at line 11 of file ptr_list.h.

11 {*this = p_source;}

Member Function Documentation

template<class T, class B = list_t<T*>>
void pfc::ptr_list_t< T, B >::delete_all ( )
inline

Definition at line 23 of file ptr_list.h.

23  {
24  this->remove_all_ex(pfc::delete_t<T>);
25  }
template<class T, class B = list_t<T*>>
void pfc::ptr_list_t< T, B >::delete_by_idx ( t_size  p_index)
inline

Definition at line 19 of file ptr_list.h.

19  {
20  delete_mask(bit_array_one(p_index));
21  }
void delete_mask(const bit_array &p_mask)
Definition: ptr_list.h:27
template<class T, class B = list_t<T*>>
void pfc::ptr_list_t< T, B >::delete_item ( T ptr)
inline

Definition at line 17 of file ptr_list.h.

17 {delete_by_idx(find_item(ptr));}
void delete_by_idx(t_size p_index)
Definition: ptr_list.h:19
template<class T, class B = list_t<T*>>
void pfc::ptr_list_t< T, B >::delete_mask ( const bit_array p_mask)
inline

Definition at line 27 of file ptr_list.h.

27  {
28  this->remove_mask_ex(p_mask,pfc::delete_t<T>);
29  }
template<class T, class B = list_t<T*>>
void pfc::ptr_list_t< T, B >::free_all ( )
inline

Definition at line 14 of file ptr_list.h.

14 {this->remove_all_ex(free);}
template<class T, class B = list_t<T*>>
void pfc::ptr_list_t< T, B >::free_by_idx ( t_size  n)
inline

Definition at line 13 of file ptr_list.h.

void free_mask(const bit_array &p_mask)
Definition: ptr_list.h:15
template<class T, class B = list_t<T*>>
void pfc::ptr_list_t< T, B >::free_mask ( const bit_array p_mask)
inline

Definition at line 15 of file ptr_list.h.

15 {this->remove_mask_ex(p_mask,free);}
template<class T, class B = list_t<T*>>
T* pfc::ptr_list_t< T, B >::operator[] ( t_size  n) const
inline

Definition at line 31 of file ptr_list.h.

31 {return this->get_item(n);}

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