@@ -38,7 +38,8 @@ def __init__(self, unordered_maps_and_sets):
3838 def normalize (self , type_str ):
3939 return type_str .replace (' ' , '' )
4040
41- def replace_basic_string (self , cls_name ):
41+ @staticmethod
42+ def replace_basic_string (cls_name ):
4243 strings = {
4344 "std::string" : string_equivalences ,
4445 "std::wstring" : wstring_equivalences
@@ -48,7 +49,6 @@ def replace_basic_string(self, cls_name):
4849 for short_name , long_names in strings .items ():
4950 for lname in long_names :
5051 new_name = new_name .replace (lname , short_name )
51-
5252 return new_name
5353
5454 def decorated_call_prefix (self , cls_name , text , doit ):
@@ -99,7 +99,6 @@ def erase_recursive(self, cls_name):
9999 return self .no_end_const (cls_name )
100100
101101 def erase_allocator (self , cls_name , default_allocator = 'std::allocator' ):
102- cls_name = self .replace_basic_string (cls_name )
103102 c_name , c_args = templates .split (cls_name )
104103 if len (c_args ) != 2 :
105104 return
@@ -116,7 +115,6 @@ def erase_allocator(self, cls_name, default_allocator='std::allocator'):
116115 c_name , [self .erase_recursive (value_type )])
117116
118117 def erase_container (self , cls_name , default_container_name = 'std::deque' ):
119- cls_name = self .replace_basic_string (cls_name )
120118 c_name , c_args = templates .split (cls_name )
121119 if len (c_args ) != 2 :
122120 return
@@ -132,7 +130,6 @@ def erase_container_compare(
132130 cls_name ,
133131 default_container_name = 'std::vector' ,
134132 default_compare = 'std::less' ):
135- cls_name = self .replace_basic_string (cls_name )
136133 c_name , c_args = templates .split (cls_name )
137134 if len (c_args ) != 3 :
138135 return
@@ -152,7 +149,6 @@ def erase_compare_allocator(
152149 cls_name ,
153150 default_compare = 'std::less' ,
154151 default_allocator = 'std::allocator' ):
155- cls_name = self .replace_basic_string (cls_name )
156152 c_name , c_args = templates .split (cls_name )
157153 if len (c_args ) != 3 :
158154 return
@@ -175,7 +171,6 @@ def erase_map_compare_allocator(
175171 cls_name ,
176172 default_compare = 'std::less' ,
177173 default_allocator = 'std::allocator' ):
178- cls_name = self .replace_basic_string (cls_name )
179174 c_name , c_args = templates .split (cls_name )
180175 if len (c_args ) != 4 :
181176 return
@@ -205,7 +200,6 @@ def erase_map_compare_allocator(
205200 self .erase_recursive (mapped_type )])
206201
207202 def erase_hash_allocator (self , cls_name ):
208- cls_name = self .replace_basic_string (cls_name )
209203 c_name , c_args = templates .split (cls_name )
210204 if len (c_args ) < 3 :
211205 return
@@ -243,7 +237,6 @@ def erase_hash_allocator(self, cls_name):
243237 c_name , [self .erase_recursive (value_type )])
244238
245239 def erase_hashmap_compare_allocator (self , cls_name ):
246- cls_name = self .replace_basic_string (cls_name )
247240 c_name , c_args = templates .split (cls_name )
248241
249242 if self .unordered_maps_and_sets :
@@ -523,6 +516,7 @@ def remove_defaults(self, type_or_string):
523516 name = type_or_string
524517 if not isinstance (type_or_string , str ):
525518 name = self .class_declaration (type_or_string ).name
519+ name = defaults_eraser .replace_basic_string (name )
526520 if not self .remove_defaults_impl :
527521 return name
528522 no_defaults = self .remove_defaults_impl (name )
0 commit comments