]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/list.h
added missing header to fix !USE_PCH compilation
[wxWidgets.git] / include / wx / list.h
index c53d437a7bbb754bcf4846e49cb6eab56a88fd9c..a9da690450a9fc5f2063435c3979efa2294d3982 100644 (file)
@@ -6,7 +6,7 @@
 // Created:     29/01/98
 // RCS-ID:      $Id$
 // Copyright:   (c) 1998 Julian Smart
-// Licence:     wxWidgets licence
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 /*
@@ -166,7 +166,7 @@ enum wxKeyType
             return it;                                                        \
         }                                                                     \
     public:                                                                   \
-        liT() {};                                                             \
+        liT() {}                                                              \
                                                                               \
         citer Append( elT e ) { push_back( e ); return GetLast(); }           \
         void Clear() { clear(); }                                             \
@@ -371,7 +371,7 @@ private:
 // a double-linked list class
 // -----------------------------------------------------------------------------
 
-class wxList;
+class WXDLLIMPEXP_BASE wxList;
 
 class WXDLLIMPEXP_BASE wxListBase : public wxObject
 {
@@ -390,7 +390,7 @@ public:
         // count of items in the list
     size_t GetCount() const { return m_count; }
 
-        // return TRUE if this list is empty
+        // return true if this list is empty
     bool IsEmpty() const { return m_count == 0; }
 
     // operations
@@ -446,11 +446,8 @@ public:
     wxListBase(void *object, ... /* terminate with NULL */);
 
 protected:
-        // copy ctor and assignment operator
-    wxListBase(const wxListBase& list) : wxObject()
-        { Init(); DoCopy(list); }
-    wxListBase& operator=(const wxListBase& list)
-        { Clear(); DoCopy(list); return *this; }
+    void Assign(const wxListBase& list)
+        { Clear(); DoCopy(list); }
 
         // get list head/tail
     wxNodeBase *GetFirst() const { return m_nodeFirst; }
@@ -489,10 +486,10 @@ protected:
         // removes node from the list but doesn't delete it (returns pointer
         // to the node or NULL if it wasn't found in the list)
     wxNodeBase *DetachNode(wxNodeBase *node);
-        // delete element from list, returns FALSE if node not found
+        // delete element from list, returns false if node not found
     bool DeleteNode(wxNodeBase *node);
         // finds object pointer and deletes node (and object if DeleteContents
-        // is on), returns FALSE if object not found
+        // is on), returns false if object not found
     bool DeleteObject(void *object);
 
     // search (all return NULL if item not found)
@@ -604,11 +601,13 @@ private:
                                                                             \
         name(wxKeyType keyType = wxKEY_NONE) : wxListBase(keyType)          \
             { }                                                             \
+        name(const name& list) : wxListBase(list.GetKeyType())              \
+            { Assign(list); }                                               \
         name(size_t count, T *elements[])                                   \
             : wxListBase(count, (void **)elements) { }                      \
                                                                             \
         name& operator=(const name& list)                                   \
-            { (void) wxListBase::operator=(list); return *this; }           \
+            { Assign(list); return *this; }                                 \
                                                                             \
         nodetype *GetFirst() const                                          \
             { return (nodetype *)wxListBase::GetFirst(); }                  \
@@ -968,7 +967,7 @@ private:
 #define WX_DECLARE_LIST_WITH_DECL(elementtype, listname, decl) \
     typedef elementtype _WX_LIST_ITEM_TYPE_##listname;                      \
     WX_DECLARE_LIST_2(elementtype, listname, wx##listname##Node, decl)
-    
+
 #define WX_DECLARE_EXPORTED_LIST(elementtype, listname)                     \
     WX_DECLARE_LIST_WITH_DECL(elementtype, listname, class WXDLLEXPORT)
 
@@ -1090,20 +1089,20 @@ public:
 
         // copying the string list: the strings are copied, too (extremely
         // inefficient!)
-    wxStringList(const wxStringList& other) : wxStringListBase() { DeleteContents(TRUE); DoCopy(other); }
+    wxStringList(const wxStringList& other) : wxStringListBase() { DeleteContents(true); DoCopy(other); }
     wxStringList& operator=(const wxStringList& other)
         { Clear(); DoCopy(other); return *this; }
 
     // operations
         // makes a copy of the string
     wxNode *Add(const wxChar *s);
-        
+
         // Append to beginning of list
     wxNode *Prepend(const wxChar *s);
 
     bool Delete(const wxChar *s);
 
-    wxChar **ListToArray(bool new_copies = FALSE) const;
+    wxChar **ListToArray(bool new_copies = false) const;
     bool Member(const wxChar *s) const;
 
     // alphabetic sort