|
1 | 1 | # string lite: string algorithms for C++11 and later |
2 | 2 |
|
3 | | -[](https://en.wikipedia.org/wiki/C%2B%2B#Standardization) [](https://opensource.org/licenses/BSL-1.0) [](https://github.com/martinmoene/string-lite/actions/workflows/ci.yml) [](https://github.com/martinmoene/string-lite/releases) [](https://github.com/martinmoene/string-lite/blob/master/include/nonstd/string.hpp) <!-- [](https://conan.io/center/string-lite) -->[](https://wandbox.org/permlink/merJtbaTAIq2lE9s) [](https://godbolt.org/z/bW7TYP7xv) |
| 3 | +[](https://en.wikipedia.org/wiki/C%2B%2B#Standardization) [](https://opensource.org/licenses/BSL-1.0) [](https://github.com/martinmoene/string-lite/actions/workflows/ci.yml) [](https://github.com/martinmoene/string-lite/releases) [](https://github.com/martinmoene/string-lite/blob/master/include/nonstd/string.hpp) [](https://vcpkg.link/ports/string-lite) [](https://wandbox.org/permlink/merJtbaTAIq2lE9s) [](https://godbolt.org/z/bW7TYP7xv) |
4 | 4 |
|
5 | 5 | **Note**: this library was previously named *string-bare*, the original *string-lite* has been renamed to [*string-non-lite*](https://github.com/martinmoene/string-non-lite). |
6 | 6 |
|
7 | 7 | Another attempt at a hopefully generally useful C++ string algorithm library. |
8 | 8 |
|
9 | 9 | I'm still pondering to add functions that take a regular expression, as `std::regex`and as string (using `*_re()` function names), and the API to use for that. |
10 | 10 |
|
11 | | -For now, have a look at section [Documentation of *string lite*](#syn-doc) and section [*string-lite* test specification](#a2) for the functions envisioned / implemented (at the moment). The in-place modification class of functions is decidedly absent. |
12 | | - |
13 | | -In general, functions take `string_view`s and thereby `char const *`, `std::string` and `std::string_view` ([note 1](#note-1)) as arguments and produce (return) a `bool`, `size_t`, `std::string` or a collection of `string_view`s. |
14 | | - |
15 | | -<a id="note-1"></a>Note 1: to support use of `string_view`s with C++ versions earlier than C++17, `string_view`s may be accessed as `nonstd::string::std17::string_view`, supplying a local `string_view` class or `std::string_view` if present. |
| 11 | +For now, have a look at section [Documentation of *string lite*](#syn-doc) and section [*string-lite* test specification](#a2) for the functions envisioned / implemented. The in-place modification class of functions is decidedly absent. |
16 | 12 |
|
17 | 13 | **Contents** |
18 | 14 |
|
@@ -73,6 +69,10 @@ prompt> g++ -std=c++11 -Wall -I../include -o 01-basic.exe 01-basic.cpp && 01-bas |
73 | 69 |
|
74 | 70 | Creating *string lite* I've had a look at the [C++ standard](https://eel.is/c++draft/#strings), [Boost](https://www.boost.org/doc/libs/1_60_0/doc/html/string_algo.html), [Facebook Folly](https://github.com/facebook/folly/blob/master/folly/String.h), the [Python standard library](https://docs.python.org/3/library/string.html), the [proposal for `std::split()`](http://wg21.link/n3593) and several algorithms I created over time. |
75 | 71 |
|
| 72 | +In general, functions take `string_view`s and thereby `char const *`, `std::string` and `std::string_view` ([note 1](#note-1)) as arguments and produce (return) a `bool`, `size_t`, `std::string` or a collection of `string_view`s. |
| 73 | + |
| 74 | +<a id="note-1"></a>Note 1: to support use of `string_view`s with C++ versions earlier than C++17, `string_view`s may be accessed as `nonstd::string::std17::string_view`, supplying a local `string_view` class or `std::string_view` if present. |
| 75 | + |
76 | 76 | **Features and properties of string lite** are ease of installation (single header), freedom of dependencies other than the standard library. |
77 | 77 |
|
78 | 78 | ## License |
|
0 commit comments