foobar2000 SDK  2015-01-14
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
file_list_helper::file_list_from_metadb_handle_list

#include <file_list_helper.h>

+ Inheritance diagram for file_list_helper::file_list_from_metadb_handle_list:

Public Member Functions

 ~file_list_from_metadb_handle_list ()
 
t_size get_count () const
 
void get_item_ex (const char *&p_out, t_size n) const
 
void init_from_list (const list_base_const_t< metadb_handle_ptr > &p_list)
 
void init_from_list_display (const list_base_const_t< metadb_handle_ptr > &p_list)
 
- Public Member Functions inherited from pfc::list_base_const_t< const char * >
bool bsearch_permutation_t (t_compare p_compare, t_param const &p_param, const t_permutation &p_permutation, t_size &p_index) const
 
bool bsearch_t (t_compare p_compare, t_param const &p_param, t_size &p_index) const
 
void enumerate (t_callback &p_callback) const
 
t_size find_duplicates_sorted_permutation_t (t_compare p_compare, t_permutation const &p_permutation, bit_array_var &p_out)
 
t_size find_duplicates_sorted_t (t_compare p_compare, bit_array_var &p_out) const
 
t_size find_item (const t_search &p_item) const
 
const char * get_item (t_size n) const
 
t_size get_size () const
 
bool have_item (const t_search &p_item) const
 
bool operator!= (const t_self &item2) const
 
bool operator== (const t_self &item2) const
 
const char * operator[] (t_size n) const
 
void sort_get_permutation_t (t_compare p_compare, t_permutation const &p_permutation) const
 
void sort_stable_get_permutation_t (t_compare p_compare, t_permutation const &p_permutation) const
 

Static Public Member Functions

static t_size g_get_count (const list_base_const_t< metadb_handle_ptr > &p_list, t_size max=~0)
 
- Static Public Member Functions inherited from pfc::list_base_const_t< const char * >
static bool g_equals (const t_self &item1, const t_self &item2)
 

Private Member Functions

void __add (const char *p_what)
 

Private Attributes

pfc::ptr_list_t< char > m_data
 

Additional Inherited Members

- Public Types inherited from pfc::list_base_const_t< const char * >
typedef const char * t_item
 
- Protected Member Functions inherited from pfc::list_base_const_t< const char * >
 list_base_const_t ()
 
 list_base_const_t (const t_self &)
 
 ~list_base_const_t ()
 
void operator= (const t_self &)
 

Detailed Description

Definition at line 8 of file file_list_helper.h.

Constructor & Destructor Documentation

file_list_helper::file_list_from_metadb_handle_list::~file_list_from_metadb_handle_list ( )

Definition at line 69 of file file_list_helper.cpp.

70  {
71  m_data.free_all();
72  }
void free_all()
Definition: ptr_list.h:14

Member Function Documentation

void file_list_helper::file_list_from_metadb_handle_list::__add ( const char *  p_what)
private

Definition at line 32 of file file_list_helper.cpp.

32  {
33  char * temp = _strdup(p_what);
34  if (temp == NULL) throw std::bad_alloc();
35  try {m_data.add_item(temp); } catch(...) {free(temp); throw;}
36  }
t_size add_item(const T &item)
Definition: list.h:522
t_size file_list_helper::file_list_from_metadb_handle_list::g_get_count ( const list_base_const_t< metadb_handle_ptr > &  p_list,
t_size  max = ~0 
)
static

Definition at line 24 of file file_list_helper.cpp.

24  {
26  const t_size inCount = data.get_size();
27  for(t_size walk = 0; walk < inCount && content.get_count() < max; ++walk) {
28  content += data[walk]->get_path();
29  }
30  return content.get_count();
31  }
t_size get_count() const
Definition: avltree.h:453
size_t t_size
Definition: int_types.h:48
t_size file_list_helper::file_list_from_metadb_handle_list::get_count ( ) const
virtual

Implements pfc::list_base_const_t< const char * >.

Definition at line 66 of file file_list_helper.cpp.

66 {return m_data.get_count();}
t_size get_count() const
Definition: list.h:365
void file_list_helper::file_list_from_metadb_handle_list::get_item_ex ( const char *&  p_out,
t_size  n 
) const
virtual

Implements pfc::list_base_const_t< const char * >.

Definition at line 67 of file file_list_helper.cpp.

67 {p_out = m_data.get_item(n);}
T get_item(t_size n) const
Definition: list.h:358
void file_list_helper::file_list_from_metadb_handle_list::init_from_list ( const list_base_const_t< metadb_handle_ptr > &  p_list)

Definition at line 38 of file file_list_helper.cpp.

39  {
40  m_data.free_all();
41 
42  t_size n, m = p_list.get_count();
43  for(n=0;n<m;n++) {
44  __add( p_list.get_item(n)->get_path() );
45  }
47  }
size_t t_size
Definition: int_types.h:48
virtual t_size get_count() const =0
void free_all()
Definition: ptr_list.h:14
static void file_list_remove_duplicates(pfc::ptr_list_t< char > &out)
T get_item(t_size n) const
Definition: list.h:16
void file_list_helper::file_list_from_metadb_handle_list::init_from_list_display ( const list_base_const_t< metadb_handle_ptr > &  p_list)

Definition at line 49 of file file_list_helper.cpp.

50  {
51  m_data.free_all();
52 
54 
55  t_size n, m = p_list.get_count();
56  for(n=0;n<m;n++)
57  {
58  filesystem::g_get_display_path(p_list.get_item(n)->get_path(),temp);
59  __add(temp);
60  }
62 
63 
64  }
size_t t_size
Definition: int_types.h:48
virtual t_size get_count() const =0
void free_all()
Definition: ptr_list.h:14
static void file_list_remove_duplicates(pfc::ptr_list_t< char > &out)
string8_t< pfc::alloc_fast_aggressive > string8_fastalloc
Definition: string_base.h:435
T get_item(t_size n) const
Definition: list.h:16

Field Documentation

pfc::ptr_list_t<char> file_list_helper::file_list_from_metadb_handle_list::m_data
private

Definition at line 23 of file file_list_helper.h.


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