void *GetData() const { return m_data; }
void SetData(void *data) { m_data = data; }
- // get 0-based index of this node within the list or NOT_FOUND
+ // get 0-based index of this node within the list or wxNOT_FOUND
int IndexOf() const;
virtual void DeleteData() { }
{ wxASSERT( m_count==0 ); m_keyType = keyType; }
protected:
+
// all methods here are "overloaded" in derived classes to provide compile
// time type checking
void *data,
const wxListKey& key = wxDefaultListKey) = 0;
+// Can't access these from derived classes otherwise (bug in Salford C++?)
+#ifdef __SALFORDC__
+public:
+#endif
+
// ctors
// from an array
wxListBase(size_t count, void *elements[]);
// from a sequence of objects
wxListBase(void *object, ... /* terminate with NULL */);
+protected:
// copy ctor and assignment operator
wxListBase(const wxListBase& list)
{ DoCopy(list); }
// by key
wxNodeBase *Find(const wxListKey& key) const;
- // get 0-based index of object or NOT_FOUND
+ // get 0-based index of object or wxNOT_FOUND
int IndexOf( void *object ) const;
// this function allows the sorting of arbitrary lists by giving
// declare a list type named 'name' and containing elements of type 'T *'
// (as a by product of macro expansion you also get wx##name##Node
-// wxNode-dervied type)
+// wxNode-derived type)
//
// implementation details:
-// 1. we define _WX_LIST_ITEM_TYPE_##name typedef to save in it the item type
+// 1. We define _WX_LIST_ITEM_TYPE_##name typedef to save in it the item type
// for the list of given type - this allows us to pass only the list name
// to WX_DEFINE_LIST() even if it needs both the name and the type
//
-// 2. We redefine all not type-safe wxList functions withtype-safe versions
-// which don't take any place (everything is inline), but bring compile
+// 2. We redefine all non-type-safe wxList functions with type-safe versions
+// which don't take any space (everything is inline), but bring compile
// time error checking.
#define WX_DECLARE_LIST_2(T, name, nodetype) \