OFFIS DCMTK  Version 3.6.0
dcpcache.h
1 /*
2  *
3  * Copyright (C) 1994-2010, OFFIS e.V.
4  * All rights reserved. See COPYRIGHT file for details.
5  *
6  * This software and supporting documentation were developed by
7  *
8  * OFFIS e.V.
9  * R&D Division Health
10  * Escherweg 2
11  * D-26121 Oldenburg, Germany
12  *
13  *
14  * Module: dcmdata
15  *
16  * Author: Marco Eichelberg
17  *
18  * Purpose: class DcmPrivateTagCache
19  *
20  * Last Update: $Author: joergr $
21  * Update Date: $Date: 2010-10-14 13:15:41 $
22  * CVS/RCS Revision: $Revision: 1.5 $
23  * Status: $State: Exp $
24  *
25  * CVS/RCS Log at end of file
26  *
27  */
28 
29 #ifndef DCPCACHE_H
30 #define DCPCACHE_H
31 
32 #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
33 #include "dcmtk/ofstd/oftypes.h" /* for OFBool */
34 #include "dcmtk/ofstd/oflist.h" /* for OFList */
35 #include "dcmtk/ofstd/ofstring.h" /* for OFString */
36 #include "dcmtk/dcmdata/dctagkey.h" /* for DcmTagKey */
37 
38 class DcmObject;
39 
43 {
44 public:
49  DcmPrivateTagCacheEntry(const DcmTagKey& tk, const char *pc);
50 
52  virtual ~DcmPrivateTagCacheEntry();
53 
56  const char *getPrivateCreator() const;
57 
64  OFBool isPrivateCreatorFor(const DcmTagKey& tk) const;
65 
66 private:
67 
70 
73 
76 
79 };
80 
81 
86 {
87 public:
90 
92  virtual ~DcmPrivateTagCache();
93 
95  void clear();
96 
101  const char *findPrivateCreator(const DcmTagKey& tk) const;
102 
108  void updateCache(DcmObject *dobj);
109 
110 private:
111 
114 
117 
120 };
121 
122 #endif
123 
124 /*
125  * CVS/RCS Log:
126  * $Log: dcpcache.h,v $
127  * Revision 1.5 2010-10-14 13:15:41 joergr
128  * Updated copyright header. Added reference to COPYRIGHT file.
129  *
130  * Revision 1.4 2009-11-04 09:58:07 uli
131  * Switched to logging mechanism provided by the "new" oflog module
132  *
133  * Revision 1.3 2005-12-08 16:28:29 meichel
134  * Changed include path schema for all DCMTK header files
135  *
136  * Revision 1.2 2004/10/20 15:56:13 meichel
137  * Changed private inheritance from OFList to class member,
138  * needed for compilation with HAVE_STL.
139  *
140  * Revision 1.1 2002/07/23 14:21:27 meichel
141  * Added support for private tag data dictionaries to dcmdata
142  *
143  *
144  */
class maintaining a attribute tag (group and element number)
Definition: dctagkey.h:46
void clear()
resets the cache to default-constructed state
DcmPrivateTagCache()
default constructor
OFString privateCreator
the private creator name
Definition: dcpcache.h:78
class handling one entry of the Private Tag Cache List
Definition: dcpcache.h:42
DcmPrivateTagCacheEntry(const DcmTagKey &tk, const char *pc)
constructor
OFList< DcmPrivateTagCacheEntry * > list_
the list
Definition: dcpcache.h:119
Abstract base class for most classes in module dcmdata.
Definition: dcobject.h:179
const char * getPrivateCreator() const
returns the private creator name
void updateCache(DcmObject *dobj)
updates the private creator cache with the given object.
virtual ~DcmPrivateTagCache()
destructor
this class implements a cache of Private Creator elements and corresponding reserved tag numbers...
Definition: dcpcache.h:85
DcmTagKey tagKey
the tag key of the private creator element
Definition: dcpcache.h:75
const char * findPrivateCreator(const DcmTagKey &tk) const
looks up the private creator name for the given private tag
DcmPrivateTagCache & operator=(const DcmPrivateTagCache &)
private undefined copy assignment operator
DcmPrivateTagCacheEntry & operator=(const DcmPrivateTagCacheEntry &)
private undefined copy assignment operator
a simple string class that implements a subset of std::string.
Definition: ofstring.h:86
virtual ~DcmPrivateTagCacheEntry()
destructor
OFBool isPrivateCreatorFor(const DcmTagKey &tk) const
checks if this element is the private creator for the element with the given tag key ...


Generated on Thu Aug 27 2015 for OFFIS DCMTK Version 3.6.0 by Doxygen 1.8.9.1