Go to the documentation of this file.
26 #define MTS_DECLARE_MEMBER_AND_ACCESSORS CMN_DECLARE_MEMBER_AND_ACCESSORS
29 #define MTS_PROXY_CLASS_DECLARATION_FROM(className, newName) You_should_use__MTS_MULTIPLE_INHERITANCE_FROM_MTS_GENERIC__instead
34 #define MTS_MULTIPLE_INHERITANCE_FROM_MTS_GENERIC(className, newName) \
35 class newName: public mtsGenericObject, public className \
37 CMN_DECLARE_SERVICES_EXPORT(CMN_DYNAMIC_CREATION, CMN_LOG_DEFAULT_LOD); \
39 newName(void): mtsGenericObject(), className() {} \
40 newName(const className & other): \
43 void ToStream(std::ostream & outputStream) const { \
44 mtsGenericObject::ToStream(outputStream); \
45 outputStream << std::endl; \
46 className::ToStream(outputStream); \
48 void SerializeRaw(std::ostream & outputStream) const { \
49 mtsGenericObject::SerializeRaw(outputStream); \
50 className::SerializeRaw(outputStream); \
52 void DeSerializeRaw(std::istream & inputStream) { \
53 mtsGenericObject::DeSerializeRaw(inputStream); \
54 className::DeSerializeRaw(inputStream); \
56 void ToStreamRaw(std::ostream & outputStream, \
57 const char delimiter = ' ', \
58 bool headerOnly = false, \
59 const std::string & headerPrefix = "") const { \
60 mtsGenericObject::ToStreamRaw(outputStream, delimiter, \
61 headerOnly, headerPrefix); \
62 outputStream << delimiter; \
63 className::ToStreamRaw(outputStream, delimiter, \
64 headerOnly, headerPrefix); \
66 className & Data(void) { \
69 const className & Data(void) const { \
73 inline std::ostream & operator << (std::ostream & output, \
74 const newName & object) { \
75 object.ToStream(output); \
78 CMN_DECLARE_SERVICES_INSTANTIATION(newName)
81 #endif // _mtsMacros_h