remove manual linear search clause

This commit is contained in:
rimathia 2020-11-08 18:25:00 +01:00
parent a2de072a58
commit e66299973b

View File

@ -474,13 +474,8 @@ OutputIt basic_printf_context<OutputIt, Char>::format() {
const Char* end = parse_ctx_.end(); const Char* end = parse_ctx_.end();
auto it = start; auto it = start;
while (it != end) { while (it != end) {
if (end - it < 32) { if (!detail::find<false, Char>(it, end, '%', it)) {
// Use a simple linear search instead of memchr for small strings. it = end;
it = std::find(it, end, '%');
} else {
if (!detail::find<false, Char>(it, end, '%', it)) {
it = end;
}
} }
if (it == end) { if (it == end) {
continue; continue;