IOStream.h File Reference

#include "ace/ACE_export.h"
#include "ace/streams.h"
#include "ace/Time_Value.h"
#include "ace/os_include/sys/os_types.h"
#include "ace/IOStream_T.h"

Classes

class  ACE_Streambuf
 Create your custom streambuf by providing and ACE_*_Stream object to this template. I have tested it with ACE_SOCK_Stream and it should work fine for others as well. More...

Defines

#define GET_SIG(MT, DT)   inline virtual MT& operator>> (DT v)
#define GET_CODE
#define GET_PROT(MT, DT, CODE)   GET_SIG(MT,DT) CODE
#define GET_FUNC(MT, DT)   GET_PROT(MT,DT,GET_CODE)
#define PUT_SIG(MT, DT)   inline virtual MT& operator<< (DT v)
#define PUT_CODE
#define PUT_PROT(MT, DT, CODE)   PUT_SIG(MT,DT) CODE
#define PUT_FUNC(MT, DT)   PUT_PROT(MT,DT,PUT_CODE)
#define GET_FUNC_SET0(MT, CODE, CODE2)
#define PUT_FUNC_SET0(MT, CODE, CODE2)
#define GET_FUNC_SET1(MT, CODE, CODE2)
#define PUT_FUNC_SET1(MT, CODE, CODE2)
#define GET_MANIP_CODE   { if (ipfx ()) { (*func) (*this); } isfx (); return *this; }
#define PUT_MANIP_CODE   { if (opfx ()) { (*func) (*this); } osfx (); return *this; }
#define GET_FUNC_SET(MT)   GET_FUNC_SET1(MT,GET_CODE,GET_MANIP_CODE)
#define PUT_FUNC_SET(MT)   PUT_FUNC_SET1(MT,PUT_CODE,PUT_MANIP_CODE)
#define GETPUT_FUNC_SET(MT)   GET_FUNC_SET(MT) PUT_FUNC_SET(MT)
#define GET_SIG_SET(MT)   GET_FUNC_SET1(MT,= 0;,= 0;)
#define PUT_SIG_SET(MT)   PUT_FUNC_SET1(MT,= 0;,= 0;)
#define GETPUT_SIG_SET(MT)   GET_SIG_SET(MT) PUT_SIG_SET(MT)

Typedefs

typedef ios &(* __manip_ )(ios &)
typedef istream &(* __imanip_ )(istream &)
typedef ostream &(* __omanip_ )(ostream &)

Detailed Description

Id
IOStream.h,v 1.1.1.5 2005/01/03 19:36:15 chad Exp

Author:
James CE Johnson <jcej@lads.com>

Jim Crossley <jim@lads.com>


Define Documentation

#define GET_CODE
 

Value:

{                      \
        if (ipfx (0))                                   \
        {                                               \
                iostream::operator>> (v);               \
        }                                               \
        isfx ();                                        \
        return *this;                                   \
        }

#define GET_FUNC MT,
DT   )     GET_PROT(MT,DT,GET_CODE)
 

#define GET_FUNC_SET MT   )     GET_FUNC_SET1(MT,GET_CODE,GET_MANIP_CODE)
 

#define GET_FUNC_SET0 MT,
CODE,
CODE2   ) 
 

Value:

GET_PROT(MT,short &,CODE) \
        GET_PROT(MT,u_short &,CODE) \
        GET_PROT(MT,int &,CODE) \
        GET_PROT(MT,u_int &,CODE) \
        GET_PROT(MT,long &,CODE) \
        GET_PROT(MT,u_long &,CODE) \
        GET_PROT(MT,float &,CODE) \
        GET_PROT(MT,double &,CODE) \
        GET_PROT(MT,char &,CODE) \
        GET_PROT(MT,u_char &,CODE) \
        GET_PROT(MT,char *,CODE) \
        GET_PROT(MT,u_char *,CODE) \
        inline virtual MT& operator>>(__omanip_ func) CODE2 \
        inline virtual MT& operator>>(__manip_ func)  CODE2

#define GET_FUNC_SET1 MT,
CODE,
CODE2   ) 
 

Value:

GET_PROT(MT,signed char &,CODE) \
          GET_PROT(MT,signed char *,CODE) \
          GET_FUNC_SET0(MT,CODE,CODE2)

#define GET_MANIP_CODE   { if (ipfx ()) { (*func) (*this); } isfx (); return *this; }
 

#define GET_PROT MT,
DT,
CODE   )     GET_SIG(MT,DT) CODE
 

#define GET_SIG MT,
DT   )     inline virtual MT& operator>> (DT v)
 

#define GET_SIG_SET MT   )     GET_FUNC_SET1(MT,= 0;,= 0;)
 

#define GETPUT_FUNC_SET MT   )     GET_FUNC_SET(MT) PUT_FUNC_SET(MT)
 

#define GETPUT_SIG_SET MT   )     GET_SIG_SET(MT) PUT_SIG_SET(MT)
 

#define PUT_CODE
 

Value:

{                      \
        if (opfx ())                                    \
        {                                               \
                iostream::operator<< (v);               \
        }                                               \
        osfx ();                                        \
        return *this;                                   \
        }

#define PUT_FUNC MT,
DT   )     PUT_PROT(MT,DT,PUT_CODE)
 

#define PUT_FUNC_SET MT   )     PUT_FUNC_SET1(MT,PUT_CODE,PUT_MANIP_CODE)
 

#define PUT_FUNC_SET0 MT,
CODE,
CODE2   ) 
 

Value:

PUT_PROT(MT,short,CODE) \
        PUT_PROT(MT,u_short,CODE) \
        PUT_PROT(MT,int,CODE) \
        PUT_PROT(MT,u_int,CODE) \
        PUT_PROT(MT,long,CODE) \
        PUT_PROT(MT,u_long,CODE) \
        PUT_PROT(MT,float,CODE) \
        PUT_PROT(MT,double,CODE) \
        PUT_PROT(MT,char,CODE) \
        PUT_PROT(MT,u_char,CODE) \
        PUT_PROT(MT,const char *,CODE) \
        PUT_PROT(MT,u_char *,CODE) \
        PUT_PROT(MT,void *,CODE) \
        inline virtual MT& operator<<(__omanip_ func) CODE2 \
        inline virtual MT& operator<<(__manip_ func)  CODE2

#define PUT_FUNC_SET1 MT,
CODE,
CODE2   ) 
 

Value:

PUT_FUNC(MT,signed char) \
          PUT_FUNC(MT,const signed char *) \
          PUT_FUNC_SET0(MT,CODE,CODE2)

#define PUT_MANIP_CODE   { if (opfx ()) { (*func) (*this); } osfx (); return *this; }
 

#define PUT_PROT MT,
DT,
CODE   )     PUT_SIG(MT,DT) CODE
 

#define PUT_SIG MT,
DT   )     inline virtual MT& operator<< (DT v)
 

#define PUT_SIG_SET MT   )     PUT_FUNC_SET1(MT,= 0;,= 0;)
 


Typedef Documentation

typedef istream&(* __imanip_)(istream &)
 

typedef ios&(* __manip_)(ios &)
 

typedef ostream&(* __omanip_)(ostream &)
 


Generated on Wed Nov 23 15:47:00 2005 for ACE by  doxygen 1.4.5