rick-de-water / lingo Goto Github PK
View Code? Open in Web Editor NEWText encoding for modern C++
License: MIT License
Text encoding for modern C++
License: MIT License
Implement encoding and character set aware basic_string
See what works and what breaks, and make sure that utf8 strings can be implicitly constructed from all string literals with an utf8 encoding
Reading encoded data backwards is probably a bad idea.
iterator
std::initializer_list
assign
(Skip iterators and initializer list here as well)shrink_to_fit
insert
erase
pop_back
(would require reading encoding backwards, probably not be worth the effort)push_back
and pop_back
for now, use append
or +=
to add code points.append
starts_with
ends_width
replace
substr
copy
swap
find
rfind
find_first_of
find_first_not_of
find_last_of
find_last_not_of
operator+
operator==
with cstring literalsStreams could be a pain
operator<<
operator>>
getline
std::hash
string_storage
should be responsible not just for allocating memory, but also moving code units around efficiently.
Design a better interface that allows string
to simply tell the string_storage
where the data needs to go, while string_storage
puts everything in the right place.
It should also be efficient, switching to std::memcpy
or std::move
where possible, and also have a strong exception guarantee.
Implement utf_iterator
for UTF8, UTF16 and UTF32
normalize
to the Unicode page.normalize
as a free function that can take any string object with a page that has a normalize function.normalize
as a member function to lingo::string
s with a page that has a normalize function.copy
substr
starts_with
ends_with
find
rfind
find_first_of
find_first_not_of
find_last_of
find_last_not_of
operator+
(actually not standard, but I want it anyway!)operator<<
std::hash
Use Python to generate a ton of validated data and throw it at the library.
Make fields such as size
have a predictable value on error.
Specialize std::hash
for lingo::string
and lingo::string_view
.
Implement encoding and character set aware basic_string_view
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.