Cleanup SourceLineInfo implementation

Special member functions are now implicit, which should make them
both noexcept and constexpr. The `operator<<` has been made into
hidden friend as per best practices.
This commit is contained in:
Martin Hořeňovský 2020-05-10 06:57:02 +02:00
parent a595066ff9
commit 094d840efe
No known key found for this signature in database
GPG Key ID: DE48307B8B0D381A

View File

@ -50,19 +50,15 @@ namespace Catch {
line( _line ) line( _line )
{} {}
SourceLineInfo( SourceLineInfo const& other ) = default;
SourceLineInfo& operator = ( SourceLineInfo const& ) = default;
SourceLineInfo( SourceLineInfo&& ) noexcept = default;
SourceLineInfo& operator = ( SourceLineInfo&& ) noexcept = default;
bool operator == ( SourceLineInfo const& other ) const noexcept; bool operator == ( SourceLineInfo const& other ) const noexcept;
bool operator < ( SourceLineInfo const& other ) const noexcept; bool operator < ( SourceLineInfo const& other ) const noexcept;
char const* file; char const* file;
std::size_t line; std::size_t line;
friend std::ostream& operator << (std::ostream& os, SourceLineInfo const& info);
}; };
std::ostream& operator << ( std::ostream& os, SourceLineInfo const& info );
// Bring in operator<< from global namespace into Catch namespace // Bring in operator<< from global namespace into Catch namespace
// This is necessary because the overload of operator<< above makes // This is necessary because the overload of operator<< above makes