#include "mmdb_io_file.h"
Go to the source code of this file.
Define Documentation
| #define DefineFactoryFunctions |
( |
|
ClassName ) |
|
Value:typedef P##ClassName Make##ClassName(); \
typedef Make##ClassName * PMake##ClassName; \
typedef P##ClassName StreamMake##ClassName ( mmdb::io::RPStream Object ); \
P##ClassName new##ClassName (); \
P##ClassName streamNew##ClassName ( mmdb::io::RPStream Object ); \
typedef StreamMake##ClassName * PStreamMake##ClassName; \
extern void SetMakers##ClassName ( void * defMk, void * streamMk ); \
extern void StreamWrite ( mmdb::io::RFile f, RP##ClassName Object ); \
extern void StreamRead ( mmdb::io::RFile f, RP##ClassName Object );
| #define DefineStreamFunctions |
( |
|
ClassName ) |
|
Value:extern void StreamWrite ( mmdb::io::RFile f, RP##ClassName Object ); \
extern void StreamRead ( mmdb::io::RFile f, RP##ClassName Object );
| #define MakeFactoryFunctions |
( |
|
ClassName ) |
|
Value:static PMake##ClassName make##ClassName = NULL; \
static PStreamMake##ClassName streamMake##ClassName = NULL; \
P##ClassName new##ClassName() { \
if (make##ClassName) return (*make##ClassName)(); \
else return new ClassName(); \
} \
P##ClassName streamNew##ClassName ( mmdb::io::RPStream Object ) { \
if (streamMake##ClassName) \
return (*streamMake##ClassName)(Object); \
else return new ClassName(Object); \
} \
void SetMakers##ClassName ( void * defMk, void * streamMk ) { \
make##ClassName = PMake##ClassName(defMk); \
streamMake##ClassName = PStreamMake##ClassName(streamMk); \
} \
void StreamWrite ( mmdb::io::RFile f, RP##ClassName Object ) { \
StreamWrite_ ( f,(mmdb::io::RPStream)Object ); \
} \
mmdb::io::PStream StreamInit##ClassName ( mmdb::io::RPStream Object ) { \
return (mmdb::io::PStream)(streamNew##ClassName(Object)); \
} \
void StreamRead ( mmdb::io::RFile f, RP##ClassName Object ) { \
StreamRead_ ( f,(mmdb::io::RPStream)Object,StreamInit##ClassName ); \
}
| #define MakeStreamFunctions |
( |
|
ClassName ) |
|
Value:void StreamWrite ( mmdb::io::RFile f, RP##ClassName Object ) { \
StreamWrite_ ( f,(mmdb::io::RPStream)Object ); \
} \
mmdb::io::PStream StreamInit##ClassName ( mmdb::io::RPStream Object ) { \
return (mmdb::io::PStream)(new ClassName(Object)); \
} \
void StreamRead ( mmdb::io::RFile f, RP##ClassName Object ) { \
StreamRead_ ( f,(mmdb::io::RPStream)Object,StreamInit##ClassName );\
}