|
1 | | -# string bare: string facilities for C++11 and later (In Progress) |
| 1 | +# string lite: string facilities for C++11 and later (In Progress) |
2 | 2 |
|
3 | | -[](https://en.wikipedia.org/wiki/C%2B%2B#Standardization) [](https://opensource.org/licenses/BSL-1.0) [](https://github.com/martinmoene/string-bare/actions/workflows/ci.yml) [](https://github.com/martinmoene/string-bare/releases) [](https://github.com/martinmoene/string-bare/blob/master/include/nonstd/string.hpp) <!-- [](https://conan.io/center/string-bare) -->[](https://wandbox.org/permlink/lPob3Qz2o4S3hKpj) [](https://godbolt.org/z/6a5GWY8dP) |
| 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/lPob3Qz2o4S3hKpj) [](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 bare*](#syn-doc) and section [*string-bare* test specification](#a2) for the functions envisioned / implemented (at the moment). The in-place modification class of functions is decidedly absent. |
| 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 | 12 |
|
13 | 13 | In general, functions take `string_view`s and thereby `char const *`, `std::string` and `std::string_view` ([note 1](#note-1)) as arguments en produce (return) a `bool`, `size_t`, `std::string` or a collection of `string_view`s. |
14 | 14 |
|
@@ -69,32 +69,32 @@ prompt> g++ -std=c++11 -Wall -I../include -o 01-basic.exe 01-basic.cpp && 01-bas |
69 | 69 |
|
70 | 70 | ## In a nutshell |
71 | 71 |
|
72 | | -**string bare** is a single-file header-only library to provide various string algorithms. Firstly meant to get you up and running easily, not necessarily to provide everything that might be useful and in the most efficient manner. |
| 72 | +**string lite** is a single-file header-only library to provide various string algorithms. Firstly meant to get you up and running easily, not necessarily to provide everything that might be useful and in the most efficient manner. |
73 | 73 |
|
74 | | -Creating *string bare* 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. |
| 74 | +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 | 75 |
|
76 | | -**Features and properties of string bare** are ease of installation (single header), freedom of dependencies other than the standard library. |
| 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 |
79 | 79 |
|
80 | | -*string bare* is distributed under the [Boost Software License](https://github.com/martinmoene/bit-bare/blob/master/LICENSE.txt). |
| 80 | +*string lite* is distributed under the [Boost Software License](https://github.com/martinmoene/bit-lite/blob/master/LICENSE.txt). |
81 | 81 |
|
82 | 82 | ## Dependencies |
83 | 83 |
|
84 | | -*string bare* has no other dependencies than the [C++ standard library](http://en.cppreference.com/w/cpp/header). |
| 84 | +*string lite* has no other dependencies than the [C++ standard library](http://en.cppreference.com/w/cpp/header). |
85 | 85 |
|
86 | 86 | ## Installation and use |
87 | 87 |
|
88 | | -*string bare* is a single-file header-only library. Put `string.hpp` in the [include](include) folder directly into the project source tree or somewhere reachable from your project. |
| 88 | +*string lite* is a single-file header-only library. Put `string.hpp` in the [include](include) folder directly into the project source tree or somewhere reachable from your project. |
89 | 89 |
|
90 | 90 | ## Synopsis |
91 | 91 |
|
92 | 92 | **Contents** |
93 | | -[Documentation of *string bare*](#documentation-of-string-bare) |
| 93 | +[Documentation of *string lite*](#documentation-of-string-lite) |
94 | 94 | [Configuration](#configuration) |
95 | 95 |
|
96 | 96 | <a id="syn-doc"></a> |
97 | | -### Documentation of *string bare* |
| 97 | +### Documentation of *string lite* |
98 | 98 |
|
99 | 99 | The following table presents types, values and simplified, short prototypes of the functions in _string-bare_'s `nonstd` namespace. |
100 | 100 |
|
@@ -176,7 +176,7 @@ The following table presents types, values and simplified, short prototypes of t |
176 | 176 |
|
177 | 177 | #### Tweak header |
178 | 178 |
|
179 | | -If the compiler supports [`__has_include()`](https://en.cppreference.com/w/cpp/preprocessor/include), *string bare* supports the [tweak header](https://vector-of-bool.github.io/2020/10/04/lib-configuration.html) mechanism. Provide your *tweak header* as `nonstd/string.tweak.hpp` in a folder in the include-search-path. In the tweak header, provide definitions as documented below, like `#define string_CPLUSPLUS 201103L`. |
| 179 | +If the compiler supports [`__has_include()`](https://en.cppreference.com/w/cpp/preprocessor/include), *string lite* supports the [tweak header](https://vector-of-bool.github.io/2020/10/04/lib-configuration.html) mechanism. Provide your *tweak header* as `nonstd/string.tweak.hpp` in a folder in the include-search-path. In the tweak header, provide definitions as documented below, like `#define string_CPLUSPLUS 201103L`. |
180 | 180 |
|
181 | 181 | #### Provided character types |
182 | 182 |
|
@@ -222,10 +222,10 @@ TBD |
222 | 222 | <a id="a1"></a> |
223 | 223 | ### A.1 Compile-time information |
224 | 224 |
|
225 | | -In the test runner, the version of *string-bare* is available via tag `[.version]`. The following tags are available for information on the compiler and on the C++ standard library used: `[.compiler]`, `[.stdc++]`, `[.stdlanguage]` and `[.stdlibrary]`. |
| 225 | +In the test runner, the version of *string-lite* is available via tag `[.version]`. The following tags are available for information on the compiler and on the C++ standard library used: `[.compiler]`, `[.stdc++]`, `[.stdlanguage]` and `[.stdlibrary]`. |
226 | 226 |
|
227 | 227 | <a id="a2"></a> |
228 | | -### A.2 *string-bare* test specification |
| 228 | +### A.2 *string-lite* test specification |
229 | 229 |
|
230 | 230 | <!-- string-main.t.exe -l @ | cut --delimiter=: -f 1 |sort |uniq |clip --> |
231 | 231 | <!-- string-main.t.exe -l |grep -v _re |grep -v regex |clip --> |
|
0 commit comments