Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- Turbo C++ Class Library Definition - /* iomanip.h -- streams i/o manipulator declarations http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
/*  iomanip.h -- streams I/O manipulator declarations

    Copyright (c) 1990 by Borland International
    All rights reserved

*/

#ifndef __IOMANIP_H
#define __IOMANIP_H

#include <generic.h>

#if __STDC__
#define _Cdecl
#else
#define _Cdecl  cdecl
#endif

#define SMANIP(typ) _Paste2(smanip_, typ)
#define SAPP(typ)   _Paste2(sapply_, typ)
#define IMANIP(typ) _Paste2(imanip_, typ)
#define OMANIP(typ) _Paste2(omanip_, typ)
#define IOMANIP(typ)    _Paste2(iomanip_, typ)
#define IAPP(typ)   _Paste2(iapply_, typ)
#define OAPP(typ)   _Paste2(oapply_, typ)
#define IOAPP(typ)  _Paste2(ioapply_, typ)

#define IOMANIPdeclare(typ)                                                  \
class SMANIP(typ) {                                                          \
    ios& _Cdecl (*_fn)(ios&, typ);                                           \
    typ _ag;                                                                 \
public:                                                                      \
    _Cdecl SMANIP(typ)(ios& (*_f)(ios&, typ), typ _a) : _fn(_f), _ag(_a) { } \
    friend istream& _Cdecl operator>>(istream& _s, SMANIP(typ)& _f) {        \
            (*_f._fn)(_s, _f._ag); return _s; }                              \
    friend ostream& _Cdecl operator<<(ostream& _s, SMANIP(typ)& _f) {        \
            (*_f._fn)(_s, _f._ag); return _s; }                              \
    };                                                                       \
class SAPP(typ) {                                                            \
    ios& _Cdecl (*_fn)(ios&, typ);                                           \
public:                                                                      \
    SAPP(typ)(ios& _Cdecl (*_f)(ios&, typ)) : _fn(_f) { }                    \
    SMANIP(typ) _Cdecl operator()(typ _z) { return SMANIP(typ)(_fn, _z); }   \
    };                                                                       \
class IMANIP(typ) {                                                          \
    istream& _Cdecl (*_fn)(istream&, typ);                                   \
    typ _ag;                                                                 \
public:                                                                      \
    _Cdecl IMANIP(typ)(istream& (*_f)(istream&, typ), typ _z ) :             \
        _fn(_f), _ag(_z) { }                                                 \
    friend istream& _Cdecl operator>>(istream& _s, IMANIP(typ)& _f) {        \
        return(*_f._fn)(_s, _f._ag); }                                       \
    };                                                                       \
class IAPP(typ) {                                                            \
    istream& _Cdecl (*_fn)(istream&, typ);                                   \
public:                                                                      \
    _Cdecl IAPP(typ)(istream& (*_f)(istream&, typ)) : _fn(_f) { }            \
    IMANIP(typ) _Cdecl operator()(typ _z) {                                  \
        return IMANIP(typ)(_fn, _z); }                                       \
    };                                                                       \
class OMANIP(typ) {                                                          \
    ostream& _Cdecl (*_fn)(ostream&, typ);                                   \
    typ _ag;                                                                 \
public:                                                                      \


    _Cdecl OMANIP(typ)(ostream& (*_f)(ostream&, typ), typ _z ) :        \
        _fn(_f), _ag(_z) { }                                            \
    friend ostream& _Cdecl operator<<(ostream& _s, OMANIP(typ)& _f) {   \
        return(*_f._fn)(_s, _f._ag); }                                  \
    };                                                                  \
class OAPP(typ) {                                                       \
    ostream& _Cdecl (*_fn)(ostream&, typ);                              \
public:                                                                 \
    _Cdecl OAPP(typ)(ostream& (*_f)(ostream&, typ)) : _fn(_f) { }       \
    OMANIP(typ) _Cdecl operator()(typ _z) {                             \
        return OMANIP(typ)(_fn, _z); }                                  \
    };                                                                  \
class IOMANIP(typ) {                                                    \
    iostream& _Cdecl (*_fn)(iostream&, typ);                            \
    typ _ag;                                                            \
public:                                                                 \
    _Cdecl IOMANIP(typ)(iostream& (*_f)(iostream&, typ), typ _z ) :     \
        _fn(_f), _ag(_z) { }                                            \
    friend istream& _Cdecl operator>>(iostream& _s, IOMANIP(typ)& _f) { \
        return(*_f._fn)(_s, _f._ag); }                                  \
    friend ostream& _Cdecl operator<<(iostream& _s, IOMANIP(typ)& _f) { \
        return(*_f._fn)(_s, _f._ag); }                                  \
    };                                                                  \
class IOAPP(typ) {                                                      \
    iostream& _Cdecl (*_fn)(iostream&, typ);                            \
public:                                                                 \
    _Cdecl IOAPP(typ)(iostream& (*_f)(iostream&, typ)) : _fn(_f) { }    \
    IOMANIP(typ) _Cdecl operator()(typ _z) {return IOMANIP(typ)(_fn, _z);} \
    }



IOMANIPdeclare(int);
IOMANIPdeclare(long);

// set the conversion base to 0, 8, 10, or 16
smanip_int  _Cdecl setbase(int _b);

// clear the flags bitvector according to the bits set in b
smanip_long _Cdecl resetiosflags(long _b);

// set the flags bitvector according to the bits set in b
smanip_long _Cdecl setiosflags(long _b);

// set fill character for padding a field
smanip_int  _Cdecl setfill(int _f);

// set the floating-point precision to n digits
smanip_int  _Cdecl setprecision(int _n);

// set the field width to n
smanip_int  _Cdecl setw(int _n);

#endif

Online resources provided by: http://www.X-Hacker.org --- NG 2 HTML conversion by Dave Pearson