13 #ifndef DCM_TREE_DICT_H
14 #define DCM_TREE_DICT_H
21 #pragma warning (push)
22 #pragma warning (disable : 4251 4350)
34 class LoadLibraryDelegate;
83 virtual std::string
name (
const TagId &tagid)
const = 0;
121 inline bool isTagIdKnown (
const TagId &tagIdParam)
const {
return hasInfoForTagId(tagIdParam); }
122 inline bool isTagNameKnown(
const std::string &tagName)
const {
return hasInfoForTagName(tagName); }
127 virtual std::vector<std::string>
allNormalTagNames()
const {
return std::vector<std::string>(); }
139 #pragma warning (pop)
static void setSingleton(Const_DictPtr singleton)
The concrete singleton is set by the implementing DLL.
virtual std::vector< std::string > allNormalTagNames() const
Returns a list of all known normal (i.e., non-repeating) tag names, e.g., for completion in tools.
virtual void postInitialize() const
Performs some initialization after the implementing DLL has been loaded.
bool isTagIdKnown(const TagId &tagIdParam) const
Convenience methods that call hasInfoForTagId() or hasInfoForTagName().
virtual std::string transferSyntaxUID(TransferSyntax transfersyntax) const =0
Converts the enum to its UID.
virtual TagId tagId(const std::string &name) const
Returns the tag ID for the given name.
virtual TagInfo info(const std::string &name) const =0
Method to be implemented by child classes to provide information about a tag with the given name.
bool isTagNameKnown(const std::string &tagName) const
virtual Vr vr(const TagId &tagid) const
Returns the DICOM VR of the given tag.
virtual TagValueMultiplicity multiplicity(const TagId &tagid) const
Returns the multiplicity (min/max) of values of the given tag.
virtual TagInfo info(const TagId &tagid) const =0
Method to be implemented by child classes to provide information about a given tag.
static Const_DictPtr singleton(DCMTree_Utils::LoadLibraryDelegate *delegate=nullptr)
Returns the singleton.
virtual ~Dict()
Destructor.
virtual bool hasInfoForTagId(const TagId &tagId) const =0
Method to check whether a TagInfo exists for the given tag ID.
virtual std::string name(const TagId &tagid) const =0
Returns the name of the given tag.
virtual bool hasInfoForTagName(const std::string &tagName) const =0
Method to check whether a TagInfo exists for the given tag name.
Class to carry meta information about a specific tag.
The delegate that is responsible for loading the specific DICOM library.
Dictionary class to provide DICOM meta information.
Class to dump a DCMTree DICOM message into a human-readable file.
TransferSyntax
DICOM transfer syntaxes.
boost::shared_ptr< const Dict > Const_DictPtr
std::pair< unsigned, unsigned > TagValueMultiplicity
The multiplicity of a tag, first=min second=max.
boost::shared_ptr< Dict > DictPtr
Shared pointer to a DCMTree::Dict.