Vault  4.1
vstreamcopier.h
Go to the documentation of this file.
00001 /*
00002 Copyright c1997-2014 Trygve Isaacson. All rights reserved.
00003 This file is part of the Code Vault version 4.1
00004 http://www.bombaydigital.com/
00005 License: MIT. See LICENSE.md in the Vault top level directory.
00006 */
00007 
00008 #ifndef vstreamcopier_h
00009 #define vstreamcopier_h
00010 
00013 #include "vtypes.h"
00014 
00015 class VStream;
00016 class VIOStream;
00017 
00053 class VStreamCopier {
00054     public:
00055 
00060         VStreamCopier();
00067         VStreamCopier(int chunkSize, VStream* from, VStream* to);
00074         VStreamCopier(int chunkSize, VIOStream* from, VIOStream* to);
00081         VStreamCopier(int chunkSize, VStream* from, VIOStream* to);
00088         VStreamCopier(int chunkSize, VIOStream* from, VStream* to);
00092         virtual ~VStreamCopier() {}
00093 
00100         void init(int chunkSize, VStream* from, VStream* to);
00107         void init(int chunkSize, VIOStream* from, VIOStream* to);
00114         void init(int chunkSize, VStream* from, VIOStream* to);
00121         void init(int chunkSize, VIOStream* from, VStream* to);
00122 
00130         bool copyChunk();
00135         Vs64 numBytesCopied() const;
00136 
00137     private:
00138 
00139         VStreamCopier(const VStreamCopier&); // not copyable
00140         VStreamCopier& operator=(const VStreamCopier&); // not assignable
00141 
00142         int         mChunkSize;         
00143         VStream*    mFrom;              
00144         VStream*    mTo;                
00145         Vs64        mNumBytesCopied;    
00146 };
00147 
00150 #endif /* vstreamcopier_h */

Copyright ©1997-2014 Trygve Isaacson. All rights reserved. This documentation was generated with Doxygen.