1 /*
2  *  Created by Phil on 13/11/2012.
3  *  Copyright 2012 Two Blue Cubes Ltd. All rights reserved.
4  *
5  *  Distributed under the Boost Software License, Version 1.0. (See accompanying
6  *  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
7  */
8 #ifndef TWOBLUECUBES_CATCH_VERSION_H_INCLUDED
9 #define TWOBLUECUBES_CATCH_VERSION_H_INCLUDED
10 
11 #include <iosfwd>
12 
13 namespace Catch {
14 
15     // Versioning information
16     struct Version {
17         Version( Version const& ) = delete;
18         Version& operator=( Version const& ) = delete;
19         Version(    unsigned int _majorVersion,
20                     unsigned int _minorVersion,
21                     unsigned int _patchNumber,
22                     char const * const _branchName,
23                     unsigned int _buildNumber );
24 
25         unsigned int const majorVersion;
26         unsigned int const minorVersion;
27         unsigned int const patchNumber;
28 
29         // buildNumber is only used if branchName is not null
30         char const * const branchName;
31         unsigned int const buildNumber;
32 
33         friend std::ostream& operator << ( std::ostream& os, Version const& version );
34     };
35 
36     Version const& libraryVersion();
37 }
38 
39 #endif // TWOBLUECUBES_CATCH_VERSION_H_INCLUDED
40