39#ifndef BLOCXX_TEMPFILESTREAM_HPP_INCLUDE_GUARD_
40#define BLOCXX_TEMPFILESTREAM_HPP_INCLUDE_GUARD_
41#include "blocxx/BLOCXX_config.h"
48#if defined(BLOCXX_HAVE_STREAMBUF)
50#elif defined(BLOCXX_HAVE_STREAMBUF_H)
54#if defined(BLOCXX_HAVE_ISTREAM) && defined(BLOCXX_HAVE_OSTREAM)
91 TempFileBuffer(
size_t bufSize, EKeepFileFlag keepflg=E_DONT_KEEP_FILE);
112 std::streamsize getSize();
134 String releaseFileAndReset();
141 bool usingTempFile()
const;
146 std::streamsize xsputn(
const char* s, std::streamsize n);
147 virtual int overflow(
int c);
150 void initGetBuffer();
151 void initPutBuffer();
152 int buffer_to_device(
const char* c,
int n);
153 int buffer_from_device(
char* c,
int n);
216 std::streamsize
getSize() {
return m_buffer->getSize(); }
234 String releaseFileAndReset();
241 bool usingTempFile()
const;
245#pragma warning (push)
246#pragma warning (disable: 4251)
The AutoPtr class provides a simple class for smart pointers to single objects (for multiple,...
The purpose of the File class is to provide an abstraction layer over the platform dependant function...
This String class is an abstract data type that represents as NULL terminated string of characters.
TempFileBuffer & operator=(const TempFileBuffer &arg)
std::streamsize m_readPos
TempFileBuffer(const TempFileBuffer &arg)
std::streamsize m_writePos
TempFileStream is an iostream that uses an underlying temp file to hold its content to reduce memory ...
std::streamsize getSize()
TempFileStream & operator=(const TempFileStream &)
TempFileStream(const TempFileStream &)
AutoPtr< TempFileBuffer > m_buffer