: m_InnerStream(innerStream), m_OwnsStream(ownsStream)
{ }
+StdioStream::~StdioStream(void)
+{
+ Close();
+}
+
size_t StdioStream::Read(void *buffer, size_t size)
{
ObjectLock olock(this);
void StdioStream::Close(void)
{
- if (m_OwnsStream)
+ if (m_OwnsStream) {
delete m_InnerStream;
+ m_OwnsStream = false;
+ }
}
typedef weak_ptr<StdioStream> WeakPtr;
StdioStream(std::iostream *innerStream, bool ownsStream);
+ ~StdioStream(void);
virtual size_t Read(void *buffer, size_t size);
virtual void Write(const void *buffer, size_t size);