comparison Core/DicomFormat/DicomElement.h @ 0:3959d33612cc

initial commit
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 19 Jul 2012 14:32:22 +0200
parents
children a15e90e5d6fc
comparison
equal deleted inserted replaced
-1:000000000000 0:3959d33612cc
1 /**
2 * Palantir - A Lightweight, RESTful DICOM Store
3 * Copyright (C) 2012 Medical Physics Department, CHU of Liege,
4 * Belgium
5 *
6 * This program is free software: you can redistribute it and/or
7 * modify it under the terms of the GNU General Public License as
8 * published by the Free Software Foundation, either version 3 of the
9 * License, or (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful, but
12 * WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
18 **/
19
20
21 #pragma once
22
23 #include "DicomValue.h"
24 #include "DicomTag.h"
25
26 namespace Palantir
27 {
28 class DicomElement : public boost::noncopyable
29 {
30 private:
31 DicomTag tag_;
32 DicomValue* value_;
33
34 public:
35 DicomElement(uint16_t group,
36 uint16_t element,
37 const DicomValue& value) :
38 tag_(group, element),
39 value_(value.Clone())
40 {
41 }
42
43 DicomElement(const DicomTag& tag,
44 const DicomValue& value) :
45 tag_(tag),
46 value_(value.Clone())
47 {
48 }
49
50 ~DicomElement()
51 {
52 delete value_;
53 }
54
55 const DicomTag& GetTag() const
56 {
57 return tag_;
58 }
59
60 const DicomValue& GetValue() const
61 {
62 return *value_;
63 }
64
65 uint16_t GetTagGroup() const
66 {
67 return tag_.GetGroup();
68 }
69
70 uint16_t GetTagElement() const
71 {
72 return tag_.GetElement();
73 }
74
75 bool operator< (const DicomElement& other) const
76 {
77 return GetTag() < other.GetTag();
78 }
79 };
80 }