@@ -105,7 +105,7 @@ def erase_allocator(self, cls_name, default_allocator='std::allocator'):
105105 return
106106 value_type = c_args [0 ]
107107 tmpl = string .Template (
108- "$container< $value_type, $allocator<$value_type> >" )
108+ "$container<$value_type, $allocator<$value_type>>" )
109109 tmpl = tmpl .substitute (
110110 container = c_name ,
111111 value_type = value_type ,
@@ -118,15 +118,16 @@ def erase_allocator(self, cls_name, default_allocator='std::allocator'):
118118 def erase_container (self , cls_name , default_container_name = 'std::deque' ):
119119 cls_name = self .replace_basic_string (cls_name )
120120 c_name , c_args = templates .split (cls_name )
121+ print ("erase_container c_name, c_args" , c_name , c_args )
121122 if len (c_args ) != 2 :
122123 return
123124 value_type = c_args [0 ]
124125 dc_no_defaults = self .erase_recursive (c_args [1 ])
125- if self .normalize (dc_no_defaults ) != self .normalize (
126+ print ("erase_container dc_no_defaults" , dc_no_defaults )
127+ if self .normalize (dc_no_defaults ) == self .normalize (
126128 templates .join (default_container_name , [value_type ])):
127- return
128- return templates .join (
129- c_name , [self .erase_recursive (value_type )])
129+ return templates .join (
130+ c_name , [self .erase_recursive (value_type )])
130131
131132 def erase_container_compare (
132133 self ,
@@ -159,8 +160,8 @@ def erase_compare_allocator(
159160 return
160161 value_type = c_args [0 ]
161162 tmpl = string .Template (
162- "$container< $value_type, $compare<$value_type>, " +
163- "$allocator<$value_type> >" )
163+ "$container<$value_type, $compare<$value_type>, " +
164+ "$allocator<$value_type>>" )
164165 tmpl = tmpl .substitute (
165166 container = c_name ,
166167 value_type = value_type ,
@@ -184,14 +185,14 @@ def erase_map_compare_allocator(
184185 mapped_type = c_args [1 ]
185186 tmpls = [
186187 string .Template (
187- "$container< $key_type, $mapped_type, $compare<$key_type>, " +
188- "$allocator< std::pair< const $key_type, $mapped_type> > >" ),
188+ "$container<$key_type, $mapped_type, $compare<$key_type>, " +
189+ "$allocator<std::pair<const $key_type, $mapped_type>> >" ),
189190 string .Template (
190- "$container< $key_type, $mapped_type, $compare<$key_type>, " +
191- "$allocator< std::pair< $key_type const, $mapped_type> > >" ),
191+ "$container<$key_type, $mapped_type, $compare<$key_type>, " +
192+ "$allocator<std::pair< $key_type const, $mapped_type>> >" ),
192193 string .Template (
193- "$container< $key_type, $mapped_type, $compare<$key_type>, " +
194- "$allocator< std::pair< $key_type, $mapped_type> > >" )]
194+ "$container<$key_type, $mapped_type, $compare<$key_type>, " +
195+ "$allocator<std::pair<$key_type, $mapped_type>> >" )]
195196 for tmpl in tmpls :
196197 tmpl = tmpl .substitute (
197198 container = c_name ,
@@ -218,13 +219,13 @@ def erase_hash_allocator(self, cls_name):
218219 if len (c_args ) == 3 :
219220 default_hash = 'hash_compare'
220221 tmpl = (
221- "$container< $value_type, $hash<$value_type, " +
222- "$less<$value_type> >, $allocator<$value_type> >" )
222+ "$container<$value_type, $hash<$value_type, " +
223+ "$less<$value_type>>, $allocator<$value_type>>" )
223224 elif len (c_args ) == 4 :
224225 default_hash = 'hash'
225226 tmpl = (
226- "$container< $value_type, $hash<$value_type >, " +
227- "$equal_to<$value_type >, $allocator<$value_type> >" )
227+ "$container<$value_type, $hash<$value_type>, " +
228+ "$equal_to<$value_type>, $allocator<$value_type>>" )
228229 else :
229230 return
230231
@@ -263,14 +264,14 @@ def erase_hashmap_compare_allocator(self, cls_name):
263264 if len (c_args ) == 4 :
264265 default_hash = 'hash_compare'
265266 tmpl = string .Template (
266- "$container< $key_type, $mapped_type, " +
267- "$hash<$key_type, $less<$key_type> >, " +
268- "$allocator< std::pair< const $key_type, $mapped_type> > >" )
267+ "$container<$key_type, $mapped_type, " +
268+ "$hash<$key_type, $less<$key_type>>, " +
269+ "$allocator<std::pair<const $key_type, $mapped_type>> >" )
269270 if key_type .startswith ('const ' ) or key_type .endswith (' const' ):
270271 tmpl = string .Template (
271- "$container< $key_type, $mapped_type, $hash<$key_type, " +
272- "$less<$key_type> >, $allocator< std::pair< $key_type, " +
273- "$mapped_type> > >" )
272+ "$container<$key_type, $mapped_type, $hash<$key_type, " +
273+ "$less<$key_type>>, $allocator<std::pair<$key_type, " +
274+ "$mapped_type>> >" )
274275 elif len (c_args ) == 5 :
275276 default_hash = 'hash'
276277 if self .unordered_maps_and_sets :
@@ -279,31 +280,31 @@ def erase_hashmap_compare_allocator(self, cls_name):
279280 "$hash<$key_type>, " +
280281 "$equal_to<$key_type>, " +
281282 "$allocator<std::pair<const$key_type, " +
282- "$mapped_type> > >" )
283+ "$mapped_type>> >" )
283284 if key_type .startswith ('const ' ) or \
284285 key_type .endswith (' const' ):
285286 tmpl = string .Template (
286287 "$container<$key_type, $mapped_type, " +
287- "$hash<$key_type >, " +
288- "$equal_to<$key_type >, " +
288+ "$hash<$key_type>, " +
289+ "$equal_to<$key_type>, " +
289290 "$allocator<std::pair<$key_type, " +
290- "$mapped_type> > >" )
291+ "$mapped_type>> >" )
291292 else :
292293 tmpl = string .Template (
293- "$container< $key_type, $mapped_type, "
294+ "$container<$key_type, $mapped_type, "
294295 "$hash<$key_type >, " +
295296 "$equal_to<$key_type>, "
296- "$allocator< $mapped_type> >" )
297+ "$allocator<$mapped_type>>" )
297298 if key_type .startswith ('const ' ) or \
298299 key_type .endswith (' const' ):
299300 # TODO: this template is the same than above.
300301 # Make sure why this was needed and if this is
301302 # tested. There may be a const missing somewhere.
302303 tmpl = string .Template (
303- "$container< $key_type, $mapped_type, " +
304- "$hash<$key_type >, " +
304+ "$container<$key_type, $mapped_type, " +
305+ "$hash<$key_type>, " +
305306 "$equal_to<$key_type>, " +
306- "$allocator< $mapped_type > >" )
307+ "$allocator<$mapped_type> >" )
307308 else :
308309 return
309310
0 commit comments