diff --git a/membuffer/membuffer.h b/membuffer/membuffer.h index 54d13cd..1ddda2e 100644 --- a/membuffer/membuffer.h +++ b/membuffer/membuffer.h @@ -39,7 +39,6 @@ #define headerfile_picotools_membuffer_membuffer - namespace PT { @@ -106,8 +105,8 @@ public: MemBuffer(); ~MemBuffer(); - //MemBuffer(const MemBuffer & arg); - //MemBuffer & operator=(const MemBuffer & arg); + MemBuffer(const MemBuffer & arg); + MemBuffer & operator=(const MemBuffer & arg); void Append(ItemType item); void Append(ItemType * item_array, size_t len); @@ -411,6 +410,30 @@ MemBuffer::~MemBuffer() } +template +MemBuffer::MemBuffer(const MemBuffer & arg) +{ + operator=(arg); +} + + +template +MemBuffer & +MemBuffer::operator=(const MemBuffer & arg) +{ + if( size_used > 0 ) + Clear(); + + ConstIterator i = arg.Begin(); + + for( ; i != arg.End() ; ++i) + Append(*i); + +return *this; +} + + + template void MemBuffer::AddDynamicNode() {