1 /*=========================================================================
2  *
3  *  Copyright Insight Software Consortium
4  *
5  *  Licensed under the Apache License, Version 2.0 (the "License");
6  *  you may not use this file except in compliance with the License.
7  *  You may obtain a copy of the License at
8  *
9  *         http://www.apache.org/licenses/LICENSE-2.0.txt
10  *
11  *  Unless required by applicable law or agreed to in writing, software
12  *  distributed under the License is distributed on an "AS IS" BASIS,
13  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  *  See the License for the specific language governing permissions and
15  *  limitations under the License.
16  *
17  *=========================================================================*/
18 /*=========================================================================
19  *
20  *  Portions of this file are subject to the VTK Toolkit Version 3 copyright.
21  *
22  *  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
23  *
24  *  For complete copyright, license and disclaimer of warranty information
25  *  please refer to the NOTICE file at the top of the ITK source tree.
26  *
27  *=========================================================================*/
28 #ifndef itkMetaDataObject_hxx
29 #define itkMetaDataObject_hxx
30 
31 #include "itkMetaDataObject.h"
32 
33 namespace itk
34 {
35 template< typename MetaDataObjectType >
36 const char *
37 MetaDataObject< MetaDataObjectType >
GetMetaDataObjectTypeName() const38 ::GetMetaDataObjectTypeName() const
39 {
40   return typeid( MetaDataObjectType ).name();
41 }
42 
43 template< typename MetaDataObjectType >
44 const std::type_info &
45 MetaDataObject< MetaDataObjectType >
GetMetaDataObjectTypeInfo() const46 ::GetMetaDataObjectTypeInfo() const
47 {
48   return typeid( MetaDataObjectType );
49 }
50 
51 template< typename MetaDataObjectType >
52 const MetaDataObjectType &
53 MetaDataObject< MetaDataObjectType >
GetMetaDataObjectValue() const54 ::GetMetaDataObjectValue() const
55 {
56   return m_MetaDataObjectValue;
57 }
58 
59 template< typename MetaDataObjectType >
60 void
61 MetaDataObject< MetaDataObjectType >
SetMetaDataObjectValue(const MetaDataObjectType & newValue)62 ::SetMetaDataObjectValue(const MetaDataObjectType & newValue)
63 {
64   m_MetaDataObjectValue = newValue;
65 }
66 
67 template< typename MetaDataObjectType >
68 void
69 MetaDataObject< MetaDataObjectType >
Print(std::ostream & os) const70 ::Print(std::ostream & os) const
71 {
72   Superclass::Print(os);
73 }
74 
75 } // end namespace itk
76 
77 #endif
78