/* * Copyright (C) 2007-2019 Xagasoft, All rights reserved. * * This file is part of the libbu++ library and is released under the * terms of the license contained in the file LICENSE. */ #include "bu/blobbuilder.h" #include "bu/blob.h" ///// // BlobBuilderCore::Chunk // Bu::BlobBuilderCore::Chunk::Chunk() : iLength( 0 ), pData( 0 ), pNext( 0 ) { } Bu::BlobBuilderCore::Chunk::~Chunk() { delete[] pData; pData = 0; delete pNext; pNext = 0; // Why not delete pNext here? A BlobBuilder could easily wind up having // quite a few chunks, and if it does, deleting the linked list from here // could actually exhaust the program stack. Instead these are all deleted // in the core down below. } ///// // BlobBuilderCore // Bu::BlobBuilderCore::BlobBuilderCore() : pFirst( 0 ), pLast( 0 ), iLength( 0 ) { } Bu::BlobBuilderCore::BlobBuilderCore( const Bu::BlobBuilderCore &rSrc ) : pFirst( 0 ), pLast( 0 ), iLength( rSrc.iLength ) { } Bu::BlobBuilderCore::~BlobBuilderCore() { clear(); } void Bu::BlobBuilderCore::clear() { Chunk *pCur = pFirst; while( pCur ) { Chunk *pNext = pCur->pNext; delete pCur; pCur = pNext; } delete pFirst; pFirst = pLast = 0; iLength = 0; } void Bu::BlobBuilderCore::append( const *pSrc, int32_t iLength ) { } ////// // BlobBuilder // Bu::BlobBuilder::BlobBuilder() { } Bu::BlobBuilder::BlobBuilder( const Bu::BlobBuilder &rSrc ) : Bu::SharedCore( rSrc ) { } Bu::BlobBuilder::~BlobBuilder() { } void Bu::BlobBuilder::set( const Blob &rSrc ) { } void Bu::BlobBuilder::set( const char *pSrc, int32_t iLength ) { } void Bu::BlobBuilder::append( const Blob &rSrc ) { } void Bu::BlobBuilder::append( const char *pSrc, int32_t iLength ) { } void Bu::BlobBuilder::prepend( const Blob &rSrc ) { } void Bu::BlobBuilder::prepend( const char *pSrc, int32_t iLength ) { } void Bu::BlobBuilder::insert( int32_t iBefore, const Blob &rSrc ) { } void Bu::BlobBuilder::insert( int32_t iBefore, const char *pSrc, const Bu::Blob &rSrc ) { } void Bu::BlobBuilder::clear() { } int32_t Bu::BlobBuilder::getSize() const { } Bu::Blob Bu::BlobBuilder::getBlob() const { } Bu::BlobBuilder &Bu::BlobBuilder::operator=( const Blob &rSrc ) { } Bu::BlobBuilder &Bu::BlobBuilder::operator=( const char *pSrc ) { } Bu::BlobBuilder &Bu::BlobBuilder::operator+=( const Blob &rSrc ) { } Bu::BlobBuilder &Bu::BlobBuilder::operator+=( const char *pSrc ) { }