#include "wx/beforestd.h"
#include <list>
#include "wx/afterstd.h"
- #if defined(__WXMSW__) && defined(__MINGW32__)
- #include "wx/msw/winundef.h"
- #endif
#endif
// ----------------------------------------------------------------------------
// type of compare function for list sort operation (as in 'qsort'): it should
// return a negative value, 0 or positive value if the first element is less
// than, equal or greater than the second
+
extern "C"
{
typedef int (* LINKAGEMODE wxSortCompareFunction)(const void *elem1, const void *elem2);
// due to circular header dependencies this function has to be declared here
// (normally it's found in utils.h which includes itself list.h...)
-extern WXDLLEXPORT wxChar* copystring(const wxChar *s);
+extern WXDLLIMPEXP_BASE wxChar* copystring(const wxChar *s);
class WXDLLEXPORT wxObjectListNode;
typedef wxObjectListNode wxNode;
{ \
typedef name list; \
public: \
- typedef list::Node Node; \
+ typedef nodetype Node; \
typedef iterator itor; \
- typedef list::value_type* ptr_type; \
+ typedef T* value_type; \
+ typedef value_type* ptr_type; \
+ typedef value_type& reference; \
\
Node* m_node; \
Node* m_init; \
public: \
- typedef list::reference reference_type; \
+ typedef reference reference_type; \
typedef ptr_type pointer_type; \
\
iterator(Node* node, Node* init) : m_node(node), m_init(init) {}\
{ \
typedef name list; \
public: \
- typedef list::Node Node; \
+ typedef nodetype Node; \
+ typedef T* value_type; \
+ typedef const value_type& const_reference; \
typedef const_iterator itor; \
- typedef list::value_type* ptr_type; \
+ typedef value_type* ptr_type; \
\
Node* m_node; \
Node* m_init; \
public: \
- typedef list::const_reference reference_type; \
+ typedef const_reference reference_type; \
typedef const ptr_type pointer_type; \
\
const_iterator(Node* node, Node* init) \
{ \
typedef name list; \
public: \
- typedef list::Node Node; \
+ typedef nodetype Node; \
+ typedef T* value_type; \
typedef reverse_iterator itor; \
- typedef list::value_type* ptr_type; \
+ typedef value_type* ptr_type; \
+ typedef value_type& reference; \
\
Node* m_node; \
Node* m_init; \
public: \
- typedef list::reference reference_type; \
+ typedef reference reference_type; \
typedef ptr_type pointer_type; \
\
reverse_iterator(Node* node, Node* init) \
{ \
typedef name list; \
public: \
- typedef list::Node Node; \
+ typedef nodetype Node; \
+ typedef T* value_type; \
typedef const_reverse_iterator itor; \
- typedef list::value_type* ptr_type; \
+ typedef value_type* ptr_type; \
+ typedef const value_type& const_reference; \
\
Node* m_node; \
Node* m_init; \
public: \
- typedef list::const_reference reference_type; \
+ typedef const_reference reference_type; \
typedef const ptr_type pointer_type; \
\
const_reverse_iterator(Node* node, Node* init) \
class WXDLLEXPORT wxStringList : public wxStringListBase
{
public:
+ compatibility_iterator Append(wxChar* s)
+ { wxString tmp = s; delete[] s; return wxStringListBase::Append(tmp); }
+ compatibility_iterator Insert(wxChar* s)
+ { wxString tmp = s; delete[] s; return wxStringListBase::Insert(tmp); }
+ compatibility_iterator Insert(size_t pos, wxChar* s)
+ {
+ wxString tmp = s;
+ delete[] s;
+ return wxStringListBase::Insert(pos, tmp);
+ }
+ compatibility_iterator Add(const wxChar* s)
+ { push_back(s); return GetLast(); }
+ compatibility_iterator Prepend(const wxChar* s)
+ { push_front(s); return GetFirst(); }
};
#endif // wxUSE_STL