GDCM  2.0.18
gdcmExplicitImplicitDataElement.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program: GDCM (Grassroots DICOM). A DICOM library
00004 
00005   Copyright (c) 2006-2011 Mathieu Malaterre
00006   All rights reserved.
00007   See Copyright.txt or http://gdcm.sourceforge.net/Copyright.html for details.
00008 
00009      This software is distributed WITHOUT ANY WARRANTY; without even
00010      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00011      PURPOSE.  See the above copyright notice for more information.
00012 
00013 =========================================================================*/
00014 #ifndef GDCMEXPLICITIMPLICITDATAELEMENT_H
00015 #define GDCMEXPLICITIMPLICITDATAELEMENT_H
00016 
00017 #include "gdcmDataElement.h"
00018 
00019 namespace gdcm
00020 {
00021 // Data Element (ExplicitImplicit)
00029 class GDCM_EXPORT ExplicitImplicitDataElement : public DataElement
00030 {
00031 public:
00032   VL GetLength() const;
00033 
00034   template <typename TSwap>
00035   std::istream &Read(std::istream &is);
00036 
00037   template <typename TSwap>
00038   std::istream &ReadPreValue(std::istream &is);
00039 
00040   template <typename TSwap>
00041   std::istream &ReadValue(std::istream &is);
00042 
00043   template <typename TSwap>
00044   std::istream &ReadWithLength(std::istream &is, VL & length)
00045     {
00046     return Read<TSwap>(is); (void)length;
00047     }
00048 
00049   // PURPOSELY do not provide an implementation for writing !
00050   //template <typename TSwap>
00051   //const std::ostream &Write(std::ostream &os) const;
00052 };
00053 
00054 } // end namespace gdcm
00055 
00056 #include "gdcmExplicitImplicitDataElement.txx"
00057 
00058 #endif //GDCMEXPLICITIMPLICITDATAELEMENT_H

Generated on Tue Dec 6 2011 07:25:31 for GDCM by doxygen 1.7.5.1
SourceForge.net Logo