Class StringRef

Class Documentation

class StringRef

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.

Public Types

using size_type = std::size_t
using const_iterator = const char*

Public Functions

constexpr StringRef() noexcept = default
StringRef(char const *rawChars) noexcept
inline constexpr StringRef(char const *rawChars, size_type size) noexcept
inline StringRef(std::string const &stdString) noexcept
inline explicit operator std::string() const
inline bool operator==(StringRef other) const noexcept
inline bool operator!=(StringRef other) const noexcept
inline char operator[](size_type index) const noexcept
bool operator<(StringRef rhs) const noexcept
inline bool empty() const noexcept
inline size_type size() const noexcept
inline StringRef substr(size_type start, size_type length) const noexcept
inline char const *data() const noexcept
inline const_iterator begin() const
inline const_iterator end() const
int compare(StringRef rhs) const

Provides a three-way comparison with rhs

Returns negative number if lhs < rhs, 0 if lhs == rhs, and a positive number if lhs > rhs

Friends

friend std::string &operator+=(std::string &lhs, StringRef sr)
friend std::ostream &operator<<(std::ostream &os, StringRef sr)
friend std::string operator+(StringRef lhs, StringRef rhs)