Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

basic_binstreambuf< _Ch, _Tr > Class Template Reference

#include <binarystream.h>

List of all members.

Public Member Functions

 basic_binstreambuf (const _Ch *p)
 basic_binstreambuf (std::streamsize sz)
 basic_binstreambuf (const _Ch *p)
 basic_binstreambuf (std::streamsize sz)
_Ch * givebuf ()
_Ch * givebuf ()
size_t outbufsize () const
size_t outbufsize () const
virtual ~basic_binstreambuf ()
virtual ~basic_binstreambuf ()

Static Public Member Functions

size_t computesize (size_t s)
size_t computesize (size_t s)

Private Attributes

_Ch * _inbuf
_Ch * _inbuf
_Ch * _outbuf
_Ch * _outbuf

template<class _Ch, class _Tr = std::char_traits<_Ch>>
class basic_binstreambuf< _Ch, _Tr >


Constructor & Destructor Documentation

template<class _Ch, class _Tr = std::char_traits<_Ch>>
basic_binstreambuf< _Ch, _Tr >::basic_binstreambuf std::streamsize  sz  )  [inline]
 

00029                                           : _outbuf(new _Ch[sz + sizeof(std::streamsize)/sizeof(_Ch)]), _inbuf(0) {
00030         memcpy(_outbuf, &sz, sizeof(std::streamsize));
00031         setp (_outbuf + sizeof(std::streamsize), _outbuf + sz*sizeof(_Ch) + sizeof(unsigned int));
00032     }

template<class _Ch, class _Tr = std::char_traits<_Ch>>
basic_binstreambuf< _Ch, _Tr >::basic_binstreambuf const _Ch *  p  )  [inline]
 

00033                                       : _outbuf(0), _inbuf(0) {
00034         std::streamsize    sz = *((const std::streamsize*)p);
00035         _inbuf = new _Ch[sz];
00036         memcpy (_inbuf, p + sizeof(std::streamsize), sz);
00037         setg (_inbuf, _inbuf, _inbuf + sz * sizeof(_Ch));
00038     }

template<class _Ch, class _Tr = std::char_traits<_Ch>>
virtual basic_binstreambuf< _Ch, _Tr >::~basic_binstreambuf  )  [inline, virtual]
 

00039 { delete _outbuf; delete _inbuf; }

template<class _Ch, class _Tr = std::char_traits<_Ch>>
basic_binstreambuf< _Ch, _Tr >::basic_binstreambuf std::streamsize  sz  )  [inline]
 

00029                                           : _outbuf(new _Ch[sz + sizeof(std::streamsize)/sizeof(_Ch)]), _inbuf(0) {
00030         memcpy(_outbuf, &sz, sizeof(std::streamsize));
00031         setp (_outbuf + sizeof(std::streamsize), _outbuf + sz*sizeof(_Ch) + sizeof(unsigned int));
00032     }

template<class _Ch, class _Tr = std::char_traits<_Ch>>
basic_binstreambuf< _Ch, _Tr >::basic_binstreambuf const _Ch *  p  )  [inline]
 

00033                                       : _outbuf(0), _inbuf(0) {
00034         std::streamsize    sz = *((const std::streamsize*)p);
00035         _inbuf = new _Ch[sz];
00036         memcpy (_inbuf, p + sizeof(std::streamsize), sz);
00037         setg (_inbuf, _inbuf, _inbuf + sz * sizeof(_Ch));
00038     }

template<class _Ch, class _Tr = std::char_traits<_Ch>>
virtual basic_binstreambuf< _Ch, _Tr >::~basic_binstreambuf  )  [inline, virtual]
 

00039 { delete _outbuf; delete _inbuf; }


Member Function Documentation

template<class _Ch, class _Tr = std::char_traits<_Ch>>
size_t basic_binstreambuf< _Ch, _Tr >::computesize size_t  s  )  [inline, static]
 

00056                                           {
00057         return s + sizeof(std::streamsize);
00058     }

template<class _Ch, class _Tr = std::char_traits<_Ch>>
size_t basic_binstreambuf< _Ch, _Tr >::computesize size_t  s  )  [inline, static]
 

00056                                           {
00057         return s + sizeof(std::streamsize);
00058     }

template<class _Ch, class _Tr = std::char_traits<_Ch>>
_Ch* basic_binstreambuf< _Ch, _Tr >::givebuf  )  [inline]
 

00042                        {
00043         _Ch*    p = _outbuf;
00044         _outbuf = 0;
00045         return p;
00046     }

template<class _Ch, class _Tr = std::char_traits<_Ch>>
_Ch* basic_binstreambuf< _Ch, _Tr >::givebuf  )  [inline]
 

00042                        {
00043         _Ch*    p = _outbuf;
00044         _outbuf = 0;
00045         return p;
00046     }

template<class _Ch, class _Tr = std::char_traits<_Ch>>
size_t basic_binstreambuf< _Ch, _Tr >::outbufsize  )  const [inline]
 

00050                                 {
00051         return (_outbuf) ? (sizeof(_Ch) * (*(std::streamsize*)_outbuf) + sizeof(std::streamsize)) : 0;
00052     }

template<class _Ch, class _Tr = std::char_traits<_Ch>>
size_t basic_binstreambuf< _Ch, _Tr >::outbufsize  )  const [inline]
 

00050                                 {
00051         return (_outbuf) ? (sizeof(_Ch) * (*(std::streamsize*)_outbuf) + sizeof(std::streamsize)) : 0;
00052     }


Member Data Documentation

template<class _Ch, class _Tr = std::char_traits<_Ch>>
_Ch* basic_binstreambuf< _Ch, _Tr >::_inbuf [private]
 

template<class _Ch, class _Tr = std::char_traits<_Ch>>
_Ch* basic_binstreambuf< _Ch, _Tr >::_inbuf [private]
 

template<class _Ch, class _Tr = std::char_traits<_Ch>>
_Ch* basic_binstreambuf< _Ch, _Tr >::_outbuf [private]
 

template<class _Ch, class _Tr = std::char_traits<_Ch>>
_Ch* basic_binstreambuf< _Ch, _Tr >::_outbuf [private]
 


The documentation for this class was generated from the following files:
Generated on Wed Feb 2 15:51:50 2011 for BOSS6.5.5 by  doxygen 1.3.9.1