API
Catch::StringRef Class Reference

#include <catch.hpp>

Collaboration diagram for Catch::StringRef:
Collaboration graph

Public Types

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

Public Member Functions

constexpr StringRef () noexcept=default
 
 StringRef (char const *rawChars) noexcept
 
constexpr StringRef (char const *rawChars, size_type size) noexcept
 
 StringRef (std::string const &stdString) noexcept
 
 operator std::string () const
 
auto operator== (StringRef const &other) const noexcept -> bool
 
auto operator!= (StringRef const &other) const noexcept -> bool
 
auto operator[] (size_type index) const noexcept -> char
 
constexpr auto empty () const noexcept -> bool
 
constexpr auto size () const noexcept -> size_type
 
auto c_str () const -> char const *
 
auto substr (size_type start, size_type length) const noexcept -> StringRef
 
auto data () const noexcept -> char const *
 
constexpr auto isNullTerminated () const noexcept -> bool
 
constexpr const_iterator begin () const
 
constexpr const_iterator end () const
 

Private Attributes

char const * m_start = s_empty
 
size_type m_size = 0
 

Static Private Attributes

static constexpr char const *const s_empty = ""
 

Detailed Description

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.

Definition at line 606 of file catch.hpp.

Member Typedef Documentation

◆ const_iterator

using Catch::StringRef::const_iterator = const char*

Definition at line 609 of file catch.hpp.

◆ size_type

using Catch::StringRef::size_type = std::size_t

Definition at line 608 of file catch.hpp.

Constructor & Destructor Documentation

◆ StringRef() [1/4]

constexpr Catch::StringRef::StringRef ( )
constexprdefaultnoexcept

◆ StringRef() [2/4]

Catch::StringRef::StringRef ( char const *  rawChars)
noexcept

◆ StringRef() [3/4]

constexpr Catch::StringRef::StringRef ( char const *  rawChars,
size_type  size 
)
inlineconstexprnoexcept

Definition at line 622 of file catch.hpp.

◆ StringRef() [4/4]

Catch::StringRef::StringRef ( std::string const &  stdString)
inlinenoexcept

Definition at line 627 of file catch.hpp.

Member Function Documentation

◆ begin()

constexpr const_iterator Catch::StringRef::begin ( ) const
inlineconstexpr

Definition at line 673 of file catch.hpp.

◆ c_str()

auto Catch::StringRef::c_str ( ) const -> char const *

◆ data()

auto Catch::StringRef::data ( ) const -> char const *
noexcept

◆ empty()

constexpr auto Catch::StringRef::empty ( ) const -> bool
inlineconstexprnoexcept

Definition at line 648 of file catch.hpp.

◆ end()

constexpr const_iterator Catch::StringRef::end ( ) const
inlineconstexpr

Definition at line 674 of file catch.hpp.

◆ isNullTerminated()

constexpr auto Catch::StringRef::isNullTerminated ( ) const -> bool
inlineconstexprnoexcept

Definition at line 668 of file catch.hpp.

◆ operator std::string()

Catch::StringRef::operator std::string ( ) const
inlineexplicit

Definition at line 632 of file catch.hpp.

◆ operator!=()

auto Catch::StringRef::operator!= ( StringRef const &  other) const -> bool
inlinenoexcept

Definition at line 638 of file catch.hpp.

◆ operator==()

auto Catch::StringRef::operator== ( StringRef const &  other) const -> bool
noexcept

◆ operator[]()

auto Catch::StringRef::operator[] ( size_type  index) const -> char
inlinenoexcept

Definition at line 642 of file catch.hpp.

◆ size()

constexpr auto Catch::StringRef::size ( ) const -> size_type
inlineconstexprnoexcept

Definition at line 651 of file catch.hpp.

◆ substr()

auto Catch::StringRef::substr ( size_type  start,
size_type  length 
) const -> StringRef
noexcept

Member Data Documentation

◆ m_size

size_type Catch::StringRef::m_size = 0
private

Definition at line 615 of file catch.hpp.

Referenced by empty(), end(), isNullTerminated(), operator std::string(), operator[](), and size().

◆ m_start

char const* Catch::StringRef::m_start = s_empty
private

Definition at line 614 of file catch.hpp.

Referenced by begin(), end(), isNullTerminated(), operator std::string(), and operator[]().

◆ s_empty

constexpr char const* const Catch::StringRef::s_empty = ""
staticconstexprprivate

Definition at line 612 of file catch.hpp.


The documentation for this class was generated from the following file: