vtf-logo

pico/pico/CBuffer.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 //
00003 //  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00004 //
00005 //                                   Fehmi Cirak
00006 //                        California Institute of Technology
00007 //                           (C) 2003 All Rights Reserved
00008 //
00009 //  <LicenseText>
00010 //
00011 //  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00012 //
00013 
00014 #ifndef CBUFFER_H
00015 #define CBUFFER_H
00016 
00017 #include "definitions.h"
00018 
00019 #include <vector>
00020 #include <iterator>
00021 #include <cassert>
00022 
00023 
00024 namespace pico {
00025     class CBuffer;
00026 }
00027 
00028 
00029 class pico::CBuffer{
00030 
00031 public: 
00032     CBuffer(){}
00033 
00034     ~CBuffer();
00035     
00036     // methods
00037     void copyToBuffer(const char * const start, const size_t& size);    
00038     void allocateBuffer(const size_t& size);
00039 
00040     // accessors
00041     char * start() {
00042         if (_buf.empty()) return NULL;
00043         return &(_buf[0]);
00044     }
00045     
00046     int size() const {
00047         assert (_buf.size()>0);
00048         return _buf.size();
00049     }
00050     
00051 // copy and equality constructor
00052 private:
00053     CBuffer(const CBuffer &);
00054     const CBuffer & operator=(const CBuffer &);
00055     
00056 private:
00057     std::vector<char> _buf;
00058 };
00059 
00060 #endif
00061 
00062 //  End of file

Generated on Fri Aug 24 13:00:24 2007 for SFC Thin-Shell Finite Element Solver by  doxygen 1.4.7