gdcmIOD.h
Go to the documentation of this file.
/*=========================================================================
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 GDCMIOD_H
#define GDCMIOD_H
#include "gdcmTypes.h"
#include "gdcmTag.h"
#include "gdcmIODEntry.h"
#include <vector>
namespace gdcm
{
class DataSet;
class Defs;
class GDCM_EXPORT IOD
{
public:
typedef std::vector<IODEntry> MapIODEntry;
typedef MapIODEntry::size_type SizeType;
IOD() = default;
friend std::ostream& operator<<(std::ostream& _os, const IOD &_val);
void Clear() { IODInternal.clear(); }
void AddIODEntry(const IODEntry & iode)
{
IODInternal.push_back(iode);
}
SizeType GetNumberOfIODs() const {
return IODInternal.size();
}
const IODEntry& GetIODEntry(SizeType idx) const
{
return IODInternal[idx];
}
Type GetTypeFromTag(const Defs &defs, const Tag& tag) const;
private:
//IOD &operator=(const IOD &_val); // purposely not implemented
//IOD(const IOD &_val); // purposely not implemented
MapIODEntry IODInternal;
};
//-----------------------------------------------------------------------------
inline std::ostream& operator<<(std::ostream& _os, const IOD &_val)
{
IOD::MapIODEntry::const_iterator it = _val.IODInternal.begin();
for(;it != _val.IODInternal.end(); ++it)
{
_os << *it << '\n';
}
return _os;
}
} // end namespace gdcm
#endif //GDCMIOD_H
gdcm::DataSet
Class to represent a Data Set (which contains Data Elements).
Definition gdcmDataSet.h:56
gdcm::Defs
FIXME I do not like the name 'Defs'.
Definition gdcmDefs.h:33
gdcm::IODEntry
Class for representing a IODEntry.
Definition gdcmIODEntry.h:52
gdcm::IOD::AddIODEntry
void AddIODEntry(const IODEntry &iode)
Definition gdcmIOD.h:45
gdcm::IOD::GetIODEntry
const IODEntry & GetIODEntry(SizeType idx) const
Definition gdcmIOD.h:54
gdcm::IOD::MapIODEntry
std::vector< IODEntry > MapIODEntry
Definition gdcmIOD.h:37
gdcm::IOD::operator<<
friend std::ostream & operator<<(std::ostream &_os, const IOD &_val)
Definition gdcmIOD.h:68
gdcm::IOD::Clear
void Clear()
Definition gdcmIOD.h:43
gdcm::IOD::SizeType
MapIODEntry::size_type SizeType
Definition gdcmIOD.h:38
gdcm::IOD::GetTypeFromTag
Type GetTypeFromTag(const Defs &defs, const Tag &tag) const
gdcm::IOD::IOD
IOD()=default
gdcm::IOD::GetNumberOfIODs
SizeType GetNumberOfIODs() const
Definition gdcmIOD.h:50
gdcm::Tag
Class to represent a DICOM Data Element (Attribute) Tag (Group, Element).
Definition gdcmTag.h:39
gdcm::Type
Type.
Definition gdcmType.h:42
gdcmIODEntry.h
gdcmTag.h
gdcmTypes.h
GDCM_EXPORT
#define GDCM_EXPORT
Definition gdcmWin32.h:34
gdcm
Definition gdcmASN1.h:21
gdcm::operator<<
std::ostream & operator<<(std::ostream &os, const Directory &d)
Definition gdcmDirectory.h:88