MeVisLab Toolbox Reference
mlObjMgrSubDataType.h File Reference
#include "MLObjMgrSystem.h"
#include "mlObjMgrDataType.h"
#include <mlRuntimeSubClass.h>

Go to the source code of this file.

Macros

#define QUOTE(data)   #data
 This file declares data type subclass macros. More...
 
#define DATA_TYPE_HEADER(dataTypeName, dataType)
 
#define DATA_TYPE_SOURCE(dataTypeName, dataType, getStringCode, setStringCode)
 
#define DATA_OP_HEADER(dataTypeName, dataType, defaultValue)
 
#define DATA_OP_SOURCE(dataTypeName, dataType)
 

Macro Definition Documentation

◆ DATA_OP_HEADER

#define DATA_OP_HEADER (   dataTypeName,
  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_##dataTypeName *)_data) : defaultValue; \
} \
inline void set_##dataTypeName(const dataType &value) { \
*this = (const dataType &)value; \
} \
inline dataType get_##dataTypeName() const { \
return (_data) ? (dataType)(*(omData_##dataTypeName *)_data) : defaultValue; \
}

Definition at line 81 of file mlObjMgrSubDataType.h.

◆ DATA_OP_SOURCE

#define DATA_OP_SOURCE (   dataTypeName,
  dataType 
)
Value:
void omData::assign(const dataType &value) { \
if(_data == NULL) { \
createDataType(QUOTE(omData_##dataTypeName)); \
\
if(_data == NULL) \
return; \
} \
\
*(omData_##dataTypeName *)_data = value; \
}
#define QUOTE(data)
This file declares data type subclass macros.

Definition at line 99 of file mlObjMgrSubDataType.h.

◆ DATA_TYPE_HEADER

#define DATA_TYPE_HEADER (   dataTypeName,
  dataType 
)

Definition at line 30 of file mlObjMgrSubDataType.h.

◆ DATA_TYPE_SOURCE

#define DATA_TYPE_SOURCE (   dataTypeName,
  dataType,
  getStringCode,
  setStringCode 
)
Value:
ML_CLASS_SOURCE(omData_##dataTypeName, omDataType); \
std::string omData_##dataTypeName::getStringValue() const { \
getStringCode \
} \
void omData_##dataTypeName::setStringValue(const std::string &value) { \
setStringCode \
}
#define ML_CLASS_SOURCE(className, parentName)
This macro has to be put into the source file of a non-abstract class to implement the methods declar...

Definition at line 72 of file mlObjMgrSubDataType.h.

◆ QUOTE

#define QUOTE (   data)    #data

This file declares data type subclass macros.

Definition at line 28 of file mlObjMgrSubDataType.h.