Google Cloud Spanner C++ Client
A C++ Client Library for Google Cloud Spanner
version.h
Go to the documentation of this file.
1 // Copyright 2019 Google LLC
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 // http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 
15 #ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_SPANNER_VERSION_H
16 #define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_SPANNER_VERSION_H
17 
19 #include "google/cloud/version.h"
20 #include <string>
21 
22 #define SPANNER_CLIENT_NS \
23  GOOGLE_CLOUD_CPP_VEVAL(SPANNER_CLIENT_VERSION_MAJOR, \
24  SPANNER_CLIENT_VERSION_MINOR)
25 
26 namespace google {
30 namespace cloud {
34 namespace spanner {
44 inline namespace SPANNER_CLIENT_NS {
48 int constexpr VersionMajor() { return SPANNER_CLIENT_VERSION_MAJOR; }
49 
53 int constexpr VersionMinor() { return SPANNER_CLIENT_VERSION_MINOR; }
54 
58 int constexpr VersionPatch() { return SPANNER_CLIENT_VERSION_PATCH; }
59 
61 int constexpr Version() {
62  return 100 * (100 * VersionMajor() + VersionMinor()) + VersionPatch();
63 }
64 
66 std::string VersionString();
67 
68 } // namespace SPANNER_CLIENT_NS
69 } // namespace spanner
70 } // namespace cloud
71 } // namespace google
72 
73 #endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_SPANNER_VERSION_H
#define SPANNER_CLIENT_VERSION_MINOR
Definition: version_info.h:19
std::string VersionString()
The version as a string, in MAJOR.MINOR.PATCH+gitrev format.
Definition: version.cc:24
int constexpr VersionMajor()
The Cloud spanner C++ Client major version.
Definition: version.h:48
int constexpr VersionPatch()
The Cloud spanner C++ Client patch version.
Definition: version.h:58
#define SPANNER_CLIENT_VERSION_MAJOR
Definition: version_info.h:18
Contains all the Cloud Spanner C++ client types and functions.
#define SPANNER_CLIENT_NS
Definition: version.h:22
#define SPANNER_CLIENT_VERSION_PATCH
Definition: version_info.h:20
int constexpr Version()
A single integer representing the Major/Minor/Patch version.
Definition: version.h:61
int constexpr VersionMinor()
The Cloud spanner C++ Client minor version.
Definition: version.h:53