/** @file bytestream.h
*	Simple bytestream with support for Functions and UserData
*	@author Chris Burns (cburns@ea.com)
*
*	CTUI
*	(c) 2013 Electronic Arts Inc.
*/

#ifndef EABASETYPESPLUS_BYTESTREAM_H_
#define EABASETYPESPLUS_BYTESTREAM_H_

#include "EASTLICA/Vector.h"

namespace EA
{
	namespace Types
	{
		class ByteStream
		{
		public:
		
			ByteStream(EA::Allocator::ICoreAllocator* allocator);
			~ByteStream();
			
			void Write(unsigned char c);

			void Write(const unsigned char* c, size_t length);
			
			void Clear();
		
			EASTLICA::Vector<unsigned char> mStream;
		};
	}
}

#endif /* EABASETYPESPLUS_BYTESTREAM_H_ */
