15 template<
typename t_container>
34 m_data.swap(p_index1+m_delta,p_index2+m_delta);
41 template<
typename t_container>
48 template<
typename t_container>
104 template<
typename t_container,
typename t_compare>
111 return m_compare(m_data[p_index1],m_data[p_index2]);
116 swap_t(m_data[p_index1],m_data[p_index2]);
123 template<
typename t_container>
130 return compare_t(m_data[p_index1],m_data[p_index2]);
135 swap_t(m_data[p_index1],m_data[p_index2]);
141 template<
typename t_container,
typename t_compare,
typename t_permutation>
148 return m_compare(m_data[m_permutation[p_index1]],m_data[m_permutation[p_index2]]);
153 swap_t(m_permutation[p_index1],m_permutation[p_index2]);
161 template<
typename t_container,
typename t_compare>
162 static void sort_t(t_container & p_data,t_compare p_compare,
t_size p_count)
168 template<
typename t_container,
typename t_compare>
175 template<
typename t_container,
typename t_compare,
typename t_permutation>
182 template<
typename t_container,
typename t_compare,
typename t_permutation>
int compare(t_size p_index1, t_size p_index2) const
reorder_callback_impl_t(t_container &p_data)
static void sort_get_permutation_t(const t_container &p_data, t_compare p_compare, t_size p_count, t_permutation const &p_permutation)
void sort(pfc::sort_callback &p_callback, t_size p_num)
void reorder(reorder_callback &p_callback, const t_size *p_order, t_size p_count)
void swap(t_size p_index1, t_size p_index2)
void swap(t_size p_index1, t_size p_index2)
reorder_callback & m_data
void reorder_ptr_t(T *p_data, const t_size *p_order, t_size p_count)
const t_container & m_data
int compare(t1 const &p1, t2 const &p2)
int compare(t_size p_index1, t_size p_index2) const
int compare(t_size p_index1, t_size p_index2) const
sort_callback_impl_simple_wrap_t(t_container &p_data, t_compare p_compare)
sort_callback_impl_permutation_wrap_t(const t_container &p_data, t_compare p_compare, t_permutation const &p_permutation)
void reorder_partial_t(t_container &p_data, t_size p_base, const t_size *p_order, t_size p_count)
void sort_stable(sort_callback &p_callback, t_size p_count)
void reorder_t(t_container &p_data, const t_size *p_order, t_size p_count)
void swap(t_size p_index1, t_size p_index2)
reorder_callback_impl_delta(reorder_callback &p_data, t_size p_delta)
sort_callback_impl_auto_wrap_t(t_container &p_data)
t_permutation const & m_permutation
void swap_check(t_size p_index1, t_size p_index2)
reorder_callback_impl_ptr_t(T *p_data)
static void sort_stable_get_permutation_t(const t_container &p_data, t_compare p_compare, t_size p_count, t_permutation const &p_permutation)
int compare_t(const hasher_md5_result &p_item1, const hasher_md5_result &p_item2)
void swap(t_size p_index1, t_size p_index2)
void swap(t_size p_index1, t_size p_index2)
void swap(t_size p_index1, t_size p_index2)
static void sort_t(t_container &p_data, t_compare p_compare, t_size p_count)
void swap_void(void *item1, void *item2, t_size width)
void reorder_void(void *data, t_size width, const t_size *order, t_size num, void(*swapfunc)(void *item1, void *item2, t_size width))
void swap_t(T &p_item1, T &p_item2)
array_t< t_size > m_order
static void sort_stable_t(t_container &p_data, t_compare p_compare, t_size p_count)
void sort_void(void *base, t_size num, t_size width, int(*comp)(const void *, const void *))
void sort_void_ex(void *base, t_size num, t_size width, int(*comp)(const void *, const void *), void(*swap)(void *, void *, t_size))