mirror of
https://github.com/catchorg/Catch2.git
synced 2025-10-09 04:05:39 +02:00
Add lifetimebound annotation to StringRef
This commit is contained in:
@@ -8,11 +8,12 @@
|
|||||||
#ifndef CATCH_STRINGREF_HPP_INCLUDED
|
#ifndef CATCH_STRINGREF_HPP_INCLUDED
|
||||||
#define CATCH_STRINGREF_HPP_INCLUDED
|
#define CATCH_STRINGREF_HPP_INCLUDED
|
||||||
|
|
||||||
|
#include <catch2/internal/catch_lifetimebound.hpp>
|
||||||
|
|
||||||
#include <cstddef>
|
#include <cstddef>
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <iosfwd>
|
#include <iosfwd>
|
||||||
#include <cassert>
|
#include <cassert>
|
||||||
|
|
||||||
#include <cstring>
|
#include <cstring>
|
||||||
|
|
||||||
namespace Catch {
|
namespace Catch {
|
||||||
@@ -36,14 +37,16 @@ namespace Catch {
|
|||||||
public: // construction
|
public: // construction
|
||||||
constexpr StringRef() noexcept = default;
|
constexpr StringRef() noexcept = default;
|
||||||
|
|
||||||
StringRef( char const* rawChars ) noexcept;
|
StringRef( char const* rawChars CATCH_ATTR_LIFETIMEBOUND ) noexcept;
|
||||||
|
|
||||||
constexpr StringRef( char const* rawChars, size_type size ) noexcept
|
constexpr StringRef( char const* rawChars CATCH_ATTR_LIFETIMEBOUND,
|
||||||
|
size_type size ) noexcept
|
||||||
: m_start( rawChars ),
|
: m_start( rawChars ),
|
||||||
m_size( size )
|
m_size( size )
|
||||||
{}
|
{}
|
||||||
|
|
||||||
StringRef( std::string const& stdString ) noexcept
|
StringRef(
|
||||||
|
std::string const& stdString CATCH_ATTR_LIFETIMEBOUND ) noexcept
|
||||||
: m_start( stdString.c_str() ),
|
: m_start( stdString.c_str() ),
|
||||||
m_size( stdString.size() )
|
m_size( stdString.size() )
|
||||||
{}
|
{}
|
||||||
@@ -89,7 +92,7 @@ namespace Catch {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Returns the current start pointer. May not be null-terminated.
|
// Returns the current start pointer. May not be null-terminated.
|
||||||
constexpr char const* data() const noexcept {
|
constexpr char const* data() const noexcept CATCH_ATTR_LIFETIMEBOUND {
|
||||||
return m_start;
|
return m_start;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user