LRAUV  revA
MapEntry.h
Go to the documentation of this file.
1 
9 #ifndef MAPENTRY_H_
10 #define MAPENTRY_H_
11 
17 template <typename S, typename T>
18 class MapEntry
19 {
20 public:
21  MapEntry( S& key, T item, bool deleteOnCleanup = false )
22  : key_( key ),
23  item_( item ),
24  deleteOnCleanup_( deleteOnCleanup )
25  {}
26  ;
27  virtual ~MapEntry()
28  {
29  if( deleteOnCleanup_ && NULL != item_ )
30  {
31  delete item_;
32  }
33  }
34  ;
35  virtual S& getKey()
36  {
37  return key_;
38  };
39  virtual T getItem()
40  {
41  return item_;
42  };
43  virtual void setItem( T item )
44  {
45  item_ = item;
46  };
47 private:
48  // Note that the copy constructor below is private and not given a body.
49  // Any attempt to call it will return a compiler error.
50  MapEntry( const MapEntry& old ); // disallow copy constructor
51  S key_;
52  T item_;
54 };
55 
56 #endif /*MAPENTRY_H_*/
bool deleteOnCleanup_
Definition: MapEntry.h:53
Wraps an key/value pair in a FastMap.
Definition: MapEntry.h:18
virtual T getItem()
Definition: MapEntry.h:39
MapEntry(S &key, T item, bool deleteOnCleanup=false)
Definition: MapEntry.h:21
virtual ~MapEntry()
Definition: MapEntry.h:27
S key_
Definition: MapEntry.h:51
virtual void setItem(T item)
Definition: MapEntry.h:43
virtual S & getKey()
Definition: MapEntry.h:35
T item_
Definition: MapEntry.h:52