|
@@ -141,8 +141,10 @@ public:
|
|
[[nodiscard]] Vector<String> split_limit(char separator, size_t limit, bool keep_empty = false) const;
|
|
[[nodiscard]] Vector<String> split_limit(char separator, size_t limit, bool keep_empty = false) const;
|
|
[[nodiscard]] Vector<String> split(char separator, bool keep_empty = false) const;
|
|
[[nodiscard]] Vector<String> split(char separator, bool keep_empty = false) const;
|
|
|
|
|
|
- [[nodiscard]] Optional<size_t> find(char, size_t start = 0) const;
|
|
|
|
- [[nodiscard]] Optional<size_t> find(StringView const&, size_t start = 0) const;
|
|
|
|
|
|
+ [[nodiscard]] Optional<size_t> find(char needle, size_t start = 0) const { return StringUtils::find(*this, needle, start); }
|
|
|
|
+ [[nodiscard]] Optional<size_t> find(StringView const& needle, size_t start = 0) const { return StringUtils::find(*this, needle, start); }
|
|
|
|
+ [[nodiscard]] Optional<size_t> find_last(char needle) const { return StringUtils::find_last(*this, needle); }
|
|
|
|
+ // FIXME: Implement find_last(StringView const&) for API symmetry.
|
|
[[nodiscard]] Vector<size_t> find_all(StringView const& needle) const { return StringUtils::find_all(*this, needle); }
|
|
[[nodiscard]] Vector<size_t> find_all(StringView const& needle) const { return StringUtils::find_all(*this, needle); }
|
|
|
|
|
|
[[nodiscard]] String substring(size_t start) const;
|
|
[[nodiscard]] String substring(size_t start) const;
|