home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World Komputer 1998 May
/
Pcwk5b98.iso
/
Borland
/
Cplus45
/
BC45
/
CLASSSRC.PAK
/
GEOMSTRM.CPP
< prev
next >
Wrap
C/C++ Source or Header
|
1995-08-29
|
2KB
|
86 lines
//----------------------------------------------------------------------------
// (C) Copyright 1993, 1994 by Borland International, All Rights Reserved
// Implementation of geometry streaming support
//----------------------------------------------------------------------------
#if !defined(_Windows)
# define _Windows // pretend we are in windows to get the headers we need
#endif
#include <osl/defs.h>
#include <osl/geometry.h>
ostream& _BIDSFUNC
operator <<(ostream& os, const TRect& r)
{
return os << '(' << r.left << ',' << r.top << '-'
<< r.right << ',' << r.bottom << ')';
}
//
// streaming operators for resource Ids
//
ostream& _BIDSFUNC
operator <<(ostream& os, const TResId& id)
{
bool isNumeric = static_cast<bool>(!id.IsString());
if (isNumeric)
os << (long)id.Id;
else
#if defined(BI_DATA_NEAR)
os << string(id.Id);
#else
os << id.Id;
#endif
return os;
}
//! Could break this file in half here...
ipstream& _BIDSFUNC
operator >>(ipstream& is, TRect& r)
{
return is >> r.left >> r.top >> r.right >> r.bottom;
}
opstream& _BIDSFUNC
operator <<(opstream& os, const TRect& r)
{
return os << r.left << r.top << r.right << r.bottom;
}
//
// streaming operators for resource Ids
//
ipstream& _BIDSFUNC
operator >>(ipstream& is, TResId& id)
{
bool isNumeric;
is >> isNumeric;
if (isNumeric) {
long nid;
is >> nid;
id = int(nid);
} else
id = (const char far *)is.freadString();
return is;
}
opstream& _BIDSFUNC
operator <<(opstream& os, const TResId& id)
{
bool isNumeric = static_cast<bool>(!id.IsString());
os << isNumeric;
if (isNumeric)
os << (long)id.Id;
else
os.fwriteString(id.Id);
return os;
}