mirror of
				https://github.com/catchorg/Catch2.git
				synced 2025-10-31 12:17:11 +01:00 
			
		
		
		
	Add lifetimebound annotation to StringRef
This commit is contained in:
		| @@ -8,11 +8,12 @@ | ||||
| #ifndef CATCH_STRINGREF_HPP_INCLUDED | ||||
| #define CATCH_STRINGREF_HPP_INCLUDED | ||||
|  | ||||
| #include <catch2/internal/catch_lifetimebound.hpp> | ||||
|  | ||||
| #include <cstddef> | ||||
| #include <string> | ||||
| #include <iosfwd> | ||||
| #include <cassert> | ||||
|  | ||||
| #include <cstring> | ||||
|  | ||||
| namespace Catch { | ||||
| @@ -36,14 +37,16 @@ namespace Catch { | ||||
|     public: // construction | ||||
|         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_size( size ) | ||||
|         {} | ||||
|  | ||||
|         StringRef( std::string const& stdString ) noexcept | ||||
|         StringRef( | ||||
|             std::string const& stdString CATCH_ATTR_LIFETIMEBOUND ) noexcept | ||||
|         :   m_start( stdString.c_str() ), | ||||
|             m_size( stdString.size() ) | ||||
|         {} | ||||
| @@ -89,7 +92,7 @@ namespace Catch { | ||||
|         } | ||||
|  | ||||
|         // 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; | ||||
|         } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Martin Hořeňovský
					Martin Hořeňovský