MCPcopy Create free account
hub / github.com/comaps/comaps / SaveStringsArray

Function SaveStringsArray

libs/kml/serdes.cpp:185–206  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

183
184template <class StringViewLike>
185void SaveStringsArray(Writer & writer, std::vector<StringViewLike> const & stringsArray, std::string const & tagName,
186 std::string_view const & indent)
187{
188 if (stringsArray.empty())
189 return;
190
191 writer << indent << "<mwm:" << tagName << ">\n";
192 for (auto const & s : stringsArray)
193 {
194 writer << indent << kIndent2 << "<mwm:value>";
195 // Constants from our code do not need any additional checks or escaping.
196 if constexpr (std::is_same_v<StringViewLike, std::string_view>)
197 {
198 ASSERT_EQUAL(s.find_first_of("<&"), std::string_view::npos, ("Use std::string overload for", s));
199 writer << s;
200 }
201 else
202 SaveStringWithCDATA(writer, s);
203 writer << "</mwm:value>\n";
204 }
205 writer << indent << "</mwm:" << tagName << ">\n";
206}
207
208void SaveStringsMap(Writer & writer, std::map<std::string, std::string> const & stringsMap, std::string const & tagName,
209 std::string_view const & indent)

Callers 3

SaveCategoryExtendedDataFunction · 0.85
SaveBookmarkExtendedDataFunction · 0.85
SaveTrackExtendedDataFunction · 0.85

Calls 2

SaveStringWithCDATAFunction · 0.85
emptyMethod · 0.45

Tested by

no test coverage detected