dcmdata/include/dcmtk/dcmdata/dcvras.h

00001 /*
00002  *
00003  *  Copyright (C) 1994-2010, OFFIS e.V.
00004  *  All rights reserved.  See COPYRIGHT file for details.
00005  *
00006  *  This software and supporting documentation were developed by
00007  *
00008  *    OFFIS e.V.
00009  *    R&D Division Health
00010  *    Escherweg 2
00011  *    D-26121 Oldenburg, Germany
00012  *
00013  *
00014  *  Module:  dcmdata
00015  *
00016  *  Author:  Gerd Ehlers, Andreas Barth
00017  *
00018  *  Purpose: Interface of class DcmAgeString
00019  *
00020  *  Last Update:      $Author: joergr $
00021  *  Update Date:      $Date: 2010-11-05 09:34:11 $
00022  *  CVS/RCS Revision: $Revision: 1.19 $
00023  *  Status:           $State: Exp $
00024  *
00025  *  CVS/RCS Log at end of file
00026  *
00027  */
00028 
00029 
00030 #ifndef DCVRAS_H
00031 #define DCVRAS_H
00032 
00033 #include "dcmtk/config/osconfig.h"    /* make sure OS specific configuration is included first */
00034 
00035 #include "dcmtk/dcmdata/dcbytstr.h"
00036 
00037 
00040 class DcmAgeString
00041   : public DcmByteString
00042 {
00043 
00044   public:
00045 
00051     DcmAgeString(const DcmTag &tag,
00052                  const Uint32 len = 0);
00053 
00057     DcmAgeString(const DcmAgeString &old);
00058 
00061     virtual ~DcmAgeString(void);
00062 
00067     DcmAgeString &operator=(const DcmAgeString &obj);
00068 
00072     virtual DcmObject *clone() const
00073     {
00074       return new DcmAgeString(*this);
00075     }
00076 
00089     virtual OFCondition copyFrom(const DcmObject& rhs);
00090 
00094     virtual DcmEVR ident(void) const;
00095 
00103     virtual OFCondition checkValue(const OFString &vm = "1-n",
00104                                    const OFBool oldFormat = OFFalse);
00105 
00106     /* --- static helper functions --- */
00107 
00116     static OFCondition checkStringValue(const OFString &value,
00117                                         const OFString &vm = "1-n");
00118 };
00119 
00120 
00121 #endif // DCVRAS_H
00122 
00123 
00124 /*
00125 ** CVS/RCS Log:
00126 ** $Log: dcvras.h,v $
00127 ** Revision 1.19  2010-11-05 09:34:11  joergr
00128 ** Added support for checking the value multiplicity "9" (see Supplement 131).
00129 **
00130 ** Revision 1.18  2010-10-14 13:15:42  joergr
00131 ** Updated copyright header. Added reference to COPYRIGHT file.
00132 **
00133 ** Revision 1.17  2010-04-23 15:26:12  joergr
00134 ** Specify an appropriate default value for the "vm" parameter of checkValue().
00135 **
00136 ** Revision 1.16  2010-04-23 14:25:27  joergr
00137 ** Added new method to all VR classes which checks whether the stored value
00138 ** conforms to the VR definition and to the specified VM.
00139 **
00140 ** Revision 1.15  2010-04-22 09:31:30  joergr
00141 ** Revised misleading parameter documentation for the checkValue() method.
00142 **
00143 ** Revision 1.14  2010-04-22 08:59:10  joergr
00144 ** Added support for further VM values ("1-8", "1-99", "16", "32") to be checked.
00145 **
00146 ** Revision 1.13  2009-08-03 09:05:30  joergr
00147 ** Added methods that check whether a given string value conforms to the VR and
00148 ** VM definitions of the DICOM standards.
00149 **
00150 ** Revision 1.12  2008-07-17 11:19:49  onken
00151 ** Updated copyFrom() documentation.
00152 **
00153 ** Revision 1.11  2008-07-17 10:30:23  onken
00154 ** Implemented copyFrom() method for complete DcmObject class hierarchy, which
00155 ** permits setting an instance's value from an existing object. Implemented
00156 ** assignment operator where necessary.
00157 **
00158 ** Revision 1.10  2005-12-08 16:28:52  meichel
00159 ** Changed include path schema for all DCMTK header files
00160 **
00161 ** Revision 1.9  2004/07/01 12:28:25  meichel
00162 ** Introduced virtual clone method for DcmObject and derived classes.
00163 **
00164 ** Revision 1.8  2002/12/06 12:49:13  joergr
00165 ** Enhanced "print()" function by re-working the implementation and replacing
00166 ** the boolean "showFullData" parameter by a more general integer flag.
00167 ** Added doc++ documentation.
00168 ** Made source code formatting more consistent with other modules/files.
00169 **
00170 ** Revision 1.7  2001/06/01 15:48:48  meichel
00171 ** Updated copyright header
00172 **
00173 ** Revision 1.6  2000/03/08 16:26:21  meichel
00174 ** Updated copyright header.
00175 **
00176 ** Revision 1.5  1999/03/31 09:24:55  meichel
00177 ** Updated copyright header in module dcmdata
00178 **
00179 ** Revision 1.4  1998/11/12 16:47:45  meichel
00180 ** Implemented operator= for all classes derived from DcmObject.
00181 **
00182 ** Revision 1.3  1996/01/05 13:23:02  andreas
00183 ** - changed to support new streaming facilities
00184 ** - more cleanups
00185 ** - merged read / write methods for block and file transfer
00186 **
00187 */


Generated on 6 Jan 2011 for OFFIS DCMTK Version 3.6.0 by Doxygen 1.5.1