rpa::streambuf_proxy_base< StrmBuf > Class Template Reference

#include <streambuf_proxy.h>

Inheritance diagram for rpa::streambuf_proxy_base< StrmBuf >:

rpa::streambuf_proxy< StrmBuf > List of all members.

Public Types

typedef StrmBuf::off_type off_type
typedef StrmBuf::pos_type pos_type
typedef StrmBuf::int_type int_type
typedef StrmBuf::char_type char_type
typedef StrmBuf::traits_type traits_type

Public Member Functions

 streambuf_proxy_base ()
void assign (StrmBuf *aStrmBuf)
StrmBuf * streambuf_ptr (void)
 Points to the real streambuffer.
const StrmBuf * streambuf_ptr (void) const
virtual void gbump (int count)
 Protected virtual of basic_streambuf, hence is exposed with its address.
virtual int_type overflow (int aC)
 Protected virtual of basic_streambuf, hence is exposed with its address.
virtual char_typepptr (void) const
 Protected virtual of basic_streambuf, hence is exposed with its address.
virtual char_typegptr (void) const
 Protected virtual of basic_streambuf, hence is exposed with its address.
virtual char_typepbase (void) const
 Protected virtual of basic_streambuf, hence is exposed with its address.
virtual void pbump (int count)
 Protected virtual of basic_streambuf, hence is exposed with its address.
virtual char_typeepptr (void) const
 Protected virtual of basic_streambuf, hence is exposed with its address.
virtual char_typeegptr (void) const
 Protected virtual of basic_streambuf, hence is exposed with its address.
virtual int_type underflow (void) const
 Protected virtual of basic_streambuf, hence is exposed with its address.
virtual pos_type seekoff (off_type off, std::ios_base::seekdir way, std::ios_base::openmode which=std::ios_base::in|std::ios_base::out)
 Protected virtual of basic_streambuf, hence is exposed with its address.
virtual void setp (char_type *pbeg, char_type *pend)
 Protected virtual of basic_streambuf, hence is exposed with its address.
virtual void setg (char_type *gbeg, char_type *gnext, char_type *gend)
 Protected virtual of basic_streambuf, hence is exposed with its address.
virtual int_type sync (void)
 Protected virtual of basic_streambuf, hence is exposed with its address.
virtual std::streamsize xsputn (const char_type *aBuf, std::streamsize aNb)
 Protected virtual of basic_streambuf, hence is exposed with its address.
virtual pos_type pubseekoff (off_type off, std::ios_base::seekdir way, std::ios_base::openmode which=std::ios_base::in|std::ios_base::out)
 This method does not need to be exposed because it is public.
virtual pos_type pubseekpos (off_type pos, std::ios_base::openmode which=std::ios_base::in|std::ios_base::out)
 This method does not need to be exposed because it is public.
virtual int_type snextc (void)
 This method does not need to be exposed because it is public.
virtual int_type sgetc (void) const
 This method does not need to be exposed because it is public.
virtual int_type sputc (char_type aC)
 This method does not need to be exposed because it is public.
virtual std::streamsize sputn (const char_type *aPtr, std::streamsize aNb)
 This method does not need to be exposed because it is public.
virtual int_type pubsync (void)
 This method does not need to be exposed because it is public.
virtual ~streambuf_proxy_base ()
 Compiler warned "class has virtual functions but non-virtual destructor".

Private Attributes

StrmBuf * _strmBuf

Classes

struct  exposer

Detailed Description

template<class StrmBuf>
class rpa::streambuf_proxy_base< StrmBuf >

This is a proxy for using a pointer to a streambuf just like a streambuf. This must have a default constructor. Could not find any other way to expose protected methods. This could be avoided if stream buffers had only public virtual methods.


Member Typedef Documentation

template<class StrmBuf>
typedef StrmBuf::char_type rpa::streambuf_proxy_base< StrmBuf >::char_type

template<class StrmBuf>
typedef StrmBuf::int_type rpa::streambuf_proxy_base< StrmBuf >::int_type

template<class StrmBuf>
typedef StrmBuf::off_type rpa::streambuf_proxy_base< StrmBuf >::off_type

template<class StrmBuf>
typedef StrmBuf::pos_type rpa::streambuf_proxy_base< StrmBuf >::pos_type

template<class StrmBuf>
typedef StrmBuf::traits_type rpa::streambuf_proxy_base< StrmBuf >::traits_type


Constructor & Destructor Documentation

template<class StrmBuf>
rpa::streambuf_proxy_base< StrmBuf >::streambuf_proxy_base (  )  [inline]

template<class StrmBuf>
virtual rpa::streambuf_proxy_base< StrmBuf >::~streambuf_proxy_base (  )  [inline, virtual]

Compiler warned "class has virtual functions but non-virtual destructor".


Member Function Documentation

template<class StrmBuf>
void rpa::streambuf_proxy_base< StrmBuf >::assign ( StrmBuf *  aStrmBuf  )  [inline]

This is the address of a stream buffer provided by the user. It is not deleted nor created by this class.

template<class StrmBuf>
virtual char_type* rpa::streambuf_proxy_base< StrmBuf >::egptr ( void   )  const [inline, virtual]

Protected virtual of basic_streambuf, hence is exposed with its address.

template<class StrmBuf>
virtual char_type* rpa::streambuf_proxy_base< StrmBuf >::epptr ( void   )  const [inline, virtual]

