00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
#ifndef MetaDataObjectBase_h_h
00021
#define MetaDataObjectBase_h_h
00022
00023
#if defined(_MSC_VER)
00024
#pragma warning ( disable : 4786 )
00025
#endif
00026
00027
#include <typeinfo>
00028
#include <iostream>
00029
#include "itkLightObject.h"
00030
#include "itkWin32Header.h"
00031
00032
namespace itk {
00041 class ITKCommon_EXPORT MetaDataObjectBase :
public LightObject
00042 {
00043
public:
00045
typedef MetaDataObjectBase
Self;
00046 typedef LightObject Superclass;
00047 typedef SmartPointer<Self> Pointer;
00048 typedef SmartPointer<const Self> ConstPointer;
00049
00050
00052
itkTypeMacro(MetaDataObjectBase,
LightObject);
00053
00058
virtual const char * GetMetaDataObjectTypeName(
void) const;
00063 virtual const std::type_info & GetMetaDataObjectTypeInfo(
void) const;
00068 virtual
void Print(std::ostream& os) const;
00069 protected:
00071
00072 static
Pointer New(
void);
00076 virtual ~MetaDataObjectBase();
00077 MetaDataObjectBase();
00078 private:
00079
00080 MetaDataObjectBase(const
Self &);
00081
void operator=(const Self&);
00082 };
00083 }
00084
00085 #endif
00086