GDCM 3.2.1

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
21 namespace gdcm
22{
23
24 class TransferSyntax;
25 class DataElement;
29 class GDCM_EXPORT Decoder
30{
31 public:
32 virtual ~Decoder() = default;
33
35 virtual bool CanDecode(TransferSyntax const &) const = 0;
36
38 virtual bool Decode(DataElement const &, DataElement &) { return false; }
39 protected:
40 virtual bool DecodeByStreams(std::istream &, std::ostream &) { return false; }
41};
42
43} // end namespace gdcm
44
45#endif //GDCMDECODER_H
gdcm::DataElement
Class to represent a Data Element either Implicit or Explicit.
Definition gdcmDataElement.h:59
gdcm::Decoder
Decoder.
Definition gdcmDecoder.h:30
gdcm::Decoder::~Decoder
virtual ~Decoder()=default
gdcm::Decoder::Decode
virtual bool Decode(DataElement const &, DataElement &)
Decode.
Definition gdcmDecoder.h:38
gdcm::Decoder::DecodeByStreams
virtual bool DecodeByStreams(std::istream &, std::ostream &)
Definition gdcmDecoder.h:40
gdcm::Decoder::CanDecode
virtual bool CanDecode(TransferSyntax const &) const =0
Return whether this decoder support this transfer syntax (can decode it)
gdcm::TransferSyntax
Class to manipulate Transfer Syntax.
Definition gdcmTransferSyntax.h:40
gdcmDataElement.h
gdcmTypes.h
GDCM_EXPORT
#define GDCM_EXPORT
Definition gdcmWin32.h:34
gdcm
Definition gdcmASN1.h:21