/*========================================================================= Program: GDCM (Grassroots DICOM). A DICOM library Copyright (c) 2006-2011 Mathieu Malaterre All rights reserved. See Copyright.txt or http://gdcm.sourceforge.net/Copyright.html for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the above copyright notice for more information. =========================================================================*/ #ifndef GDCMVR16EXPLICITDATAELEMENT_H #define GDCMVR16EXPLICITDATAELEMENT_H #include "gdcmDataElement.h" namespace gdcm { // Data Element (Explicit) /** * \brief Class to read/write a DataElement as Explicit Data Element * \note This class support 16 bits when finding an unknown VR: * For instance: * Siemens_CT_Sensation64_has_VR_RT.dcm */ class GDCM_EXPORT VR16ExplicitDataElement : public DataElement { public: VL GetLength() const; template std::istream &Read(std::istream &is); template std::istream &ReadPreValue(std::istream &is); template std::istream &ReadValue(std::istream &is, bool readvalues = true); template std::istream &ReadWithLength(std::istream &is, VL & length); // PURPOSELY do not provide an implementation for writing ! //template //const std::ostream &Write(std::ostream &os) const; }; } // end namespace gdcm #include "gdcmVR16ExplicitDataElement.txx" #endif //GDCMVR16EXPLICITDATAELEMENT_H