From 64b05fe8d1db90cc65f76b8ddd34fa844f795591 Mon Sep 17 00:00:00 2001 From: Tomasz Sowa Date: Mon, 2 Jul 2012 20:27:31 +0000 Subject: [PATCH] added: some work in MemBuffer (copy cctor and assignment operator) git-svn-id: svn://ttmath.org/publicrep/pikotools/trunk@424 e52654a7-88a9-db11-a3e9-0013d4bc506e --- membuffer/membuffer.h | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) 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() {