typedef int (* LINKAGEMODE wxSortCompareFunction)(const void *elem1, const void *elem2);
}
-class WXDLLIMPEXP_BASE wxObjectListNode;
+class WXDLLIMPEXP_FWD_BASE wxObjectListNode;
typedef wxObjectListNode wxNode;
//
};
#define WX_LIST_SORTFUNCTION( elT, f ) wxList_SortFunction<elT>(f)
-#define VC6_WORKAROUND(elT, liT, decl)
+#define WX_LIST_VC6_WORKAROUND(elT, liT, decl)
#else // if defined( __VISUALC__ ) && __VISUALC__ < 1300 // == VC6
#define WX_LIST_SORTFUNCTION( elT, f ) std::greater<elT>( f )
-#define VC6_WORKAROUND(elT, liT, decl) \
+#define WX_LIST_VC6_WORKAROUND(elT, liT, decl) \
decl liT; \
\
/* Workaround for broken VC6 STL incorrectly requires a std::greater<> */ \
static void DeleteFunction( _WX_LIST_ITEM_TYPE_##liT X ); \
}; \
\
- VC6_WORKAROUND(elT, liT, decl) \
+ WX_LIST_VC6_WORKAROUND(elT, liT, decl) \
decl liT : public std::list<elT> \
{ \
private: \
~liT() { Clear(); } \
\
/* It needs access to our EmptyList */ \
- friend decl compatibility_iterator; \
+ friend class compatibility_iterator; \
}
#define WX_DECLARE_LIST(elementtype, listname) \
{ m_key.integer = i; }
wxListKey(const wxString& s) : m_keyType(wxKEY_STRING)
{ m_key.string = new wxString(s); }
+ wxListKey(const char *s) : m_keyType(wxKEY_STRING)
+ { m_key.string = new wxString(s); }
+ wxListKey(const wchar_t *s) : m_keyType(wxKEY_STRING)
+ { m_key.string = new wxString(s); }
// accessors
wxKeyType GetKeyType() const { return m_keyType; }
extern WXDLLIMPEXP_DATA_BASE(wxListKey) wxDefaultListKey;
-class WXDLLIMPEXP_BASE wxListBase;
+class WXDLLIMPEXP_FWD_BASE wxListBase;
class WXDLLIMPEXP_BASE wxNodeBase
{
// a double-linked list class
// -----------------------------------------------------------------------------
-class WXDLLIMPEXP_BASE wxList;
+class WXDLLIMPEXP_FWD_BASE wxList;
class WXDLLIMPEXP_BASE wxListBase : public wxObject
{
-friend class WXDLLIMPEXP_BASE wxNodeBase; // should be able to call DetachNode()
+friend class wxNodeBase; // should be able to call DetachNode()
friend class wxHashTableBase; // should be able to call untyped Find()
public:
#if !wxUSE_STL
wxList& operator=(const wxList& list)
- { (void) wxListBase::operator=(list); return *this; }
+ { Assign(list); return *this; }
// compatibility methods
void Sort(wxSortCompareFunction compfunc) { wxListBase::Sort(compfunc); }