Update of /cvsroot/mahogany/M/include
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30351/include

Modified Files:
        lists.h 
Log Message:
insert(end(), x) now works as push_back() instead of failing

Index: lists.h
===================================================================
RCS file: /cvsroot/mahogany/M/include/lists.h,v
retrieving revision 1.11
retrieving revision 1.12
diff -b -u -2 -r1.11 -r1.12
--- lists.h     30 Aug 2003 23:47:22 -0000      1.11
+++ lists.h     4 Jul 2005 13:59:14 -0000       1.12
@@ -275,8 +275,18 @@
          new ListNode(element, header.prev, (ListNode*)&header); \
       } \
+   /** Insert an element either before the specified one or, if the iterator \
+       is at end of list, as last element of the list. \
+   */ \
    inline void insert(iterator &i, const_reference element) \
       { \
+         ListNode *node; \
+         if ( i == end() ) \
+            node = (ListNode *)&header; \
+         else \
+         { \
          i.NodeCheck(); \
-         i = new ListNode(element, i.node->prev, i.node); \
+            node = i.node; \
+         } \
+         i = new ListNode(element, node->prev, node); \
       } \
    inline ~name(void) \



-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
Mahogany-cvsupdates mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mahogany-cvsupdates

Reply via email to