+class GDCM_EXPORT DictEntry
+{
+public:
+ DictEntry(uint16_t group,
+ uint16_t element,
+ TagName const & vr = "Unknown",
+ TagName const & fourth = "Unknown",
+ TagName const & name = "Unknown");
+
+ static TagKey TranslateToKey(uint16_t group, uint16_t element);
+
+ void SetVR(TagName const & vr);
+
+ /// \brief tells if the V(alue) R(epresentation) is known (?!)
+ /// @return
+ bool IsVRUnknown() { return VR == "??"; }
+
+ /// \brief Returns the Dicom Group Number of the current DictEntry
+ /// @return the Dicom Group Number
+ uint16_t GetGroup() { return Group; }
+
+ /// \brief Returns the Dicom Element Number of the current DictEntry
+ /// @return the Dicom Element Number
+ uint16_t GetElement() { return Element; }
+
+ /// \brief Returns the Dicom Value Representation of the current
+ /// DictEntry
+ /// @return the Dicom Value Representation
+ const TagName & GetVR() const { return VR; }
+
+ /// \brief sets the key of the current DictEntry
+ /// @param k New key to be set.
+ void SetKey(TagName const & k) { Key = k; }
+
+ /// \brief returns the Fourth field of the current DictEntry
+ /// \warning NOT part of the Dicom Standard.
+ /// May be REMOVED an any time. NEVER use it.
+ /// @return The Fourth field
+ const TagName & GetFourth() const { return Fourth; }
+
+ /// \brief Returns the Dicom Name of the current DictEntry
+ /// e.g. "Patient Name" for Dicom Tag (0x0010, 0x0010)
+ /// @return the Dicom Name
+ const TagName & GetName() const { return Name; }
+
+ /// \brief Gets the key of the current DictEntry
+ /// @return the key.
+ const TagName & GetKey() const { return Key; }
+