gnash-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnash-commit] gnash ChangeLog libbase/Buffer.h


From: Sandro Santilli
Subject: [Gnash-commit] gnash ChangeLog libbase/Buffer.h
Date: Wed, 11 Jun 2008 15:35:50 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Sandro Santilli <strk>  08/06/11 15:35:50

Modified files:
        .              : ChangeLog 
        libbase        : Buffer.h 

Log message:
        add copy ctor and assignment op.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.6901&r2=1.6902
http://cvs.savannah.gnu.org/viewcvs/gnash/libbase/Buffer.h?cvsroot=gnash&r1=1.5&r2=1.6

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.6901
retrieving revision 1.6902
diff -u -b -r1.6901 -r1.6902
--- ChangeLog   11 Jun 2008 15:22:15 -0000      1.6901
+++ ChangeLog   11 Jun 2008 15:35:49 -0000      1.6902
@@ -1,3 +1,7 @@
+2008-06-11 Sandro Santilli <address@hidden>
+
+       * libbase/Buffer.h: add copy ctor and assignment op.
+
 2008-06-11 Benjamin Wolsey <address@hidden>
 
        * testsuite/actionscript.all/Try.as: more tests, only build with

Index: libbase/Buffer.h
===================================================================
RCS file: /sources/gnash/gnash/libbase/Buffer.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- libbase/Buffer.h    11 Jun 2008 14:53:20 -0000      1.5
+++ libbase/Buffer.h    11 Jun 2008 15:35:50 -0000      1.6
@@ -63,6 +63,39 @@
                delete _data;
        }
 
+       /// Copy constructor
+       //
+       /// The copy ctor will set capacity to be
+       /// as small as required to hold the size of the
+       /// model buffer.
+       ///
+       Buffer(const Buffer& b)
+               :
+               _data(0),
+               _size(b._size),
+               _capacity(b._size)
+       {
+               if ( _size )
+               {
+                       _data = new boost::uint8_t[_size];
+                       std::copy(b._data, b._data+b._size, _data);
+               }
+       }
+
+       /// Assignment operator
+       //
+       /// The assignment op will not reset capacity
+       ///
+       Buffer& operator= (const Buffer& b)
+       {
+               if ( this != &b )  // don't waste time on self-assignment
+               {
+                       resize(0); // shouldn't deallocate memory
+                       append(b);
+               }
+               return *this;
+       }
+
        /// Return true if buffer is empty
        bool empty() const { return _size==0; }
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]