ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/branches/new_design/OOPSE-4/src/utils/TypeContainer.hpp
(Generate patch)

Comparing branches/new_design/OOPSE-4/src/utils/TypeContainer.hpp (file contents):
Revision 1760 by tim, Fri Nov 19 20:23:26 2004 UTC vs.
Revision 1832 by tim, Thu Dec 2 16:04:19 2004 UTC

# Line 36 | Line 36 | namespace oopse {
36  
37   #include <map>
38   #include <vector>
39 +
40 + #include "utils/Utility.hpp"
41 +
42   namespace oopse {
43  
44      /**
# Line 52 | Line 55 | namespace oopse {
55              typedef std::map<KeyType, ValueType> MapType;
56              typedef std::map<KeyType, ValueType>::iterator MapTypeIterator;
57  
58 <            TypeContainer() index_(0) {}
58 >            TypeContainer() : index_(0) {}
59              
60              ~TypeContainer() {
61                  MapTypeIterator i;
# Line 64 | Line 67 | namespace oopse {
67              
68              bool add(KeyType& keys, ElemPtr elem) {
69                  assert(keys.size() == SIZE);
70 <                return data_.insert(MapType::value_type(keys, make_pair(index_++,elem))).second;
70 >                return data_.insert(MapType::value_type(keys, std::make_pair(index_++,elem))).second;
71              }
72  
73              /** Exact Match */
# Line 75 | Line 78 | namespace oopse {
78                  
79                  i = data_.find(keys);
80                  if (i != data_.end()) {
81 <                    return (i->second).second
81 >                    return (i->second).second;
82                  }
83  
84                  KeyType reversedKeys = keys;
# Line 83 | Line 86 | namespace oopse {
86  
87                  i = data_.find(keys);
88                  if (i != data_.end()) {
89 <                    return (i->second).second
89 >                    return (i->second).second;
90                  } else {
91                      return NULL;
92                  }
# Line 139 | Line 142 | namespace oopse {
142                  std::vector<ValueType>::iterator j;                
143                  j = std::min_element(foundTypes.begin(), foundTypes.end());
144  
145 <                return j == foundTypes.end() ? NULL : (j->second).second;
145 >                return j == foundTypes.end() ? NULL : j->second;
146              }
147  
148              unsigned int size() {
149                  return data_.size();
150              }
151 +
152 +            ElemPtr beginType(MapTypeIterator& i) {
153 +                i = data_.begin();
154 +                return i  != data_.end() ? (i->second).second : NULL;
155 +            }
156 +
157 +            ElemPtr nextType(MapTypeIterator& i) {
158 +                ++i;
159 +                return i  != data_.end() ? (i->second).second : NULL;
160 +            }
161              
162          private:
163              int index_;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines