@@ -156,62 +156,57 @@ std::string cmQtAutoGenInitializer::InfoWriter::ListJoin(IT it_begin,
156
156
return res;
157
157
}
158
158
159
- std::string cmQtAutoGenInitializer::InfoWriter::ConfigKey (
160
- const char * key, std::string const & config)
159
+ inline std::string cmQtAutoGenInitializer::InfoWriter::ConfigKey (
160
+ cm::string_view key, std::string const & config)
161
161
{
162
- std::string ckey = key;
163
- ckey += ' _' ;
164
- ckey += config;
165
- return ckey;
162
+ return cmStrCat (key, " _" , config);
166
163
}
167
164
168
- void cmQtAutoGenInitializer::InfoWriter::Write (const char * key,
165
+ void cmQtAutoGenInitializer::InfoWriter::Write (cm::string_view key,
169
166
std::string const & value)
170
167
{
171
168
Ofs_ << " set(" << key << " " << cmOutputConverter::EscapeForCMake (value)
172
169
<< " )\n " ;
173
170
};
174
171
175
- void cmQtAutoGenInitializer::InfoWriter::WriteUInt (const char * key,
172
+ void cmQtAutoGenInitializer::InfoWriter::WriteUInt (cm::string_view key,
176
173
unsigned int value)
177
174
{
178
175
Ofs_ << " set(" << key << " " << value << " )\n " ;
179
176
};
180
177
181
178
template <class C >
182
- void cmQtAutoGenInitializer::InfoWriter::WriteStrings (const char * key,
179
+ void cmQtAutoGenInitializer::InfoWriter::WriteStrings (cm::string_view key,
183
180
C const & container)
184
181
{
185
182
Ofs_ << " set(" << key << " \" "
186
183
<< ListJoin (container.begin (), container.end ()) << " \" )\n " ;
187
184
}
188
185
189
186
void cmQtAutoGenInitializer::InfoWriter::WriteConfig (
190
- const char * key, std::map<std::string, std::string> const & map)
187
+ cm::string_view key, std::map<std::string, std::string> const & map)
191
188
{
192
189
for (auto const & item : map) {
193
- Write (ConfigKey (key, item.first ). c_str () , item.second );
190
+ Write (ConfigKey (key, item.first ), item.second );
194
191
}
195
192
};
196
193
197
194
template <class C >
198
195
void cmQtAutoGenInitializer::InfoWriter::WriteConfigStrings (
199
- const char * key, std::map<std::string, C> const & map)
196
+ cm::string_view key, std::map<std::string, C> const & map)
200
197
{
201
198
for (auto const & item : map) {
202
- WriteStrings (ConfigKey (key, item.first ). c_str () , item.second );
199
+ WriteStrings (ConfigKey (key, item.first ), item.second );
203
200
}
204
201
}
205
202
206
203
void cmQtAutoGenInitializer::InfoWriter::WriteNestedLists (
207
- const char * key, std::vector<std::vector<std::string>> const & lists)
204
+ cm::string_view key, std::vector<std::vector<std::string>> const & lists)
208
205
{
209
206
std::vector<std::string> seplist;
210
- for (const std::vector<std::string>& list : lists) {
211
- std::string blist = " {" ;
212
- blist += ListJoin (list.begin (), list.end ());
213
- blist += " }" ;
214
- seplist.push_back (std::move (blist));
207
+ seplist.reserve (lists.size ());
208
+ for (std::vector<std::string> const & list : lists) {
209
+ seplist.push_back (cmStrCat (" {" , ListJoin (list.begin (), list.end ()), " }" ));
215
210
}
216
211
Write (key, cmJoin (seplist, cmQtAutoGen::ListSep));
217
212
};
0 commit comments