39 virtual void begin() = 0;
40 virtual void end() = 0;
42 virtual std::string encode(
const std::string&) = 0;
43 virtual std::string decode(
const std::string&) = 0;
65 : m_streamBuffer(buffer), m_filter(filter)
67 setp(m_outBuffer, m_outBuffer + (m_outBufferSize - 1));
68 setg(m_inBuffer + m_inPutback, m_inBuffer + m_inPutback,
69 m_inBuffer + m_inPutback);
75 static const int m_outBufferSize = 10;
76 char m_outBuffer[m_outBufferSize];
78 static const int m_inBufferSize = 10;
79 static const int m_inPutback = 4;
80 char m_inBuffer[m_inBufferSize];
84 int num = pptr() - pbase();
85 std::string encoded = m_filter.encode(std::string(pbase(), pptr()));
86 m_streamBuffer.sputn(encoded.c_str(), (
long) encoded.size());
91 virtual int_type overflow(int_type c);
92 virtual int_type underflow();
97 std::streambuf& m_streamBuffer;