Google Cloud C++ Client  1.33.0
C++ Client Library for Google Cloud Platform
Namespaces | Macros | Functions
version.h File Reference
#include "google/cloud/internal/attributes.h"
#include "google/cloud/internal/port_platform.h"
#include "google/cloud/internal/version_info.h"
#include <string>

Go to the source code of this file.

Namespaces

 google
 
 google::cloud
 Contains all the Google Cloud C++ Library APIs.
 

Macros

#define GOOGLE_CLOUD_CPP_IAM_DEPRECATED
 
#define GOOGLE_CLOUD_CPP_VCONCAT(Ma, Mi, Pa)   v##Ma##_##Mi##_##Pa
 
#define GOOGLE_CLOUD_CPP_VEVAL(Ma, Mi, Pa)   GOOGLE_CLOUD_CPP_VCONCAT(Ma, Mi, Pa)
 
#define GOOGLE_CLOUD_CPP_NS
 
#define GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN    inline namespace GOOGLE_CLOUD_CPP_NS {
 Versioned inline namespace that users should generally avoid spelling. More...
 
#define GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END
 
#define GOOGLE_CLOUD_CPP_GENERATED_NS   GOOGLE_CLOUD_CPP_NS
 

Functions

constexpr int google::cloud::version_major ()
 The Google Cloud Storage C++ Client major version. More...
 
constexpr int google::cloud::version_minor ()
 The Google Cloud Storage C++ Client minor version. More...
 
constexpr int google::cloud::version_patch ()
 The Google Cloud Storage C++ Client patch version. More...
 
constexpr int google::cloud::version ()
 A single integer representing the Major/Minor/Patch version. More...
 
std::string google::cloud::version_string ()
 The version as a string, in MAJOR.MINOR.PATCH+gitrev format. More...
 

Macro Definition Documentation

◆ GOOGLE_CLOUD_CPP_GENERATED_NS

#define GOOGLE_CLOUD_CPP_GENERATED_NS   GOOGLE_CLOUD_CPP_NS

Definition at line 60 of file version.h.

◆ GOOGLE_CLOUD_CPP_IAM_DEPRECATED

#define GOOGLE_CLOUD_CPP_IAM_DEPRECATED
Value:
GOOGLE_CLOUD_CPP_DEPRECATED( \
"this type predates IAM conditions and does not work with policies " \
"that include IAM conditions. The functions that use this type are " \
"deprecated and will be be removed on 2022-04-01 or shortly " \
"after. See GitHub issue #5929 for more information.")

Definition at line 23 of file version.h.

◆ GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN

#define GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN    inline namespace GOOGLE_CLOUD_CPP_NS {

Versioned inline namespace that users should generally avoid spelling.

The actual inline namespace name will change with each release, and if you use it your code will be tightly coupled to a specific release. Omitting the inline namespace name will make upgrading to newer releases easier.

However, applications may need to link multiple versions of the Google Cloud C++ Libraries, for example, if they link a library that uses an older version of the libraries than they do. This namespace is inlined, so applications can use google::cloud::Foo in their source, but the symbols are versioned, i.e., the symbol becomes google::cloud::vXYZ::Foo.

Definition at line 50 of file version.h.

◆ GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END

#define GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END
Value:
} /* namespace GOOGLE_CLOUD_CPP_NS */ \
namespace v1 = GOOGLE_CLOUD_CPP_NS; \
namespace gcpcxxV1 = GOOGLE_CLOUD_CPP_NS;
#define GOOGLE_CLOUD_CPP_NS
Definition: version.h:32

Definition at line 52 of file version.h.

◆ GOOGLE_CLOUD_CPP_NS

#define GOOGLE_CLOUD_CPP_NS
Value:
GOOGLE_CLOUD_CPP_VEVAL(GOOGLE_CLOUD_CPP_VERSION_MAJOR, \
GOOGLE_CLOUD_CPP_VERSION_MINOR, \
GOOGLE_CLOUD_CPP_VERSION_PATCH)
#define GOOGLE_CLOUD_CPP_VEVAL(Ma, Mi, Pa)
Definition: version.h:31

Definition at line 32 of file version.h.

◆ GOOGLE_CLOUD_CPP_VCONCAT

#define GOOGLE_CLOUD_CPP_VCONCAT (   Ma,
  Mi,
  Pa 
)    v##Ma##_##Mi##_##Pa

Definition at line 30 of file version.h.

◆ GOOGLE_CLOUD_CPP_VEVAL

#define GOOGLE_CLOUD_CPP_VEVAL (   Ma,
  Mi,
  Pa 
)    GOOGLE_CLOUD_CPP_VCONCAT(Ma, Mi, Pa)

Definition at line 31 of file version.h.