A non-owning string class (similar to the forthcoming std::string_view) Note that, because a StringRef may be a substring of another string, it may not be null terminated.
More...
#include <catch.hpp>
|
|
using | size_type = std::size_t |
| |
|
|
| StringRef (StringRef const &other) noexcept |
| |
|
| StringRef (StringRef &&other) noexcept |
| |
|
| StringRef (char const *rawChars) noexcept |
| |
|
| StringRef (char const *rawChars, size_type size) noexcept |
| |
|
| StringRef (std::string const &stdString) noexcept |
| |
|
auto | operator= (StringRef const &other) noexcept-> StringRef & |
| |
|
| operator std::string () const |
| |
|
void | swap (StringRef &other) noexcept |
| |
|
auto | operator== (StringRef const &other) const noexcept-> bool |
| |
|
auto | operator!= (StringRef const &other) const noexcept-> bool |
| |
|
auto | operator[] (size_type index) const noexcept-> char |
| |
|
auto | empty () const noexcept-> bool |
| |
|
auto | size () const noexcept-> size_type |
| |
|
auto | numberOfCharacters () const noexcept-> size_type |
| |
|
auto | c_str () const -> char const * |
| |
|
auto | substr (size_type start, size_type size) const noexcept-> StringRef |
| |
|
auto | currentData () const noexcept-> char const * |
| |
|
|
void | takeOwnership () |
| |
|
auto | isOwned () const noexcept-> bool |
| |
|
auto | isSubstring () const noexcept-> bool |
| |
|
|
char const * | m_start |
| |
|
size_type | m_size |
| |
|
char * | m_data = nullptr |
| |
|
|
static constexpr char const *const | s_empty = "" |
| |
|
|
struct | StringRefTestAccess |
| |
A non-owning string class (similar to the forthcoming std::string_view) Note that, because a StringRef may be a substring of another string, it may not be null terminated.
c_str() must return a null terminated string, however, and so the StringRef will internally take ownership (taking a copy), if necessary. In theory this ownership is not externally visible - but it does mean (substring) StringRefs should not be shared between threads.
Definition at line 512 of file catch.hpp.
The documentation for this class was generated from the following file: