catch_version.cpp
1 2 // Copyright Catch2 Authors 3 // Distributed under the Boost Software License, Version 1.0. 4 // (See accompanying file LICENSE.txt or copy at 5 // https://www.boost.org/LICENSE_1_0.txt) 6 7 // SPDX-License-Identifier: BSL-1.0 8 #include <catch2/catch_version.hpp> 9 #include <ostream> 10 11 namespace Catch { 12 13 Version::Version 14 ( unsigned int _majorVersion, 15 unsigned int _minorVersion, 16 unsigned int _patchNumber, 17 char const * const _branchName, 18 unsigned int _buildNumber ) 19 : majorVersion( _majorVersion ), 20 minorVersion( _minorVersion ), 21 patchNumber( _patchNumber ), 22 branchName( _branchName ), 23 buildNumber( _buildNumber ) 24 {} 25 26 std::ostream& operator << ( std::ostream& os, Version const& version ) { 27 os << version.majorVersion << '.' 28 << version.minorVersion << '.' 29 << version.patchNumber; 30 // branchName is never null -> 0th char is \0 if it is empty 31 if (version.branchName[0]) { 32 os << '-' << version.branchName 33 << '.' << version.buildNumber; 34 } 35 return os; 36 } 37 38 Version const& libraryVersion() { 39 static Version version( 3, 5, 0, "", 0 ); 40 return version; 41 } 42 43 }