Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

itk::MetaDataObject< MetaDataObjectType > Class Template Reference

#include <itkMetaDataObject.h>

Inheritance diagram for itk::MetaDataObject< MetaDataObjectType >:

Inheritance graph
[legend]
Collaboration diagram for itk::MetaDataObject< MetaDataObjectType >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef MetaDataObject Self
typedef MetaDataObjectBase Superclass
typedef SmartPointer< SelfPointer
typedef SmartPointer< const
Self
ConstPointer

Public Member Functions

virtual const char * GetClassName () const
 MetaDataObject (void)
virtual ~MetaDataObject (void)
 MetaDataObject (const MetaDataObjectType InitializerValue)
 MetaDataObject (const MetaDataObject< MetaDataObjectType > &TemplateObject)
virtual const char * GetMetaDataObjectTypeName (void) const
virtual const std::type_info & GetMetaDataObjectTypeInfo (void) const
const MetaDataObjectType & GetMetaDataObjectValue (void) const
void SetMetaDataObjectValue (const MetaDataObjectType &NewValue)
virtual void Print (std::ostream &os) const

Static Public Member Functions

Pointer New ()

Detailed Description

template<class MetaDataObjectType>
class itk::MetaDataObject< MetaDataObjectType >

Author:
Hans J. Johnson The MetaDataObject class is a templated class that is a specialization of the MetaDataObjectBase type. This class allows arbitrary data types to be stored as MetaDataObjectBase types, and to be stored in a MetaDataDictionary.
Any class or built in type that has valid copy constructor and operator= can be wrapped directly with this simple template type.

Classes or built in types that do not have valid copy constructors or operator= implemented will have to implement those functions by deriving from MetaDataObject<MetaDataObjectType> and redefining the copy constructor and initializing constructor and the Get/Set functions to work around those deficiencies.

The behavior of the MetaDataObject<Type>::Print() function has many plausible application dependant implementations. The default implementation prints the string "[UNKNOWN PRINT CHARACTERISTICS]" that works for all possible MetaDataObject types.

The application developer may overload the default implementation to provide a specialized Print() characteristics to produce results desirable for their application. A set of very crude Macros {NATIVE_TYPE_METADATAPRINT, ITK_OBJECT_TYPE_METADATAPRINT_1COMMA, ITK_IMAGE_TYPE_METADATAPRINT } are provided to facilitate a very simple implementation, and as an example.

Definition at line 65 of file itkMetaDataObject.h.


Member Typedef Documentation

template<class MetaDataObjectType>
typedef SmartPointer<const Self> itk::MetaDataObject< MetaDataObjectType >::ConstPointer
 

Reimplemented from itk::MetaDataObjectBase.

Definition at line 72 of file itkMetaDataObject.h.

template<class MetaDataObjectType>
typedef SmartPointer<Self> itk::MetaDataObject< MetaDataObjectType >::Pointer
 

Reimplemented from itk::MetaDataObjectBase.

Definition at line 71 of file itkMetaDataObject.h.

template<class MetaDataObjectType>
typedef MetaDataObject itk::MetaDataObject< MetaDataObjectType >::Self
 

Smart pointer typedef support.

Reimplemented from itk::MetaDataObjectBase.

Definition at line 69 of file itkMetaDataObject.h.

template<class MetaDataObjectType>
typedef MetaDataObjectBase itk::MetaDataObject< MetaDataObjectType >::Superclass
 

Reimplemented from itk::MetaDataObjectBase.

Definition at line 70 of file itkMetaDataObject.h.


Constructor & Destructor Documentation

template<class MetaDataObjectType>
itk::MetaDataObject< MetaDataObjectType >::MetaDataObject void   ) 
 

Author:
Hans J. Johnson Default constructor with no initialization.

template<class MetaDataObjectType>
virtual itk::MetaDataObject< MetaDataObjectType >::~MetaDataObject void   )  [virtual]
 

Author:
Hans J. Johnson Default virtual Destructor

template<class MetaDataObjectType>
itk::MetaDataObject< MetaDataObjectType >::MetaDataObject const MetaDataObjectType  InitializerValue  ) 
 

Author:
Hans J. Johnson Initializer constructor that sets m_MetaDataObjectValue to InitializerValue

template<class MetaDataObjectType>
itk::MetaDataObject< MetaDataObjectType >::MetaDataObject const MetaDataObject< MetaDataObjectType > &  TemplateObject  ) 
 

Author:
Hans J. Johnson Copy constructor that sets m_MetaDataObjectValue to TemplateObject.m_MetaDataObjectValue


Member Function Documentation

template<class MetaDataObjectType>
virtual const char* itk::MetaDataObject< MetaDataObjectType >::GetClassName  )  const [virtual]
 

Run-time type information (and related methods).

Reimplemented from itk::MetaDataObjectBase.

template<class MetaDataObjectType>
virtual const std::type_info& itk::MetaDataObject< MetaDataObjectType >::GetMetaDataObjectTypeInfo void   )  const [virtual]
 

Author:
Hans J. Johnson
The definition of this function is necessary to fulfill the interface of the MetaDataObjectBase
Returns:
A constant reference to a std::type_info object

Reimplemented from itk::MetaDataObjectBase.

template<class MetaDataObjectType>
virtual const char* itk::MetaDataObject< MetaDataObjectType >::GetMetaDataObjectTypeName void   )  const [virtual]
 

Author:
Hans J. Johnson
The definition of this function is necessary to fulfill the interface of the MetaDataObjectBase
Returns:
A pointer to a const char array containing the unique type name.

Reimplemented from itk::MetaDataObjectBase.

template<class MetaDataObjectType>
const MetaDataObjectType& itk::MetaDataObject< MetaDataObjectType >::GetMetaDataObjectValue void   )  const
 

Author:
Hans J. Johnson Function to return the stored value of type MetaDataObjectType.
Returns:
a constant reference to a MetaDataObjectType

template<class MetaDataObjectType>
Pointer itk::MetaDataObject< MetaDataObjectType >::New  )  [static]
 

Method for creation through the object factory.

Reimplemented from itk::MetaDataObjectBase.

template<class MetaDataObjectType>
virtual void itk::MetaDataObject< MetaDataObjectType >::Print std::ostream &  os  )  const [virtual]
 

Defines the default behavior for printing out this element

Parameters:
os An output stream

Reimplemented from itk::MetaDataObjectBase.

template<class MetaDataObjectType>
void itk::MetaDataObject< MetaDataObjectType >::SetMetaDataObjectValue const MetaDataObjectType &  NewValue  ) 
 

Author:
Hans J. Johnson Function to set the stored value of type MetaDataObjectType.
Parameters:
A constant reference to at MetaDataObjectType.


The documentation for this class was generated from the following file:
Generated at Sun Apr 1 03:10:29 2007 for ITK by doxygen 1.3.8 written by Dimitri van Heesch, © 1997-2000