GDCM
2.2.0
Main Page
Related Pages
Namespaces
Classes
Files
Examples
File List
File Members
Source
InformationObjectDefinition
gdcmModuleEntry.h
Go to the documentation of this file.
1
/*=========================================================================
2
3
Program: GDCM (Grassroots DICOM). A DICOM library
4
5
Copyright (c) 2006-2011 Mathieu Malaterre
6
All rights reserved.
7
See Copyright.txt or http://gdcm.sourceforge.net/Copyright.html for details.
8
9
This software is distributed WITHOUT ANY WARRANTY; without even
10
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11
PURPOSE. See the above copyright notice for more information.
12
13
=========================================================================*/
14
#ifndef GDCMMODULEENTRY_H
15
#define GDCMMODULEENTRY_H
16
17
#include "
gdcmTypes.h
"
18
#include "
gdcmType.h
"
19
20
#include <string>
21
22
namespace
gdcm
23
{
29
class
GDCM_EXPORT
ModuleEntry
30
{
31
public
:
32
ModuleEntry
(
const
char
*name =
""
,
const
char
*type =
"3"
,
const
char
*description =
""
):Name(name)
/*,Type(type)*/
,DescriptionField(description) {
33
DataElementType =
Type::GetTypeType
(type);
34
}
35
virtual
~ModuleEntry
() {}
// important
36
friend
std::ostream&
operator<<
(std::ostream& _os,
const
ModuleEntry
&_val);
37
38
void
SetName
(
const
char
*name) { Name = name; }
39
const
char
*
GetName
()
const
{
return
Name.c_str(); }
40
41
void
SetType
(
const
Type
&type) { DataElementType = type; }
42
const
Type
&
GetType
()
const
{
return
DataElementType; }
43
44
/*
45
* WARNING: 'Description' is currently a std::string, but it might change in the future
46
* do not expect it to remain the same, and always use the ModuleEntry::Description typedef
47
* instead.
48
*/
49
typedef
std::string
Description
;
50
void
SetDescription
(
const
char
*d) { DescriptionField = d; }
51
const
Description
&
GetDescription
()
const
{
return
DescriptionField; }
52
53
protected
:
54
// PS 3.3 repeats the name of an attribute, but often contains typos
55
// for now we will not use this info, but instead access the DataDict instead
56
std::string
Name
;
57
58
// An attribute, encoded as a Data Element, may or may not be required in a
59
// Data Set, depending on that Attribute's Data Element Type.
60
Type
DataElementType
;
61
62
// TODO: for now contains the raw description (with enumerated values, defined terms...)
63
Description
DescriptionField
;
64
};
65
//-----------------------------------------------------------------------------
66
inline
std::ostream&
operator<<
(std::ostream& _os,
const
ModuleEntry
&_val)
67
{
68
_os << _val.
Name
<<
"\t"
<< _val.
DataElementType
<<
"\t"
<< _val.
DescriptionField
;
69
return
_os;
70
}
71
72
typedef
ModuleEntry
MacroEntry
;
73
74
75
}
// end namespace gdcm
76
77
#endif //GDCMMODULEENTRY_H
Generated on Wed Jun 13 2012 20:40:37 for GDCM by
1.8.1