Use template class instead of template function in wxVectorSort().
This allows the code to compile with VC6 which has trouble with explicit specification of the template functions instantiation. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63940 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -448,12 +448,15 @@ inline typename wxVector<T>::size_type wxVector<T>::erase(size_type n)
|
||||
|
||||
namespace wxPrivate
|
||||
{
|
||||
// This function is a helper for the wxVectorSort function, and should
|
||||
// not be used directly in user's code.
|
||||
|
||||
// This is a helper for the wxVectorSort function, and should not be used
|
||||
// directly in user's code.
|
||||
template<typename T>
|
||||
int wxCMPFUNC_CONV wxVectorSort_compare(const void* pitem1, const void* pitem2, const void* )
|
||||
struct wxVectorSort
|
||||
{
|
||||
static int wxCMPFUNC_CONV
|
||||
Compare(const void* pitem1, const void* pitem2, const void* )
|
||||
{
|
||||
const T& item1 = *reinterpret_cast<const T*>(pitem1);
|
||||
const T& item2 = *reinterpret_cast<const T*>(pitem2);
|
||||
|
||||
@@ -463,7 +466,8 @@ int wxCMPFUNC_CONV wxVectorSort_compare(const void* pitem1, const void* pitem2,
|
||||
return 1;
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
} // namespace wxPrivate
|
||||
|
||||
@@ -473,7 +477,7 @@ template<typename T>
|
||||
void wxVectorSort(wxVector<T>& v)
|
||||
{
|
||||
wxQsort(v.begin(), v.size(), sizeof(T),
|
||||
wxPrivate::wxVectorSort_compare<T>, NULL);
|
||||
wxPrivate::wxVectorSort<T>::Compare, NULL);
|
||||
}
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user