39 #ifndef BLOCXX_DATA_STREAMS_HPP_INCLUDE_GUARD_ 40 #define BLOCXX_DATA_STREAMS_HPP_INCLUDE_GUARD_ 41 #include "blocxx/BLOCXX_config.h" 43 #if defined(BLOCXX_HAVE_ISTREAM) && defined(BLOCXX_HAVE_OSTREAM) 49 #if defined(BLOCXX_HAVE_STREAMBUF) 51 #elif defined(BLOCXX_HAVE_STREAMBUF_H) 52 #include <streambuf.h> 69 setg(const_cast<char*>(reinterpret_cast<const char*>(data)),
70 const_cast<char*>(reinterpret_cast<const char*>(data)),
71 const_cast<char*>(reinterpret_cast<const char*>(data+dataLen)));
74 virtual int underflow();
76 virtual pos_type seekoff(off_type off, std::ios_base::seekdir way, std::ios_base::openmode which);
77 virtual pos_type seekpos(pos_type sp, std::ios_base::openmode which);
83 DataIStreamBase(
int dataLen,
const unsigned char* data) : m_strbuf(dataLen, data) {}
92 ,
std::basic_istream<char,
std::char_traits<char> >(&m_strbuf) {}
99 const unsigned char*
getData()
const {
return &m_bfr[0]; }
100 int length()
const {
return m_bfr.size(); }
103 virtual int overflow(
int c);
104 virtual std::streamsize xsputn(
const char* s, std::streamsize n);
108 #pragma warning (push) 109 #pragma warning (disable: 4251) 115 #pragma warning (pop) 124 :
m_buf(initialSize) {}
134 ,
std::basic_ostream<char,
std::char_traits<char> >(&
m_buf)
DataIStreamBase(int dataLen, const unsigned char *data)
const unsigned char * getData() const
DataOStream(size_t initialSize=256)
DataOStreamBase(size_t initialSize=256)
DataIStream(int dataLen, const unsigned char *data)
std::vector< unsigned char > m_bfr
std::vector< char > & m_buf
const unsigned char * getData() const
DataIStreamBuf(int dataLen, const unsigned char *data)