Classes | Namespaces | Defines | Typedefs | Functions

src/mmdb_io_stream.h File Reference

#include "mmdb_io_file.h"

Go to the source code of this file.

Classes

class  mmdb::io::Stream

Namespaces

namespace  mmdb
namespace  mmdb::io

Defines

#define DefineStreamFunctions(ClassName)
#define MakeStreamFunctions(ClassName)
#define DefineFactoryFunctions(ClassName)
#define MakeFactoryFunctions(ClassName)

Typedefs

typedef PStream mmdb::io::InitStreamObject (RPStream Object)

Functions

 mmdb::io::DefineClass (Stream)
 mmdb::io::DefineStreamFunctions (Stream)
void mmdb::io::StreamRead_ (RFile f, RPStream Object, InitStreamObject Init)
void mmdb::io::StreamWrite_ (RFile f, RPStream Object)

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 );\
  }
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines