// 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
#define BAMAUX_H\r
\r
#include "api/api_global.h"\r
+#include <cstring>\r
#include <fstream> \r
#include <iostream>\r
#include <string>\r
\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