foobar2000 SDK  2015-01-14
Public Member Functions | Private Attributes
pfc::sort_callback_impl_permutation_wrap_t< t_container, t_compare, t_permutation >

#include <sort.h>

+ Inheritance diagram for pfc::sort_callback_impl_permutation_wrap_t< t_container, t_compare, t_permutation >:

Public Member Functions

 sort_callback_impl_permutation_wrap_t (const t_container &p_data, t_compare p_compare, t_permutation const &p_permutation)
 
int compare (t_size p_index1, t_size p_index2) const
 
void swap (t_size p_index1, t_size p_index2)
 
- Public Member Functions inherited from pfc::sort_callback
void swap_check (t_size p_index1, t_size p_index2)
 

Private Attributes

t_compare m_compare
 
const t_container & m_data
 
t_permutation const & m_permutation
 

Detailed Description

template<typename t_container, typename t_compare, typename t_permutation>
class pfc::sort_callback_impl_permutation_wrap_t< t_container, t_compare, t_permutation >

Definition at line 142 of file sort.h.

Constructor & Destructor Documentation

template<typename t_container, typename t_compare, typename t_permutation>
pfc::sort_callback_impl_permutation_wrap_t< t_container, t_compare, t_permutation >::sort_callback_impl_permutation_wrap_t ( const t_container &  p_data,
t_compare  p_compare,
t_permutation const &  p_permutation 
)
inline

Definition at line 145 of file sort.h.

145 : m_data(p_data), m_compare(p_compare), m_permutation(p_permutation) {}
t_permutation const & m_permutation
Definition: sort.h:158

Member Function Documentation

template<typename t_container, typename t_compare, typename t_permutation>
int pfc::sort_callback_impl_permutation_wrap_t< t_container, t_compare, t_permutation >::compare ( t_size  p_index1,
t_size  p_index2 
) const
inlinevirtual

Implements pfc::sort_callback.

Definition at line 146 of file sort.h.

147  {
148  return m_compare(m_data[m_permutation[p_index1]],m_data[m_permutation[p_index2]]);
149  }
t_permutation const & m_permutation
Definition: sort.h:158
template<typename t_container, typename t_compare, typename t_permutation>
void pfc::sort_callback_impl_permutation_wrap_t< t_container, t_compare, t_permutation >::swap ( t_size  p_index1,
t_size  p_index2 
)
inlinevirtual

Implements pfc::sort_callback.

Definition at line 151 of file sort.h.

152  {
153  swap_t(m_permutation[p_index1],m_permutation[p_index2]);
154  }
t_permutation const & m_permutation
Definition: sort.h:158
void swap_t(T &p_item1, T &p_item2)
Definition: primitives.h:285

Field Documentation

template<typename t_container, typename t_compare, typename t_permutation>
t_compare pfc::sort_callback_impl_permutation_wrap_t< t_container, t_compare, t_permutation >::m_compare
private

Definition at line 157 of file sort.h.

template<typename t_container, typename t_compare, typename t_permutation>
const t_container& pfc::sort_callback_impl_permutation_wrap_t< t_container, t_compare, t_permutation >::m_data
private

Definition at line 156 of file sort.h.

template<typename t_container, typename t_compare, typename t_permutation>
t_permutation const& pfc::sort_callback_impl_permutation_wrap_t< t_container, t_compare, t_permutation >::m_permutation
private

Definition at line 158 of file sort.h.


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