00001 // -*- mode: C++; c-indent-level: 4; c-basic-offset: 4; tab-width: 8 -*- 00002 // 00003 // RInside.cpp: Easier R embedding into C++ 00004 // 00005 // Copyright (C) 2009 Dirk Eddelbuettel and GPL'ed 00006 00007 class MemBuf { // simple C++-ification of littler's membuf 00008 private: 00009 typedef struct membuf_st { 00010 int size; 00011 int count; 00012 unsigned char *buf; 00013 } *membuf_t; 00014 membuf_t p_m; 00015 public: 00016 MemBuf(int sizebytes=1024); 00017 ~MemBuf(); 00018 void resize(); 00019 void rewind(); 00020 void add(char *buf); 00021 unsigned char* getBufPtr() { return p_m->buf; }; 00022 };