
| Current Path : /usr/include/gdcm-3.0/ |
Linux ift1.ift-informatik.de 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 |
| Current File : //usr/include/gdcm-3.0/gdcmDicts.h |
/*=========================================================================
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 GDCMDICTS_H
#define GDCMDICTS_H
#include "gdcmDict.h"
#include "gdcmCSAHeaderDict.h"
#include <string>
namespace gdcm
{
/**
* \brief Class to manipulate the sum of knowledge (all the dict user load)
* \note bla
*/
class GDCM_EXPORT Dicts
{
friend std::ostream& operator<<(std::ostream &_os, const Dicts &d);
public:
Dicts();
~Dicts();
Dicts &operator=(const Dicts &_val) = delete;
Dicts(const Dicts &_val) = delete;
/// works for both public and private dicts:
/// owner is null for public dict
/// \warning owner need to be set to appropriate owner for call to work. see
// DataSet::GetPrivateCreator
/// NOT THREAD SAFE
const DictEntry &GetDictEntry(const Tag& tag, const char *owner = nullptr) const;
const DictEntry &GetDictEntry(const PrivateTag& tag) const;
//enum PublicTypes {
// DICOMV3_DICT,
// ACRNEMA_DICT,
// NIH_DICT
//};
const Dict &GetPublicDict() const;
const PrivateDict &GetPrivateDict() const;
PrivateDict &GetPrivateDict();
const CSAHeaderDict &GetCSAHeaderDict() const;
bool IsEmpty() const { return GetPublicDict().IsEmpty(); }
protected:
typedef enum {
PHILIPS,
GEMS,
SIEMENS
// ...
} ConstructorType;
static const char *GetConstructorString(ConstructorType type);
friend class Global;
void LoadDefaults();
private:
// Public dict:
Dict PublicDict;
// Private Dicts:
PrivateDict ShadowDict;
CSAHeaderDict CSADict;
};
//-----------------------------------------------------------------------------
inline std::ostream& operator<<(std::ostream &os, const Dicts &d)
{
(void)d;
return os;
}
} // end namespace gdcm
#endif //GDCMDICTS_H