ITK
6.0.0
Insight Toolkit
|
#include <itkMetaDataObject.h>
Allows arbitrary data types to be stored as MetaDataObjectBase types, and to be stored in a MetaDataDictionary.
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 default implementation prints uses the MetaDataObjectType's Print or operator<< if available. Otherwise, it prints string "[UNKNOWN PRINT CHARACTERISTICS]".
Definition at line 68 of file itkMetaDataObject.h.
Public Types | |
using | ConstPointer = SmartPointer< const Self > |
using | Pointer = SmartPointer< Self > |
using | Self = MetaDataObject |
using | Superclass = MetaDataObjectBase |
Public Types inherited from itk::MetaDataObjectBase | |
using | ConstPointer = SmartPointer< const Self > |
using | Pointer = SmartPointer< Self > |
using | Self = MetaDataObjectBase |
using | Superclass = LightObject |
Public Types inherited from itk::LightObject | |
using | ConstPointer = SmartPointer< const Self > |
using | Pointer = SmartPointer< Self > |
using | Self = LightObject |
Public Member Functions | |
const std::type_info & | GetMetaDataObjectTypeInfo () const override |
const char * | GetMetaDataObjectTypeName () const override |
const MetaDataObjectType & | GetMetaDataObjectValue () const |
const char * | GetNameOfClass () const override |
void | Print (std::ostream &os) const override |
void | SetMetaDataObjectValue (const MetaDataObjectType &newValue) |
Public Member Functions inherited from itk::MetaDataObjectBase | |
virtual const std::type_info & | GetMetaDataObjectTypeInfo () const |
virtual const char * | GetMetaDataObjectTypeName () const |
const char * | GetNameOfClass () const override |
virtual void | Print (std::ostream &os) const |
Public Member Functions inherited from itk::LightObject | |
Pointer | Clone () const |
virtual Pointer | CreateAnother () const |
virtual void | Delete () |
virtual const char * | GetNameOfClass () const |
virtual int | GetReferenceCount () const |
void | Print (std::ostream &os, Indent indent=0) const |
virtual void | Register () const |
virtual void | SetReferenceCount (int) |
virtual void | UnRegister () const noexcept |
Static Public Member Functions | |
static Pointer | New () |
Static Public Member Functions inherited from itk::LightObject | |
static void | BreakOnError () |
static Pointer | New () |
Protected Member Functions | |
MetaDataObject ()=default | |
~MetaDataObject () override=default | |
Protected Member Functions inherited from itk::MetaDataObjectBase | |
MetaDataObjectBase () | |
~MetaDataObjectBase () override | |
Protected Member Functions inherited from itk::LightObject | |
virtual LightObject::Pointer | InternalClone () const |
LightObject () | |
virtual void | PrintHeader (std::ostream &os, Indent indent) const |
virtual void | PrintSelf (std::ostream &os, Indent indent) const |
virtual void | PrintTrailer (std::ostream &os, Indent indent) const |
virtual | ~LightObject () |
Private Member Functions | |
bool | Equal (const MetaDataObjectBase &metaDataObjectBase) const override |
Static Private Member Functions | |
template<typename TValue > | |
static auto | Assign (TValue &target, const TValue &source) -> decltype(target=source) |
template<typename TValue > | |
static auto | EqualValues (const TValue &lhs, const TValue &rhs) -> decltype(lhs==rhs) |
template<typename TValue , vcl_size_t VNumberOfElements> | |
static void | Assign (TValue(&target)[VNumberOfElements], const TValue(&source)[VNumberOfElements]) |
template<typename TValue , vcl_size_t VNumberOfElements> | |
static bool | EqualValues (const TValue(&lhs)[VNumberOfElements], const TValue(&rhs)[VNumberOfElements]) |
Private Attributes | |
MetaDataObjectType | m_MetaDataObjectValue {} |
Friends | |
bool | operator!= (const Self &lhs, const Self &rhs) |
bool | operator== (const Self &lhs, const Self &rhs) |
Additional Inherited Members | |
Protected Attributes inherited from itk::LightObject | |
std::atomic< int > | m_ReferenceCount {} |
using itk::MetaDataObject< MetaDataObjectType >::ConstPointer = SmartPointer<const Self> |
Definition at line 77 of file itkMetaDataObject.h.
using itk::MetaDataObject< MetaDataObjectType >::Pointer = SmartPointer<Self> |
Definition at line 76 of file itkMetaDataObject.h.
using itk::MetaDataObject< MetaDataObjectType >::Self = MetaDataObject |
Smart pointer type alias support
Definition at line 74 of file itkMetaDataObject.h.
using itk::MetaDataObject< MetaDataObjectType >::Superclass = MetaDataObjectBase |
Definition at line 75 of file itkMetaDataObject.h.
|
protecteddefault |
|
overrideprotecteddefault |
|
inlinestaticprivate |
Assigns the value of source
to target
.
Definition at line 149 of file itkMetaDataObject.h.
|
inlinestaticprivate |
Assign
overload for C-style arrays (as well as arrays of arrays).
Definition at line 157 of file itkMetaDataObject.h.
|
inlineoverrideprivatevirtual |
Internal helper function used to implement operator== for MetaDataObjectBase.
Implements itk::MetaDataObjectBase.
Definition at line 195 of file itkMetaDataObject.h.
|
inlinestaticprivate |
Tells whether the specified arguments compare equal.
Definition at line 171 of file itkMetaDataObject.h.
|
inlinestaticprivate |
EqualValues
overload for C-style arrays (as well as arrays of arrays).
Definition at line 179 of file itkMetaDataObject.h.
|
overridevirtual |
The definition of this function is necessary to fulfill the interface of the MetaDataObjectBase
Reimplemented from itk::MetaDataObjectBase.
|
overridevirtual |
The definition of this function is necessary to fulfill the interface of the MetaDataObjectBase
Reimplemented from itk::MetaDataObjectBase.
const MetaDataObjectType & itk::MetaDataObject< MetaDataObjectType >::GetMetaDataObjectValue | ( | ) | const |
Function to return the stored value of type MetaDataObjectType.
Referenced by itk::ExposeMetaData().
|
overridevirtual |
Reimplemented from itk::LightObject.
|
static |
Method for creation through the object factory.
Referenced by itk::EncapsulateMetaData().
|
overridevirtual |
Defines the default behavior for printing out this element
os | An output stream |
Reimplemented from itk::MetaDataObjectBase.
void itk::MetaDataObject< MetaDataObjectType >::SetMetaDataObjectValue | ( | const MetaDataObjectType & | newValue | ) |
Function to set the stored value of type MetaDataObjectType.
newValue | A constant reference to at MetaDataObjectType. |
|
friend |
Returns (metaDataObject1 != metaDataObject2).
Definition at line 135 of file itkMetaDataObject.h.
|
friend |
Returns (metaDataObject1 == metaDataObject2).
Definition at line 128 of file itkMetaDataObject.h.
|
private |
A variable to store this derived type.
Definition at line 206 of file itkMetaDataObject.h.