/ externals / catch / src / catch2 / catch_version.cpp
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  }