Commit: ae122533e7d15751fe4256457d63cbb1945a2e68
Author: Ankit Meel
Date: Sat Aug 22 00:44:43 2020 +0530
Branches: soc-2020-io-performance
https://developer.blender.org/rBae122533e7d15751fe4256457d63cbb1945a2e68
Use remove_prefix for easy transition to StringRef.
The relevant search functionality was added to StringRef in
{rBc521b69ffb68}
===================================================================
M source/blender/io/wavefront_obj/intern/wavefront_obj_im_file_reader.cc
===================================================================
diff --git
a/source/blender/io/wavefront_obj/intern/wavefront_obj_im_file_reader.cc
b/source/blender/io/wavefront_obj/intern/wavefront_obj_im_file_reader.cc
index 4a6e9fab072..ae26e32bbe3 100644
--- a/source/blender/io/wavefront_obj/intern/wavefront_obj_im_file_reader.cc
+++ b/source/blender/io/wavefront_obj/intern/wavefront_obj_im_file_reader.cc
@@ -88,7 +88,9 @@ static void split_line_key_rest(string_view line,
* vector.
* Caller should ensure that the given string has no leading spaces.
*/
-static void split_by_char(string_view in_string, char delimiter,
Vector<string_view> &r_out_list)
+static void split_by_char(string_view in_string,
+ const char delimiter,
+ Vector<string_view> &r_out_list)
{
r_out_list.clear();
while (!in_string.empty()) {
@@ -103,8 +105,10 @@ static void split_by_char(string_view in_string, char
delimiter, Vector<string_v
if (pos_delim == string_view::npos) {
return;
}
- /* Add one in position of delimiter to skip it. */
- in_string = in_string.substr(pos_delim + 1, string_view::npos);
+ /* Skip the word already stored. */
+ in_string.remove_prefix(word_len);
+ /* Skip all delimiters. */
+ in_string.remove_prefix(std::min(in_string.find_first_not_of(delimiter),
in_string.size()));
}
}
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs