GDCM 3.0.24
gdcmDecoder.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: GDCM (Grassroots DICOM). A DICOM library
4
5 Copyright (c) 2006-2011 Mathieu Malaterre
6 All rights reserved.
7 See Copyright.txt or http://gdcm.sourceforge.net/Copyright.html for details.
8
9 This software is distributed WITHOUT ANY WARRANTY; without even
10 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11 PURPOSE. See the above copyright notice for more information.
12
13=========================================================================*/
14
15#ifndef GDCMDECODER_H
16#define GDCMDECODER_H
17
18#include "gdcmTypes.h"
19#include "gdcmDataElement.h" // FIXME
20
21namespace gdcm
22{
23
24class TransferSyntax;
25class DataElement;
30{
31public:
32 virtual ~Decoder() = default;
33
35 virtual bool CanDecode(TransferSyntax const &) const = 0;
36
38 virtual bool Decode(DataElement const &, DataElement &) { return false; }
39protected:
40 virtual bool DecodeByStreams(std::istream &, std::ostream &) { return false; }
41};
42
43} // end namespace gdcm
44
45#endif //GDCMDECODER_H
Class to represent a Data Element either Implicit or Explicit.
Definition gdcmDataElement.h:59
Decoder.
Definition gdcmDecoder.h:30
virtual ~Decoder()=default
virtual bool Decode(DataElement const &, DataElement &)
Decode.
Definition gdcmDecoder.h:38
virtual bool DecodeByStreams(std::istream &, std::ostream &)
Definition gdcmDecoder.h:40
virtual bool CanDecode(TransferSyntax const &) const =0
Return whether this decoder support this transfer syntax (can decode it)
Class to manipulate Transfer Syntax.
Definition gdcmTransferSyntax.h:40
#define GDCM_EXPORT
Definition gdcmWin32.h:34
Definition gdcmASN1.h:21