Protected virtual of basic_streambuf, hence is exposed with its address.

template<class StrmBuf>
virtual void rpa::streambuf_proxy_base< StrmBuf >::gbump ( int  count  )  [inline, virtual]

Protected virtual of basic_streambuf, hence is exposed with its address.

All these methods make this object behave like a basic_streambuf. NOTE: Many methods are not implemented yet.

template<class StrmBuf>
virtual char_type* rpa::streambuf_proxy_base< StrmBuf >::gptr ( void   )  const [inline, virtual]

Protected virtual of basic_streambuf, hence is exposed with its address.

template<class StrmBuf>
virtual int_type rpa::streambuf_proxy_base< StrmBuf >::overflow ( int  aC  )  [inline, virtual]

Protected virtual of basic_streambuf, hence is exposed with its address.

template<class StrmBuf>
virtual char_type* rpa::streambuf_proxy_base< StrmBuf >::pbase ( void   )  const [inline, virtual]

Protected virtual of basic_streambuf, hence is exposed with its address.

template<class StrmBuf>
virtual void rpa::streambuf_proxy_base< StrmBuf >::pbump ( int  count  )  [inline, virtual]

Protected virtual of basic_streambuf, hence is exposed with its address.

template<class StrmBuf>
virtual char_type* rpa::streambuf_proxy_base< StrmBuf >::pptr ( void   )  const [inline, virtual]

Protected virtual of basic_streambuf, hence is exposed with its address.

template<class StrmBuf>
virtual pos_type rpa::streambuf_proxy_base< StrmBuf >::pubseekoff ( off_type  off,
std::ios_base::seekdir  way,
std::ios_base::openmode  which = std::ios_base::in | std::ios_base::out 
) [inline, virtual]

This method does not need to be exposed because it is public.

template<class StrmBuf>
virtual pos_type rpa::streambuf_proxy_base< StrmBuf >::pubseekpos ( off_type  pos,
std::ios_base::openmode  which = std::ios_base::in | std::ios_base::out 
) [inline, virtual]

This method does not need to be exposed because it is public.

template<class StrmBuf>
virtual int_type rpa::streambuf_proxy_base< StrmBuf >::pubsync ( void   )  [inline, virtual]

This method does not need to be exposed because it is public.

template<class StrmBuf>
virtual pos_type rpa::streambuf_proxy_base< StrmBuf >::seekoff ( off_type  off,
std::ios_base::seekdir  way,
std::ios_base::openmode  which = std::ios_base::in | std::ios_base::out 
) [inline, virtual]

Protected virtual of basic_streambuf, hence is exposed with its address.

template<class StrmBuf>
virtual void rpa::streambuf_proxy_base< StrmBuf >::setg ( char_type gbeg,
char_type gnext,
char_type gend 
) [inline, virtual]

Protected virtual of basic_streambuf, hence is exposed with its address.

template<class StrmBuf>
virtual void rpa::streambuf_proxy_base< StrmBuf >::setp ( char_type pbeg,
char_type pend 
) [inline, virtual]

Protected virtual of basic_streambuf, hence is exposed with its address.

template<class StrmBuf>
virtual int_type rpa::streambuf_proxy_base< StrmBuf >::sgetc ( void   )  const [inline, virtual]

This method does not need to be exposed because it is public.

template<class StrmBuf>
virtual int_type rpa::streambuf_proxy_base< StrmBuf >::snextc ( void   )  [inline, virtual]

This method does not need to be exposed because it is public.

template<class StrmBuf>
virtual int_type rpa::streambuf_proxy_base< StrmBuf >::sputc ( char_type  aC  )  [inline, virtual]

This method does not need to be exposed because it is public.

template<class StrmBuf>
virtual std::streamsize rpa::streambuf_proxy_base< StrmBuf >::sputn ( const char_type aPtr,
std::streamsize  aNb 
) [inline, virtual]

This method does not need to be exposed because it is public.

template<class StrmBuf>
const StrmBuf* rpa::streambuf_proxy_base< StrmBuf >::streambuf_ptr ( void   )  const [inline]

template<class StrmBuf>
StrmBuf* rpa::streambuf_proxy_base< StrmBuf >::streambuf_ptr ( void   )  [inline]

Points to the real streambuffer.

template<class StrmBuf>
virtual int_type rpa::streambuf_proxy_base< StrmBuf >::sync ( void   )  [inline, virtual]

Protected virtual of basic_streambuf, hence is exposed with its address.

template<class StrmBuf>
virtual int_type rpa::streambuf_proxy_base< StrmBuf >::underflow ( void   )  const [inline, virtual]

Protected virtual of basic_streambuf, hence is exposed with its address.

template<class StrmBuf>
virtual std::streamsize rpa::streambuf_proxy_base< StrmBuf >::xsputn ( const char_type aBuf,
std::streamsize  aNb 
) [inline, virtual]

Protected virtual of basic_streambuf, hence is exposed with its address.


Member Data Documentation

template<class StrmBuf>
StrmBuf* rpa::streambuf_proxy_base< StrmBuf >::_strmBuf [private]

This points to a streambuf which is not created by this class. It is used transparently through this proxy.


The documentation for this class was generated from the following file:
Generated on Tue Sep 25 10:20:38 2007 for rpa by  doxygen 1.4.7