summaryrefslogtreecommitdiff
path: root/AK/Utf16View.cpp
AgeCommit message (Collapse)Author
2022-01-31AK: Add a Utf16View::code_unit_offset_of(Utf16CodePointIterator) helperIdan Horowitz
This helper can be used to used to retrieve the code unit offset of an active Utf16CodePointIterator efficiently.
2022-01-31Everywhere: Update copyrights with my new serenityos.org e-mail :^)Timothy Flynn
2021-11-11Everywhere: Pass AK::StringView by valueAndreas Kling
2021-10-02AK: Simplify Utf16View::operator==(Utf16View)Andreas Kling
2021-10-02LibJS+AK: Use Vector<u16, 1> for UTF-16 string storageAndreas Kling
It's very common to encounter single-character strings in JavaScript on the web. We can make such strings significantly lighter by having a 1-character inline capacity on the Vectors.
2021-08-04AK+LibJS: Implement String.from{CharCode,CodePoint} using UTF-16 stringsTimothy Flynn
Most of String.prototype and RegExp.prototype is implemented with UTF-16 so this is to prevent extra copying of the string data.
2021-08-04AK+LibRegex: Add Utf16View::code_point_at and use it in RegexStringViewTimothy Flynn
The current method of iterating through the string to access a code point hurts performance quite badly for very large strings. The test262 test "RegExp/property-escapes/generated/Any.js" previously took 3 hours to complete; this one change brings it down to under 10 seconds.
2021-07-23AK+LibRegex: Partially implement case insensitive UTF-16 comparisonTimothy Flynn
This will work for ASCII code points. Unicode case folding will be needed for non-ASCII.
2021-07-23AK: Add UTF-16 helper methods required for use within LibRegexTimothy Flynn
To be used as a RegexStringView variant, Utf16View must provide a couple more helper methods. It must also not default its assignment operators, because that implicitly deletes move/copy constructors.
2021-07-22AK: Add Utf16View for decoding UTF-16 stringsTimothy Flynn
Also includes a way to transcode from and to UTF-8 strings.