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) \
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
+class WXDLLIMPEXP_BASE wxListBase
{
-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); }
#else
wxNode *Member(wxObject *object) const { return (wxNode *)Find(object); }
#endif
-
-private:
-#if !wxUSE_STL
- DECLARE_DYNAMIC_CLASS(wxList)
-#endif
};
#if !wxUSE_STL
private:
void DoCopy(const wxStringList&); // common part of copy ctor and operator=
-
- DECLARE_DYNAMIC_CLASS(wxStringList)
};
#else // if wxUSE_STL