| spdlog
    | 
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.
#include <catch.hpp>
| Public Types | |
| using | size_type = std::size_t | 
| Public Member Functions | |
| StringRef () noexcept | |
| 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 | |
| ~StringRef () 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 * | 
| Private Member Functions | |
| void | takeOwnership () | 
| auto | isOwned () const noexcept -> bool | 
| auto | isSubstring () const noexcept -> bool | 
| Private Attributes | |
| char const * | m_start | 
| size_type | m_size | 
| char * | m_data = nullptr | 
| Static Private Attributes | |
| static constexpr char const *const | s_empty = "" | 
| Friends | |
| struct | StringRefTestAccess | 
| 
 | inlinenoexcept | 
| 
 | inlinenoexcept | 
| 
 | noexcept | 
| 
 | inlinenoexcept | 
| auto Catch::StringRef::c_str | ( | ) | const -> char const * | 
| 
 | noexcept | 
| 
 | inlinenoexcept | 
| 
 | privatenoexcept | 
| 
 | privatenoexcept | 
| 
 | noexcept | 
| Catch::StringRef::operator std::string | ( | ) | const | 
| 
 | inlinenoexcept | 
| 
 | noexcept | 
| 
 | private | 
| 
 | staticconstexprprivate |