void put(char c);
void putInt(int32_t l);
void putLong(int64_t l);
- void put(Array<char> * array);
+ void put(Array<char> *array);
int64_t getLong();
int32_t getInt();
char get();
- void get(Array<char> * array);
+ void get(Array<char> *array);
void position(int32_t newPosition);
- Array<char> * array();
+ void releaseArray() {buffer = NULL;}
+ Array<char> *array();
+ ~ByteBuffer() {if (buffer != NULL) delete buffer;}
+
private:
+ ByteBuffer(Array<char> *array);
+ friend ByteBuffer *ByteBuffer_wrap(Array<char> *array);
+ friend ByteBuffer *ByteBuffer_allocate(uint size);
+ Array<char> *buffer;
+ uint offset;
};
-ByteBuffer * ByteBuffer_wrap(Array<char> * array);
-ByteBuffer * ByteBuffer_allocate(uint size);
+ByteBuffer *ByteBuffer_wrap(Array<char> *array);
+ByteBuffer *ByteBuffer_allocate(uint size);
#endif