catch_version.cpp 1.3 KB

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