00001 /* 00002 * 00003 * Copyright (C) 1994-2005, OFFIS 00004 * 00005 * This software and supporting documentation were developed by 00006 * 00007 * Kuratorium OFFIS e.V. 00008 * Healthcare Information and Communication Systems 00009 * Escherweg 2 00010 * D-26121 Oldenburg, Germany 00011 * 00012 * THIS SOFTWARE IS MADE AVAILABLE, AS IS, AND OFFIS MAKES NO WARRANTY 00013 * REGARDING THE SOFTWARE, ITS PERFORMANCE, ITS MERCHANTABILITY OR 00014 * FITNESS FOR ANY PARTICULAR USE, FREEDOM FROM ANY COMPUTER DISEASES OR 00015 * ITS CONFORMITY TO ANY SPECIFICATION. THE ENTIRE RISK AS TO QUALITY AND 00016 * PERFORMANCE OF THE SOFTWARE IS WITH THE USER. 00017 * 00018 * Module: dcmdata 00019 * 00020 * Author: Andreas Barth 00021 * 00022 * Purpose: Interface of class DcmCharString 00023 * 00024 * Last Update: $Author: meichel $ 00025 * Update Date: $Date: 2005/12/08 16:28:00 $ 00026 * Source File: $Source: /share/dicom/cvs-depot/dcmtk/dcmdata/include/dcmtk/dcmdata/dcchrstr.h,v $ 00027 * CVS/RCS Revision: $Revision: 1.10 $ 00028 * Status: $State: Exp $ 00029 * 00030 * CVS/RCS Log at end of file 00031 * 00032 */ 00033 00034 00035 #ifndef DCCHRSTR_H 00036 #define DCCHRSTR_H 00037 00038 #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ 00039 00040 // 00041 // This implementation does not support 16 bit character sets. Since 8 bit 00042 // character sets are supported by the class DcmByteString the class 00043 // DcmCharString is derived from DcmByteString without any extensions. 00044 // 00045 // If the extension for 16 bit character sets will be implemented this class 00046 // must be derived directly from DcmElement. This class is designed to support 00047 // the value representations (LO, LT, PN, SH, ST, UT). They are a problem because 00048 // their value width (1, 2, .. Bytes) is specified by the element 00049 // SpecificCharacterSet (0008, 0005) and an implementation must support 00050 // different value widths that cannot be derived from the value representation. 00051 // 00052 00053 #include "dcmtk/dcmdata/dcbytstr.h" 00054 00055 00058 class DcmCharString 00059 : public DcmByteString 00060 { 00061 00062 public: 00063 00069 DcmCharString(const DcmTag &tag, 00070 const Uint32 len); 00071 00075 DcmCharString(const DcmCharString &old); 00076 00079 virtual ~DcmCharString(); 00080 00085 DcmCharString &operator=(const DcmCharString &obj); 00086 00090 virtual DcmObject *clone() const 00091 { 00092 return new DcmCharString(*this); 00093 } 00094 00095 }; 00096 00097 00098 #endif // DCCHRSTR_H 00099 00100 00101 /* 00102 * CVS/RCS Log: 00103 * $Log: dcchrstr.h,v $ 00104 * Revision 1.10 2005/12/08 16:28:00 meichel 00105 * Changed include path schema for all DCMTK header files 00106 * 00107 * Revision 1.9 2004/07/01 12:28:25 meichel 00108 * Introduced virtual clone method for DcmObject and derived classes. 00109 * 00110 * Revision 1.8 2002/12/06 12:49:08 joergr 00111 * Enhanced "print()" function by re-working the implementation and replacing 00112 * the boolean "showFullData" parameter by a more general integer flag. 00113 * Added doc++ documentation. 00114 * Made source code formatting more consistent with other modules/files. 00115 * 00116 * Revision 1.7 2001/06/01 15:48:33 meichel 00117 * Updated copyright header 00118 * 00119 * Revision 1.6 2000/03/08 16:26:11 meichel 00120 * Updated copyright header. 00121 * 00122 * Revision 1.5 1999/03/31 09:24:30 meichel 00123 * Updated copyright header in module dcmdata 00124 * 00125 * 00126 */