29 #ifndef _cmnGenericObject_h
30 #define _cmnGenericObject_h
92 virtual void ToStream(std::ostream & outputStream)
const;
99 virtual void ToStreamRaw(std::ostream & outputStream,
const char delimiter =
' ',
100 bool headerOnly =
false,
const std::string & headerPrefix =
"")
const;
104 virtual bool FromStreamRaw(std::istream & inputStream,
const char delimiter =
' ');
109 virtual void SerializeRaw(std::ostream & outputStream)
const;
113 virtual void DeSerializeRaw(std::istream & inputStream);
144 cmnThrow(std::out_of_range(
"cmnGenericObject::Scalar base method called, no scalar"));
153 cmnThrow(std::out_of_range(
"cmnGenericObject::ScalarDescription base method called, no scalar"));
154 return "index out of range";
163 object.ToStream(output);
174 #endif // _cmnGenericObject_h
std::ostream & operator<<(std::ostream &output, const cmnGenericObject &object)
Definition: cmnGenericObject.h:161
#define CISST_EXPORT
Definition: cmnExportMacros.h:50
std::string ToString()
Definition: cisstVectorEigenAddons.h:30
Portability across compilers and operating systems tools.
#define CMN_UNUSED(argument)
Definition: cmnPortability.h:479
Class registration macros.
virtual bool ScalarNumberIsFixed(void) const
Definition: cmnGenericObject.h:136
Base class for high level objects.
Definition: cmnGenericObject.h:51
virtual double Scalar(const size_t CMN_UNUSED(index)) const
Definition: cmnGenericObject.h:143
Class register definitions and log macros.
Declaration of cmnLogger amd macros for human readable logging.
virtual std::string ScalarDescription(const size_t CMN_UNUSED(index), const std::string &CMN_UNUSED(userDescription)) const
Definition: cmnGenericObject.h:152
Macros to export the symbols of cisstCommon (in a Dll).
virtual size_t ScalarNumber(void) const
Definition: cmnGenericObject.h:127
#define cmnThrow(a)
Definition: MinimalCmn.h:4
Defines cmnClassServices.
Base class for class services.
Definition: cmnClassServicesBase.h:45
Declaration of the template function cmnThrow.
virtual ~cmnGenericObject(void)
Definition: cmnGenericObject.h:55