32 #include "dcmtk/config/osconfig.h" 33 #include "dcmtk/dcmdata/dctagkey.h" 34 #include "dcmtk/dcmdata/dcvr.h" 36 #define INCLUDE_CSTRING 37 #include "dcmtk/ofstd/ofstdinc.h" 40 #define DcmVariableVM -1 42 #define DCM_INRANGE(x,a,b) (((x) >= (a)) && ((x) <= (b))) 43 #define DCM_IS_ODD(x) (((x) % 2) == 1) 44 #define DCM_IS_EVEN(x) (((x) % 2) == 0) 49 enum DcmDictRangeRestriction
52 DcmDictRange_Unspecified,
81 const char* nam,
int vmMin,
int vmMax,
82 const char* vers, OFBool doCopyStrings,
83 const char* pcreator);
99 const char* nam,
int vmMin,
int vmMax,
100 const char* vers, OFBool doCopyStrings,
101 const char* pcreator);
239 return * OFstatic_cast(
const DcmTagKey *,
this);
301 DCM_IS_ODD(key.getGroup()))
304 DCM_IS_EVEN(key.getGroup()))
307 DCM_IS_ODD(key.getElement()))
310 DCM_IS_EVEN(key.getElement()))
318 if (!found && groupMatches && privCreator)
330 return !strcmp(
tagName, name );
Uint16 getUpperGroup() const
returns upper limit for tag group
Uint16 getElement() const
returns element number
class maintaining a attribute tag (group and element number)
OFBool isFixedRangeVM() const
returns true if element has a fixed VM range
OFBool isFixedSingleVM() const
returns true if element has a single valid VM value
int privateCreatorMatch(const char *c) const
checks if the private creator code equals the given string
DcmDictRangeRestriction groupRangeRestriction
restriction (even, odd, unrestricted) for group range
DcmVR getVR() const
returns VR object by value
OFBool stringsAreCopies
true if strings are copies (i.e. should be deleted upon destruction)
int getVMMin() const
returns lower limit for VM (value multiplicity)
DcmTagKey upperKey
upper limit of repeating group and element (lower limit is inherited from DcmTagKey) ...
void setUpper(const DcmTagKey &key)
converts entry into repeating tag entry by defining an upper limit for group and element, taken from the given tag key.
each object of this class manages one entry of the global DICOM data dictionary.
Uint16 getGroup() const
returns group number
~DcmDictEntry()
destructor
int subset(const DcmDictEntry &e) const
checks if this entry describes a true subset of tag range described by the given entry.
int privateCreatorMatch(const DcmDictEntry &arg) const
checks if the private creator code of this object matches the one of the given object.
DcmVR valueRepresentation
value representation
DcmDictEntry(Uint16 g, Uint16 e, DcmVR vr, const char *nam, int vmMin, int vmMax, const char *vers, OFBool doCopyStrings, const char *pcreator)
constructor
DcmDictEntry & operator=(const DcmDictEntry &)
private undefined copy assignment operator
friend STD_NAMESPACE ostream & operator<<(STD_NAMESPACE ostream &s, const DcmDictEntry &e)
friend operator<<
const char * tagName
attribute name
DcmTagKey getKey() const
returns attribute tag as DcmTagKey object by value
a class representing a DICOM Value Representation
int isRepeatingGroup() const
returns true if entry is has a repeating group
DcmEVR getEVR() const
returns VR code
int valueMultiplicityMax
upper limit for VM
int isRepeatingElement() const
returns true if entry is has a repeating element
DcmDictRangeRestriction elementRangeRestriction
restriction (even, odd, unrestricted) for element range
void setGroup(Uint16 g)
set group to given number
const char * getPrivateCreator() const
returns private creator code, may be NULL
const char * getStandardVersion() const
returns standard version string, may be NULL
Uint16 getUpperElement() const
returns upper limit for tag element
void setUpperElement(Uint16 ue)
converts entry into repeating tag entry by defining an upper limit for tag element ...
int isRepeating() const
returns true if entry is repeating (group or element)
int setEQ(const DcmDictEntry &e) const
checks if this entry describes the same tag range as the given entry.
DcmDictRangeRestriction getElementRangeRestriction() const
returns element range restriction
int valueMultiplicityMin
lower limit for VM
void setElement(Uint16 e)
set element to given number
const char * standardVersion
standard version name, may be NULL
int getVMMax() const
returns upper limit for VM (value multiplicity), DcmVariableVM for unlimited
const char * getTagName() const
returns tag name
DcmEVR getEVR() const
get enumerated VR managed by this object
int contains(const DcmTagKey &key, const char *privCreator) const
checks if the given tag key and private creator code are covered by this object.
const char * privateCreator
private creator name, may be NULL
DcmTagKey getUpperKey() const
returns upper limits for attribute tag as DcmTagKey object by value
void setGroupRangeRestriction(DcmDictRangeRestriction rr)
sets group range restriction
OFBool isVariableRangeVM() const
returns true if element has a variable VM range (no upper limit)
void setUpperGroup(Uint16 ug)
converts entry into repeating tag entry by defining an upper limit for tag group
DcmDictRangeRestriction getGroupRangeRestriction() const
returns group range restriction
void setElementRangeRestriction(DcmDictRangeRestriction rr)
sets element range restriction
int contains(const char *name) const
checks if this entry contains the given name