\
class reverse_iterator \
{ \
- typedef name::reference reference; \
- typedef name::pointer pointer; \
+ typedef T value_type; \
+ typedef value_type& reference; \
+ typedef value_type* pointer; \
typedef reverse_iterator itor; \
friend itor operator+(int o, const itor& it); \
friend itor operator+(const itor& it, int o); \
\
class const_reverse_iterator \
{ \
- typedef name::const_reference reference; \
- typedef name::const_pointer pointer; \
+ typedef T value_type; \
+ typedef const value_type& reference; \
+ typedef const value_type* pointer; \
typedef const_reverse_iterator itor; \
friend itor operator+(int o, const itor& it); \
friend itor operator+(const itor& it, int o); \
// cannot handle types with size greater than pointer because of sorting
// ----------------------------------------------------------------------------
-#define _WX_DEFINE_SORTED_TYPEARRAY(T, name, base, defcomp, classexp) \
-typedef int (CMPFUNC_CONV *SCMPFUNC##T)(T pItem1, T pItem2); \
-_WX_DEFINE_SORTED_TYPEARRAY_2(T, name, base, defcomp, classexp, SCMPFUNC##T)
-
#define _WX_DEFINE_SORTED_TYPEARRAY_2(T, name, base, defcomp, classexp, comptype)\
wxCOMPILE_TIME_ASSERT2(sizeof(T) <= sizeof(void *), \
TypeTooBigToBeStoredInSorted##base, \
#define WX_DEFINE_SORTED_USER_EXPORTED_TYPEARRAY(T, name, base, expmode) \
typedef T _wxArray##name; \
- _WX_DEFINE_SORTED_TYPEARRAY(_wxArray##name, name, base, \
- wxARRAY_EMPTY_CMP, class expmode)
+ typedef int (CMPFUNC_CONV *SCMPFUNC##name)(T pItem1, T pItem2); \
+ _WX_DEFINE_SORTED_TYPEARRAY_2(_wxArray##name, name, base, \
+ wxARRAY_EMPTY_CMP, class expmode, SCMPFUNC##name)
// ----------------------------------------------------------------------------
// WX_DEFINE_SORTED_TYPEARRAY_CMP: exactly the same as above but the comparison
#define WX_DEFINE_SORTED_USER_EXPORTED_TYPEARRAY_CMP(T, cmpfunc, name, base, \
expmode) \
typedef T _wxArray##name; \
- _WX_DEFINE_SORTED_TYPEARRAY(_wxArray##name, name, base, = cmpfunc, \
- class expmode)
+ typedef int (CMPFUNC_CONV *SCMPFUNC##name)(T pItem1, T pItem2); \
+ _WX_DEFINE_SORTED_TYPEARRAY_2(_wxArray##name, name, base, = cmpfunc, \
+ class expmode, SCMPFUNC##name)
// ----------------------------------------------------------------------------
// WX_DECLARE_OBJARRAY(T, name): this macro generates a new array class