ACE  6.1.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Macros | Typedefs
IOStream.h File Reference
#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...

Macros

#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 93359 2011-02-11 11:33:12Z mcorino
Author:
James CE Johnson jcej@.nosp@m.lads.nosp@m..com
Jim Crossley jim@l.nosp@m.ads..nosp@m.com

Macro Definition 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 &)