23 if (
m_item < p_old_count) {
25 for(
t_size walk = p_mask.
find_first(
true,0,p_old_count); walk < p_old_count; walk = p_mask.
find_next(
true,walk,p_old_count)) {
26 if (walk < item_before) {
28 }
else if (walk == item_before) {
55 for(
t_size walk = p_mask.
find_first(
true,0,p_old_count); walk < p_old_count; walk = p_mask.
find_next(
true,walk,p_old_count)) {
56 if (walk < playlist_before) {
58 }
else if (walk == playlist_before) {
t_size find_next(bool val, t_size previous, t_size max) const
void on_items_reordered(t_size p_playlist, const t_size *p_order, t_size p_count)
t_size find_first(bool val, t_size start, t_size max) const
void on_playlists_reorder(const t_size *p_order, t_size p_count)
Bit array interface class, constant version (you can only retrieve values). Range of valid indexes d...
playlist_callback implementation helper - registers itself on creation / unregisters on destruction...
playlist_position_reference_tracker(bool p_trackitem=true)
virtual t_size get_count() const =0
void on_playlist_created(t_size p_index, const char *p_name, t_size p_name_len)
void on_items_replaced(t_size p_playlist, const bit_array &p_mask, const pfc::list_base_const_t< t_on_items_replaced_entry > &p_data)
static t_size g_find_reverse(const t_size *order, t_size val)
Insecure - may deadlock or crash on invalid permutation content. In theory faster than walking the pe...
void on_items_added(t_size p_playlist, t_size p_start, const pfc::list_base_const_t< metadb_handle_ptr > &p_data, const bit_array &p_selection)
void on_items_removed(t_size p_playlist, const bit_array &p_mask, t_size p_old_count, t_size p_new_count)
void on_playlists_removed(const bit_array &p_mask, t_size p_old_count, t_size p_new_count)