93 |
93 |
94 template<typename T1, typename Comp1> |
94 template<typename T1, typename Comp1> |
95 StdMap(const StdMap<Key,T1,Comp1> &m, const T &_v) { FIXME; } |
95 StdMap(const StdMap<Key,T1,Comp1> &m, const T &_v) { FIXME; } |
96 |
96 |
97 ReferenceType operator[](const Key &k) { |
97 ReferenceType operator[](const Key &k) { |
98 return ( *( (insert(PairType(k,v))).first ) ).second; |
98 return insert(PairType(k,v)).first -> second; |
99 } |
99 } |
100 ConstReferenceType operator[](const Key &k) const { |
100 ConstReferenceType operator[](const Key &k) const { |
101 typename parent::iterator i = lower_bound(__k); |
101 typename parent::iterator i = lower_bound(__k); |
102 if (i == end() || key_comp()(k, (*i).first)) |
102 if (i == end() || key_comp()(k, (*i).first)) |
103 return v; |
103 return v; |
104 return (*i).second; |
104 return (*i).second; |
105 } |
105 } |
106 void set(const Key &k, const T &t) { |
106 void set(const Key &k, const T &t) { |
107 // tyuha, ez valamiert segfault-olt igy: |
107 parent::operator[](k) = t; |
108 // parent::operator[](k) = t; |
|
109 ( *( (insert(PairType(k,t))).first ) ).second=t; |
|
110 } |
108 } |
111 |
109 |
112 /// Changes the default value of the map. |
110 /// Changes the default value of the map. |
113 /// \return Returns the previous default value. |
111 /// \return Returns the previous default value. |
114 /// |
112 /// |