/usr/include/InsightToolkit/Common/itkMetaDataObject.txx is in libinsighttoolkit3-dev 3.20.1+git20120521-6build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | /*=========================================================================
Program: Insight Segmentation & Registration Toolkit
Module: itkMetaDataObject.txx
Language: C++
Date: $Date$
Version: $Revision$
Copyright (c) Insight Software Consortium. All rights reserved.
See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
Portions of this code are covered under the VTK copyright.
See VTKCopyright.txt or http://www.kitware.com/VTKCopyright.htm for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notices for more information.
=========================================================================*/
#ifndef __itkMetaDataObject_txx
#define __itkMetaDataObject_txx
#include "itkMetaDataObject.h"
namespace itk
{
template<class MetaDataObjectType>
MetaDataObject<MetaDataObjectType>
::MetaDataObject(void)
{
//Nothing to do, m_MetaDataObjectValue takes this types default value.
}
template<class MetaDataObjectType>
MetaDataObject<MetaDataObjectType>
::~MetaDataObject(void)
{
//Nothing to do here.
}
template<class MetaDataObjectType>
MetaDataObject<MetaDataObjectType>
::MetaDataObject(const MetaDataObjectType InitializerValue)
:m_MetaDataObjectValue(InitializerValue)
{
//Nothing to be done here
}
template<class MetaDataObjectType>
MetaDataObject<MetaDataObjectType>
::MetaDataObject(const MetaDataObject<MetaDataObjectType> &TemplateObject)
:m_MetaDataObjectValue(TemplateObject.m_MetaDataObjectValue)
{
//Nothing to be done here
}
template<class MetaDataObjectType>
const char *
MetaDataObject<MetaDataObjectType>
::GetMetaDataObjectTypeName(void) const
{
return typeid(MetaDataObjectType).name();
}
template<class MetaDataObjectType>
const std::type_info &
MetaDataObject<MetaDataObjectType>
::GetMetaDataObjectTypeInfo(void) const
{
return typeid(MetaDataObjectType);
}
template<class MetaDataObjectType>
const MetaDataObjectType &
MetaDataObject<MetaDataObjectType>
::GetMetaDataObjectValue(void) const
{
return m_MetaDataObjectValue;
}
template<class MetaDataObjectType>
void
MetaDataObject<MetaDataObjectType>
::SetMetaDataObjectValue(const MetaDataObjectType & NewValue )
{
m_MetaDataObjectValue=NewValue;
}
template<class MetaDataObjectType>
void
MetaDataObject<MetaDataObjectType>
::Print(std::ostream& os) const
{
Superclass::Print(os);
}
// Define a specialization of the Print function
// for some basic types. We don't use the initial
// NATIVE_TYPE_METADATAPRINT macro because it lacks
// the inline keyword and it tries to specialize
// for const types which does not compile on MSVC
#define NATIVE_TYPE_METADATAPRINT_NOCONST(TYPE_NAME) \
template <> \
inline void MetaDataObject< TYPE_NAME > \
::Print(std::ostream& os) const \
{ \
os << this->m_MetaDataObjectValue << std::endl; \
}
NATIVE_TYPE_METADATAPRINT_NOCONST( unsigned char )
NATIVE_TYPE_METADATAPRINT_NOCONST( short )
NATIVE_TYPE_METADATAPRINT_NOCONST( unsigned short )
NATIVE_TYPE_METADATAPRINT_NOCONST( int )
NATIVE_TYPE_METADATAPRINT_NOCONST( unsigned int )
NATIVE_TYPE_METADATAPRINT_NOCONST( long )
NATIVE_TYPE_METADATAPRINT_NOCONST( unsigned long )
NATIVE_TYPE_METADATAPRINT_NOCONST( float )
NATIVE_TYPE_METADATAPRINT_NOCONST( double )
NATIVE_TYPE_METADATAPRINT_NOCONST( std::string )
// undef the macro to clean up things
#undef NATIVE_TYPE_METADATAPRINT_NOCONST
} // end namespace itk
#endif
|