commit 17a257d3bce48df37fdbf0fcb6496478e585d5d5 Author: Daniel Swanson Date: Sat Aug 7 10:09:28 2021 -0500 const lookup function for StringWriter diff --git a/lttoolbox/string_writer.cc b/lttoolbox/string_writer.cc index bb4d6eb..1d76bbb 100644 --- a/lttoolbox/string_writer.cc +++ b/lttoolbox/string_writer.cc @@ -34,6 +34,26 @@ StringWriter::add(UString_view s) return ret; } +StringRef +StringWriter::find(UString_view s) const +{ + StringRef ret; + ret.start = 0; + ret.count = 0; + UString_view buf; + if (mmapping) { + buf = UString_view(mmap_buffer, mmap_size); + } else { + buf = UString_view(edit_buffer); + } + auto start = buf.find(s); + if (start != UString_view::npos) { + ret.start = start; + ret.count = s.size(); + } + return ret; +} + UString_view StringWriter::get(const uint32_t start, const uint32_t count) { diff --git a/lttoolbox/string_writer.h b/lttoolbox/string_writer.h index 182180f..300c4fd 100644 --- a/lttoolbox/string_writer.h +++ b/lttoolbox/string_writer.h @@ -35,6 +35,7 @@ private: UChar* mmap_buffer; public: StringRef add(UString_view s); + StringRef find(UString_view s) const; UString_view get(const uint32_t start, const uint32_t count); UString_view get(const StringRef& ref); void read(FILE* in);