]> git.donarmstrong.com Git - bamtools.git/blobdiff - src/api/BamAux.h
Implemented basic TCP support layer
[bamtools.git] / src / api / BamAux.h
index f4511259ea67136934e736a3cebf0846353d65ed..0dd3e993377ea609cf3e573d14b4ba1952700a44 100644 (file)
@@ -2,7 +2,7 @@
 // BamAux.h (c) 2009 Derek Barnett, Michael Str�mberg\r
 // Marth Lab, Department of Biology, Boston College\r
 // ---------------------------------------------------------------------------\r
-// Last modified: 10 October 2011 (DB)\r
+// Last modified: 25 October 2011 (DB)\r
 // ---------------------------------------------------------------------------\r
 // Provides data structures & utility methods that are used throughout the API.\r
 // ***************************************************************************\r
@@ -11,6 +11,7 @@
 #define BAMAUX_H\r
 \r
 #include "api/api_global.h"\r
+#include <cstring>\r
 #include <fstream> \r
 #include <iostream>\r
 #include <string>\r
@@ -441,13 +442,25 @@ API_EXPORT inline unsigned short UnpackUnsignedShort(char* buffer) {
     \internal\r
 */\r
 struct RaiiBuffer {\r
+\r
+    // data members\r
+    char* Buffer;\r
+    const size_t NumBytes;\r
+\r
+    // ctor & dtor\r
     RaiiBuffer(const size_t n)\r
         : Buffer( new char[n]() )\r
+        , NumBytes(n)\r
     { }\r
+\r
     ~RaiiBuffer(void) {\r
         delete[] Buffer;\r
     }\r
-    char* Buffer;\r
+\r
+    // add'l methods\r
+    void Clear(void) {\r
+        memset(Buffer, 0, NumBytes);\r
+    }\r
 };\r
 \r
 } // namespace BamTools\r