MeVisLabToolboxReference
MeVisLab/Standard/Sources/ML/MLObjMgr/ObjMgr/mlObjMgrSubDataType.h File Reference

This file declares data type subclass macros. More...

#include "MLObjMgrSystem.h"
#include "mlObjMgrDataType.h"
#include <mlRuntimeSubClass.h>

Go to the source code of this file.

Defines

#define QUOTE(data)   #data
#define DATA_TYPE_HEADER(dataType)
#define DATA_TYPE_SOURCE(dataType, getStringCode, setStringCode)
#define DATA_OP_HEADER(dataType, defaultValue)
#define DATA_OP_SOURCE(dataType)

Detailed Description

This file declares data type subclass macros.

Author:
Felix Ritter
Date:
01/2004

Definition in file mlObjMgrSubDataType.h.


Define Documentation

#define DATA_OP_HEADER (   dataType,
  defaultValue 
)
Value:
omData(const dataType &value) : _data(NULL) {                                                                                \
      assign(value);                                                                                                            \
   }                                                                                                                            \
   omData &operator =(const dataType &value) {                                                                                  \
      assign(value); return *this;                                                                                              \
   }                                                                                                                            \
   virtual void assign(const dataType &value);                                                                                  \
   operator dataType() const {                                                                                                  \
      return (_data) ? (dataType)(*(omData_##dataType *)_data) : defaultValue;                                                  \
   }                                                                                                                            \
   inline void set_##dataType(const dataType &value) {                                                                          \
      *this = (const dataType &)value;                                                                                          \
   }                                                                                                                            \
   inline dataType get_##dataType() const {                                                                                     \
      return (_data) ? (dataType)(*(omData_##dataType *)_data) : defaultValue;                                                  \
   }

Definition at line 83 of file mlObjMgrSubDataType.h.

#define DATA_OP_SOURCE (   dataType)
Value:
void omData::assign(const dataType &value) {                                                                                 \
      if(_data == NULL) {                                                                                                       \
         createDataType(QUOTE(omData_##dataType));                                                                              \
                                                                                                                                \
         if(_data == NULL)                                                                                                      \
            return;                                                                                                             \
      }                                                                                                                         \
                                                                                                                                \
      *(omData_##dataType *)_data = value;                                                                                      \
   }

Definition at line 101 of file mlObjMgrSubDataType.h.

#define DATA_TYPE_HEADER (   dataType)

Definition at line 32 of file mlObjMgrSubDataType.h.

#define DATA_TYPE_SOURCE (   dataType,
  getStringCode,
  setStringCode 
)
Value:
ML_CLASS_SOURCE(omData_##dataType, omDataType);                                                                              \
   std::string omData_##dataType::getStringValue() const {                                                                      \
      getStringCode                                                                                                             \
   }                                                                                                                            \
   void        omData_##dataType::setStringValue(const std::string &value) {                                                    \
      setStringCode                                                                                                             \
   }

Definition at line 74 of file mlObjMgrSubDataType.h.

#define QUOTE (   data)    #data

Definition at line 30 of file mlObjMgrSubDataType.h.