OFFIS DCMTK  Version 3.6.0
dcvrsh.h
1 /*
2  *
3  * Copyright (C) 1994-2010, OFFIS e.V.
4  * All rights reserved. See COPYRIGHT file for details.
5  *
6  * This software and supporting documentation were developed by
7  *
8  * OFFIS e.V.
9  * R&D Division Health
10  * Escherweg 2
11  * D-26121 Oldenburg, Germany
12  *
13  *
14  * Module: dcmdata
15  *
16  * Author: Gerd Ehlers
17  *
18  * Purpose: Interface of class DcmShortString
19  *
20  * Last Update: $Author: joergr $
21  * Update Date: $Date: 2010-11-05 09:34:11 $
22  * CVS/RCS Revision: $Revision: 1.23 $
23  * Status: $State: Exp $
24  *
25  * CVS/RCS Log at end of file
26  *
27  */
28 
29 
30 #ifndef DCVRSH_H
31 #define DCVRSH_H
32 
33 #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
34 
35 #include "dcmtk/dcmdata/dcchrstr.h"
36 
37 
41  : public DcmCharString
42 {
43 
44  public:
45 
51  DcmShortString(const DcmTag &tag,
52  const Uint32 len = 0);
53 
57  DcmShortString(const DcmShortString &old);
58 
61  virtual ~DcmShortString();
62 
68 
72  virtual DcmObject *clone() const
73  {
74  return new DcmShortString(*this);
75  }
76 
89  virtual OFCondition copyFrom(const DcmObject& rhs);
90 
94  virtual DcmEVR ident() const;
95 
103  virtual OFCondition checkValue(const OFString &vm = "1-n",
104  const OFBool oldFormat = OFFalse);
105 
112  virtual OFCondition getOFString(OFString &stringVal,
113  const unsigned long pos,
114  OFBool normalize = OFTrue);
115 
116  /* --- static helper functions --- */
117 
126  static OFCondition checkStringValue(const OFString &value,
127  const OFString &vm = "1-n");
128 };
129 
130 
131 #endif // DCVRSH_H
132 
133 
134 /*
135 ** CVS/RCS Log:
136 ** $Log: dcvrsh.h,v $
137 ** Revision 1.23 2010-11-05 09:34:11 joergr
138 ** Added support for checking the value multiplicity "9" (see Supplement 131).
139 **
140 ** Revision 1.22 2010-10-14 13:15:43 joergr
141 ** Updated copyright header. Added reference to COPYRIGHT file.
142 **
143 ** Revision 1.21 2010-04-23 15:26:13 joergr
144 ** Specify an appropriate default value for the "vm" parameter of checkValue().
145 **
146 ** Revision 1.20 2010-04-23 14:25:27 joergr
147 ** Added new method to all VR classes which checks whether the stored value
148 ** conforms to the VR definition and to the specified VM.
149 **
150 ** Revision 1.19 2010-04-22 09:31:30 joergr
151 ** Revised misleading parameter documentation for the checkValue() method.
152 **
153 ** Revision 1.18 2010-04-22 08:59:10 joergr
154 ** Added support for further VM values ("1-8", "1-99", "16", "32") to be checked.
155 **
156 ** Revision 1.17 2009-08-03 09:05:30 joergr
157 ** Added methods that check whether a given string value conforms to the VR and
158 ** VM definitions of the DICOM standards.
159 **
160 ** Revision 1.16 2008-07-17 11:19:49 onken
161 ** Updated copyFrom() documentation.
162 **
163 ** Revision 1.15 2008-07-17 10:30:23 onken
164 ** Implemented copyFrom() method for complete DcmObject class hierarchy, which
165 ** permits setting an instance's value from an existing object. Implemented
166 ** assignment operator where necessary.
167 **
168 ** Revision 1.14 2005-12-08 16:29:07 meichel
169 ** Changed include path schema for all DCMTK header files
170 **
171 ** Revision 1.13 2004/07/01 12:28:25 meichel
172 ** Introduced virtual clone method for DcmObject and derived classes.
173 **
174 ** Revision 1.12 2002/12/06 12:49:18 joergr
175 ** Enhanced "print()" function by re-working the implementation and replacing
176 ** the boolean "showFullData" parameter by a more general integer flag.
177 ** Added doc++ documentation.
178 ** Made source code formatting more consistent with other modules/files.
179 **
180 ** Revision 1.11 2002/04/25 09:56:48 joergr
181 ** Removed getOFStringArray() implementation.
182 **
183 ** Revision 1.10 2001/09/25 17:19:33 meichel
184 ** Adapted dcmdata to class OFCondition
185 **
186 ** Revision 1.9 2001/06/01 15:48:52 meichel
187 ** Updated copyright header
188 **
189 ** Revision 1.8 2000/03/08 16:26:25 meichel
190 ** Updated copyright header.
191 **
192 ** Revision 1.7 1999/03/31 09:25:05 meichel
193 ** Updated copyright header in module dcmdata
194 **
195 ** Revision 1.6 1998/11/12 16:47:53 meichel
196 ** Implemented operator= for all classes derived from DcmObject.
197 **
198 ** Revision 1.5 1997/09/11 15:13:16 hewett
199 ** Modified getOFString method arguments by removing a default value
200 ** for the pos argument. By requiring the pos argument to be provided
201 ** ensures that callers realise getOFString only gets one component of
202 ** a multi-valued string.
203 **
204 ** Revision 1.4 1997/08/29 08:32:44 andreas
205 ** - Added methods getOFString and getOFStringArray for all
206 ** string VRs. These methods are able to normalise the value, i. e.
207 ** to remove leading and trailing spaces. This will be done only if
208 ** it is described in the standard that these spaces are not relevant.
209 ** These methods do not test the strings for conformance, this means
210 ** especially that they do not delete spaces where they are not allowed!
211 ** getOFStringArray returns the string with all its parts separated by \
212 ** and getOFString returns only one value of the string.
213 ** CAUTION: Currently getString returns a string with trailing
214 ** spaces removed (if dcmEnableAutomaticInputDataCorrection == OFTrue) and
215 ** truncates the original string (since it is not copied!). If you rely on this
216 ** behaviour please change your application now.
217 ** Future changes will ensure that getString returns the original
218 ** string from the DICOM object (NULL terminated) inclusive padding.
219 ** Currently, if you call getOF... before calling getString without
220 ** normalisation, you can get the original string read from the DICOM object.
221 **
222 ** Revision 1.3 1996/01/05 13:23:08 andreas
223 ** - changed to support new streaming facilities
224 ** - more cleanups
225 ** - merged read / write methods for block and file transfer
226 **
227 */
virtual OFCondition checkValue(const OFString &vm="1-n", const OFBool oldFormat=OFFalse)
check whether stored value conforms to the VR and to the specified VM
DcmShortString(const DcmTag &tag, const Uint32 len=0)
constructor.
virtual DcmObject * clone() const
clone method
Definition: dcvrsh.h:72
this class encapsulates an attribute tag (group, element) and a VR.
Definition: dctag.h:50
Abstract base class for most classes in module dcmdata.
Definition: dcobject.h:179
base class for DICOM elements with value representation LO, LT, PN, SH, ST, UT
Definition: dcchrstr.h:53
virtual OFCondition copyFrom(const DcmObject &rhs)
Virtual object copying.
a class representing the DICOM value representation 'Short String' (SH)
Definition: dcvrsh.h:40
DcmShortString & operator=(const DcmShortString &obj)
assignment operator
virtual ~DcmShortString()
destructor
virtual OFCondition getOFString(OFString &stringVal, const unsigned long pos, OFBool normalize=OFTrue)
get a copy of a particular string component
a simple string class that implements a subset of std::string.
Definition: ofstring.h:86
static OFCondition checkStringValue(const OFString &value, const OFString &vm="1-n")
check whether given string value conforms to the VR "SH" (Short String) and to the specified VM...
virtual DcmEVR ident() const
get element type identifier
General purpose class for condition codes.
Definition: ofcond.h:305


Generated on Wed Dec 28 2016 for OFFIS DCMTK Version 3.6.0 by Doxygen 1.8.8