/usr/include/gdcm-2.6/gdcmUNExplicitImplicitDataElement.txx is in libgdcm2-dev 2.6.3-3ubuntu3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | /*=========================================================================
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 GDCMUNEXPLICITIMPLICITDATAELEMENT_TXX
#define GDCMUNEXPLICITIMPLICITDATAELEMENT_TXX
#include "gdcmSequenceOfItems.h"
#include "gdcmSequenceOfFragments.h"
#include "gdcmVL.h"
#include "gdcmUNExplicitDataElement.h"
#include "gdcmImplicitDataElement.h"
#include "gdcmValueIO.h"
#include "gdcmSwapper.h"
namespace gdcm
{
//-----------------------------------------------------------------------------
template <typename TSwap>
std::istream &UNExplicitImplicitDataElement::Read(std::istream &is)
{
ReadPreValue<TSwap>(is);
return ReadValue<TSwap>(is);
}
template <typename TSwap>
std::istream &UNExplicitImplicitDataElement::ReadPreValue(std::istream &is)
{
assert(0);
//DataElement &de = *this;//unused de, fires a warning on macos
//de.template ReadPreValue<UNExplicitDataElement,TSwap>( is );
return is;
}
template <typename TSwap>
std::istream &UNExplicitImplicitDataElement::ReadValue(std::istream &is)
{
if( is.eof() ) return is;
DataElement &de = *this;
try
{
//de.template ReadValue<UNExplicitDataElement,TSwap>( is );
}
catch(ParseException &ex)
{
de.SetVR( VR::INVALID ); // EXTREMELY IMPORTANT !
if( ex.GetLastElement().GetTag() == Tag(0xfffe,0xe0dd) )
{
// We have never read the 2 bytes for the VR, since exception raised earlier
is.seekg( -4, std::ios::cur );
}
else
{
is.seekg( -6, std::ios::cur );
}
//de.template ReadValue<ImplicitDataElement,TSwap>( is );
}
return is;
}
} // end namespace gdcm
#endif // GDCMUNEXPLICITIMPLICITDATAELEMENT_TXX
|