diff options
| author | Martin Hořeňovský | 2019-10-21 17:44:11 +0200 |
|---|---|---|
| committer | Martin Hořeňovský | 2019-10-25 13:57:52 +0200 |
| commit | 50cc14c94c972fc743afca92b22ad7bdc63c429a (patch) | |
| tree | 6654c82835e7784076b2ecd7b90d374968b5ac26 /projects/SelfTest/UsageTests/ToStringVector.tests.cpp | |
| parent | 87b745da6625b7469e61de5910978a097caf8b74 (diff) | |
| download | catch3-50cc14c94c972fc743afca92b22ad7bdc63c429a.tar.gz | |
Rework StringRef interface and internals
Now it no longer tries to be this weird hybrid between an owning
and non-owning reference, and is only ever non-owning. This is also
reflected in its interface, for example `StringRef::isNullTerminated`
is now public, and `StringRef::c_str()` has the precondition that it
is true.
Overview of the changes:
* The `StringRef::m_data` member has been completely removed, as it
had no more uses.
* `StringRef::isSubstring()` has been made public and renamed to
`StringRef::isNullTerminated()`, so that the name reflects what the
method actually does.
* `StringRef::currentData()` has been renamed to `StringRef::data()`,
to be in line with common C++ containers and container-alikes.
* `StringRef::c_str()` will no longer silently make copies. It instead
has a precondition that `isNullTerminated()` is true.
* If the user needs a null-terminated string, they should use the
`std::string` conversion operator and call `c_str()` on the resulting
`std::string`.
* Some small optimizations in various places.
* Basic functionality is now `constexpr`.
Diffstat (limited to 'projects/SelfTest/UsageTests/ToStringVector.tests.cpp')
0 files changed, 0 insertions, 0 deletions