#pragma once #include "OutputStream.h" class ByteArrayOutputStream : public OutputStream { // Note - when actually implementing, byteArray will need to grow as data is written public: byteArray buf; //The buffer where data is stored. protected: unsigned int count; //The number of valid bytes in the buffer. public: ByteArrayOutputStream(); ByteArrayOutputStream(unsigned int size); virtual ~ByteArrayOutputStream(); virtual void flush() {} virtual void write(unsigned int b); virtual void write(byteArray b); virtual void write(byteArray b, unsigned int offset, unsigned int length); virtual void close(); virtual byteArray toByteArray(); void reset() { count = 0; } unsigned int size() { return count; } };