3.11.0-rc 3.10.0 (latest) 3.9.0 3.8.0 3.7.0 3.6.0 3.5.0 3.4.0 3.3.0 3.2.0 2.48.0-rc 2.47.1 2.46.0 2.45.0 2.44.0 2.43.0 2.42.0 2.41.0 2.40.0 2.39.0 2.38.0 2.37.0 2.36.0 2.35.0 2.34.0 2.33.0 2.32.0 2.31.0 2.30.0 2.29.0 2.28.0 2.27.0 2.26.0 2.25.1 2.24.0 2.23.0 2.22.1 2.21.0 2.20.0 2.19.0 2.18.0 2.17.0 2.16.0 2.15.1 2.14.0 2.13.0 2.12.0 2.11.0 2.10.1 Contains all the Google Cloud C++ Library APIs.

## Classes

### [AsyncOperation](https://docs.cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1AsyncOperation)

Represents a pending asynchronous operation.

### [AsyncStreamingReadWriteRpc\<Request, Response\>](https://docs.cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1AsyncStreamingReadWriteRpc)

A streaming read-write RPC.

### [BackgroundThreads](https://docs.cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1BackgroundThreads)

A object representing the background threads available to a Client.

### [CompletionQueue](https://docs.cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1CompletionQueue)

Call the functor associated with asynchronous operations when they complete.

### [ConnectionOptions\<ConnectionTraits\>](https://docs.cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1ConnectionOptions)

The configuration parameters for client connections.

### [Credentials](https://docs.cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1Credentials)

An opaque representation of the authentication configuration.

### [ErrorInfo](https://docs.cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1ErrorInfo)

Describes the cause of the error with structured details.

### [future\<T\>](https://docs.cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1future)

Implement ISO/IEC TS 19571:2016 `future<T>`.

### [future\< void \>](https://docs.cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1future_3_01void_01_4)

Specialize ISO/IEC TS 19571:2016 future for void.

### [GenericPollingPolicy\<Retry, Backoff\>](https://docs.cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1GenericPollingPolicy)

Construct a polling policy from existing Retry and Backoff policies.

### [KmsKeyName](https://docs.cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1KmsKeyName)

This class identifies a Google Cloud KMS Key.

### [Location](https://docs.cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1Location)

A representation of a Cloud [Location](https://docs.cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1Location).

### [LogBackend](https://docs.cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1LogBackend)

The logging backend interface.

### [Logger\<bool\>](https://docs.cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1Logger)

Define the class to capture a log message.

### [Logger\< false \>](https://docs.cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1Logger_3_01false_01_4)

Define the logger for a disabled log level.

### [LogSink](https://docs.cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1LogSink)

A sink to receive log records.

### [Options](https://docs.cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1Options)

A class that holds option structs indexed by their type.

### [PollingPolicy](https://docs.cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1PollingPolicy)

Control the Cloud C++ client library behavior with respect to polling on long running operations.

### [Project](https://docs.cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1Project)

This class identifies a Cloud [Project](https://docs.cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1Project).

### [promise\<T\>](https://docs.cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1promise)

Implement ISO/IEC TS 19571:2016 `promise<T>`.

### [promise\< void \>](https://docs.cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1promise_3_01void_01_4)

Specialize ISO/IEC TS 19571:2016 promise for void.

### [ProxyConfig](https://docs.cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1ProxyConfig)

The configuration for a HTTP Proxy.

### [RetryPolicy](https://docs.cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1RetryPolicy)

Define the interface for retry policies.

### [RuntimeStatusError](https://docs.cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1RuntimeStatusError)

A runtime error that wraps a [`google::cloud::Status`](https://docs.cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1Status).

### [Status](https://docs.cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1Status)

Represents success or an error with info about the error.

### [StatusOr\<T\>](https://docs.cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1StatusOr)

Holds a value or a [`Status`](https://docs.cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1Status) indicating why there is no value.

### [StreamRange\<T\>](https://docs.cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1StreamRange)

A [`StreamRange`](https://docs.cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1StreamRange)`<T>` is a range of [`StatusOr`](https://docs.cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1StatusOr)`<T>` where the end-of-stream is indicated by a non-OK [`Status`](https://docs.cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1Status).

### [TracingOptions](https://docs.cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1TracingOptions)

The configuration parameters for RPC/protobuf tracing.

## Structs

### [AccessToken](https://docs.cloud.google.com/cpp/docs/reference/common/latest/structgoogle_1_1cloud_1_1AccessToken)

Represents an access token with a known expiration time.

### [AccessTokenLifetimeOption](https://docs.cloud.google.com/cpp/docs/reference/common/latest/structgoogle_1_1cloud_1_1AccessTokenLifetimeOption)

Configure the access token lifetime.

### [AsyncTimerResult](https://docs.cloud.google.com/cpp/docs/reference/common/latest/structgoogle_1_1cloud_1_1AsyncTimerResult)

The result of an async timer operation.

### [AuthorityOption](https://docs.cloud.google.com/cpp/docs/reference/common/latest/structgoogle_1_1cloud_1_1AuthorityOption)

Configure the "authority" attribute.

### [CARootsFilePathOption](https://docs.cloud.google.com/cpp/docs/reference/common/latest/structgoogle_1_1cloud_1_1CARootsFilePathOption)

Configures a custom CA (Certificates Authority) certificates file.

### [CustomHeadersOption](https://docs.cloud.google.com/cpp/docs/reference/common/latest/structgoogle_1_1cloud_1_1CustomHeadersOption)

An option to inject custom headers into the request.

### [DelegatesOption](https://docs.cloud.google.com/cpp/docs/reference/common/latest/structgoogle_1_1cloud_1_1DelegatesOption)

Configure the delegates for [`MakeImpersonateServiceAccountCredentials()`](about:invalid#zCSafez)

### [EnableServerRetriesOption](https://docs.cloud.google.com/cpp/docs/reference/common/latest/structgoogle_1_1cloud_1_1EnableServerRetriesOption)

Let the server make retry decisions, when applicable.

### [EndpointOption](https://docs.cloud.google.com/cpp/docs/reference/common/latest/structgoogle_1_1cloud_1_1EndpointOption)

Change the endpoint.

### [ExperimentalTag](https://docs.cloud.google.com/cpp/docs/reference/common/latest/structgoogle_1_1cloud_1_1ExperimentalTag)

An argument type to indicate experimental functions.

### [FieldMaskOption](https://docs.cloud.google.com/cpp/docs/reference/common/latest/structgoogle_1_1cloud_1_1FieldMaskOption)

Configure server-side filtering.

### [GrpcBackgroundThreadPoolSizeOption](https://docs.cloud.google.com/cpp/docs/reference/common/latest/structgoogle_1_1cloud_1_1GrpcBackgroundThreadPoolSizeOption)

The size of the background thread pool.

### [GrpcBackgroundThreadsFactoryOption](https://docs.cloud.google.com/cpp/docs/reference/common/latest/structgoogle_1_1cloud_1_1GrpcBackgroundThreadsFactoryOption)

Changes the `BackgroundThreadsFactory`.

### [GrpcChannelArgumentsNativeOption](https://docs.cloud.google.com/cpp/docs/reference/common/latest/structgoogle_1_1cloud_1_1GrpcChannelArgumentsNativeOption)

The native `grpc::ChannelArguments` object.

### [GrpcChannelArgumentsOption](https://docs.cloud.google.com/cpp/docs/reference/common/latest/structgoogle_1_1cloud_1_1GrpcChannelArgumentsOption)

A string-string map of arguments for `grpc::ChannelArguments::SetString`.

### [GrpcCompletionQueueOption](https://docs.cloud.google.com/cpp/docs/reference/common/latest/structgoogle_1_1cloud_1_1GrpcCompletionQueueOption)

The [`CompletionQueue`](https://docs.cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1CompletionQueue) to use for background gRPC work.

### [GrpcCompressionAlgorithmOption](https://docs.cloud.google.com/cpp/docs/reference/common/latest/structgoogle_1_1cloud_1_1GrpcCompressionAlgorithmOption)

The gRPC compression algorithm used by clients/operations configured with this object.

### [GrpcCredentialOption](https://docs.cloud.google.com/cpp/docs/reference/common/latest/structgoogle_1_1cloud_1_1GrpcCredentialOption)

The gRPC credentials used by clients configured with this object.

### [GrpcNumChannelsOption](https://docs.cloud.google.com/cpp/docs/reference/common/latest/structgoogle_1_1cloud_1_1GrpcNumChannelsOption)

The number of transport channels to create.

### [GrpcTracingOptionsOption](https://docs.cloud.google.com/cpp/docs/reference/common/latest/structgoogle_1_1cloud_1_1GrpcTracingOptionsOption)

The [`TracingOptions`](https://docs.cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1TracingOptions) to use when printing grpc protocol buffer messages.

### [Interface](https://docs.cloud.google.com/cpp/docs/reference/common/latest/structgoogle_1_1cloud_1_1Interface)

Sets the interface name to use as outgoing network interface.

### [LoggingComponentsOption](https://docs.cloud.google.com/cpp/docs/reference/common/latest/structgoogle_1_1cloud_1_1LoggingComponentsOption)

Enable logging for a set of components.

### [LogRecord](https://docs.cloud.google.com/cpp/docs/reference/common/latest/structgoogle_1_1cloud_1_1LogRecord)

Represents a single log message.

### [NoAwaitTag](https://docs.cloud.google.com/cpp/docs/reference/common/latest/structgoogle_1_1cloud_1_1NoAwaitTag)

### [NullStream](https://docs.cloud.google.com/cpp/docs/reference/common/latest/structgoogle_1_1cloud_1_1NullStream)

Implements operator\<\< for all types, without any effect.

### [OpenTelemetryTracingOption](https://docs.cloud.google.com/cpp/docs/reference/common/latest/structgoogle_1_1cloud_1_1OpenTelemetryTracingOption)

Enables tracing with [OpenTelemetry](https://opentelemetry.io/docs/instrumentation/cpp/)

### [ProxyOption](https://docs.cloud.google.com/cpp/docs/reference/common/latest/structgoogle_1_1cloud_1_1ProxyOption)

Configure the HTTP Proxy.

### [QuotaUserOption](https://docs.cloud.google.com/cpp/docs/reference/common/latest/structgoogle_1_1cloud_1_1QuotaUserOption)

Configure the QuotaUser [system parameter](https://cloud.google.com/apis/docs/system-parameters).

### [RestTracingOptionsOption](https://docs.cloud.google.com/cpp/docs/reference/common/latest/structgoogle_1_1cloud_1_1RestTracingOptionsOption)

The [`TracingOptions`](https://docs.cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1TracingOptions) to use when printing REST transport http messages.

### [RpcMetadata](https://docs.cloud.google.com/cpp/docs/reference/common/latest/structgoogle_1_1cloud_1_1RpcMetadata)

RPC request metadata.

### [ScopesOption](https://docs.cloud.google.com/cpp/docs/reference/common/latest/structgoogle_1_1cloud_1_1ScopesOption)

Configure the scopes for [`MakeImpersonateServiceAccountCredentials()`](about:invalid#zCSafez).

### [ServerTimeoutOption](https://docs.cloud.google.com/cpp/docs/reference/common/latest/structgoogle_1_1cloud_1_1ServerTimeoutOption)

Timeout for the server to finish processing the request.

### [SubjectOption](https://docs.cloud.google.com/cpp/docs/reference/common/latest/structgoogle_1_1cloud_1_1SubjectOption)

Overrides the subject for `MakeServiceAccountCredentials` and [`MakeServiceAccountCredentialsFromFile()`](about:invalid#zCSafez).

### [UnifiedCredentialsOption](https://docs.cloud.google.com/cpp/docs/reference/common/latest/structgoogle_1_1cloud_1_1UnifiedCredentialsOption)

A wrapper to store credentials into an options.

### [UserAgentProductsOption](https://docs.cloud.google.com/cpp/docs/reference/common/latest/structgoogle_1_1cloud_1_1UserAgentProductsOption)

User-agent products to include with each request.

### [UserIpOption](https://docs.cloud.google.com/cpp/docs/reference/common/latest/structgoogle_1_1cloud_1_1UserIpOption)

Configure the UserIp [system parameter](https://cloud.google.com/apis/docs/system-parameters).

### [UserProjectOption](https://docs.cloud.google.com/cpp/docs/reference/common/latest/structgoogle_1_1cloud_1_1UserProjectOption)

Specifies a project for quota and billing purposes.

## Enums

### [Idempotency](https://docs.cloud.google.com/cpp/docs/reference/common/latest/namespacegoogle_1_1cloud_1a7d65fd569564712b7cfe652613f30d9c)

Whether a request is [idempotent](https://en.wikipedia.org/wiki/Idempotence).

### [Severity](https://docs.cloud.google.com/cpp/docs/reference/common/latest/namespacegoogle_1_1cloud_1aeeb9b9a1eeb3fc7f6ff13bd078172922)

Define the severity levels for Google Cloud Platform C++ Libraries logging.

### [StatusCode](https://docs.cloud.google.com/cpp/docs/reference/common/latest/namespacegoogle_1_1cloud_1a90e17f75452470f0f3ee1a06ffe58847)

Well-known status codes with `grpc::StatusCode`-compatible values.

## Functions

### MakeGDCHServiceAccountCredentials(std::string, Options)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `audience` | `std::string` |
| `opts` | `Options` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `std::shared_ptr< Credentials >` |   |

### make_ready_future(T \&\&)

Create a [future](https://docs.cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1future_3_01void_01_4) that is immediately ready.

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `t` | `T &&` |
| `typename T` |   |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `auto` |   |

### make_ready_future()

Create a [future](https://docs.cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1future_3_01void_01_4) that is immediately ready.

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `future< void >` |   |

### MakeStatusFromRpcError(grpc::Status const \&)

Creates a [`google::cloud::Status`](https://docs.cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1Status) from a grpc::Status.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `status` | `grpc::Status const &` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `google::cloud::Status` |   |

### MakeStatusFromRpcError(grpc::StatusCode, std::string)

Creates a [`google::cloud::Status`](https://docs.cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1Status) from a grpc::StatusCode and description.

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `code` | `grpc::StatusCode` |
| `what` | `std::string` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `google::cloud::Status` |   |

### MakeStatusFromRpcError(google::rpc::Status const \&)

Creates a [`google::cloud::Status`](https://docs.cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1Status) from a `google:rpc::`[`Status`](https://docs.cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1Status) proto.
Some gRPC services return the `google::rpc::Status` proto for errors. The libraries in `google-cloud-cpp` represent these errors using a [`google::cloud::Status`](https://docs.cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1Status).

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `proto` | `google::rpc::Status const &` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `google::cloud::Status` |   |

### MakeKmsKeyName(std::string const \&)

Constructs a [`KmsKeyName`](https://docs.cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1KmsKeyName) from the given `full_name`.
Returns a non-OK [Status](https://docs.cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1Status) if `full_name` is improperly formed.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `full_name` | `std::string const &` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `StatusOr< KmsKeyName >` |   |

### MakeLocation(std::string const \&)

Constructs a [`Location`](https://docs.cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1Location) from the given `full_name`.
Returns a non-OK [Status](https://docs.cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1Status) if `full_name` is improperly formed.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `full_name` | `std::string const &` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `StatusOr< Location >` |   |

### ParseSeverity(std::string const \&)

Convert a human-readable representation to a Severity.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `name` | `std::string const &` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `std::optional< Severity >` |   |

### MakeProject(std::string const \&)

Constructs a [`Project`](https://docs.cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1Project) from the given `full_name`.
Returns a non-OK [Status](https://docs.cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1Status) if `full_name` is improperly formed.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `full_name` | `std::string const &` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `StatusOr< Project >` |   |

### StatusCodeToString(StatusCode)

Convert `code` to a human readable string.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `code` | `StatusCode` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `std::string` |   |

### make_status_or(T)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `rhs` | `T` |
| `typename T` |   |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `StatusOr< T >` |   |

### AddUniverseDomainOption(Options)

Creates an [`Options`](https://docs.cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1Options) containing the [`UnifiedCredentialsOption`](https://docs.cloud.google.com/cpp/docs/reference/common/latest/structgoogle_1_1cloud_1_1UnifiedCredentialsOption) and its corresponding `UniverseDomainOption`.
Uses the [`UnifiedCredentialsOption`](https://docs.cloud.google.com/cpp/docs/reference/common/latest/structgoogle_1_1cloud_1_1UnifiedCredentialsOption) in `options` or ApplicationDefaultCredentials if [`UnifiedCredentialsOption`](https://docs.cloud.google.com/cpp/docs/reference/common/latest/structgoogle_1_1cloud_1_1UnifiedCredentialsOption) is not found, and retrieves the universe_domain from those [`Credentials`](https://docs.cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1Credentials) and sets the `UniverseDomainOption` to the result.

If the Metadata Server needs to be called, this function checks the options for the `UniverseDomainRetryPolicyOption` and `UniverseDomainBackoffPolicyOption`. If either policy option is not present a default policy is used for the corresponding policy option.

If everything succeeds, the [`Options`](https://docs.cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1Options) returned contain both the [`UnifiedCredentialsOption`](https://docs.cloud.google.com/cpp/docs/reference/common/latest/structgoogle_1_1cloud_1_1UnifiedCredentialsOption) and the `UniverseDomainOption`. If the [`RetryPolicy`](https://docs.cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1RetryPolicy) becomes exhausted or other errors are encountered, that [`Status`](https://docs.cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1Status) is returned.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `options` | `Options` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `StatusOr< Options >` |   |

### GetUniverseDomain(Credentials const \&, Options const \&)

Interrogates the provided credentials for the universe_domain.
If the Metadata Server needs to be called, this function checks the options for the `UniverseDomainRetryPolicyOption` and `UniverseDomainBackoffPolicyOption`. If either policy option is not present a default policy is used for the corresponding policy option.

If successful the universe_domain value is returned, otherwise a [`Status`](https://docs.cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1Status) indicating the error encountered is returned.

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `credentials` | `Credentials const &` |
| `options` | `Options const &` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `StatusOr< std::string >` |   |

### version_major()

The Google Cloud C++ Client major version.

###### See Also

<https://semver.org/spec/v2.0.0.html> for details.

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `int constexpr` |   |

### version_minor()

The Google Cloud C++ Client minor version.

###### See Also

<https://semver.org/spec/v2.0.0.html> for details.

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `int constexpr` |   |

### version_patch()

The Google Cloud C++ Client patch version.

###### See Also

<https://semver.org/spec/v2.0.0.html> for details.

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `int constexpr` |   |

### version_pre_release()

The Google Cloud C++ Client pre-release version.

###### See Also

<https://semver.org/spec/v2.0.0.html> for details.

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `char const *` |   |

### version()

A single integer representing the Major/Minor/Patch version.

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `int constexpr` |   |

### version_string()

The version as a string, in MAJOR.MINOR.PATCH\[-PRE\]\[+gitrev\] format.

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `std::string` |   |

## Type Aliases

### CommonOptionList

**Alias Of** : `OptionList< EndpointOption, UserAgentProductsOption, LoggingComponentsOption, UserProjectOption, AuthorityOption, CustomHeadersOption >` A list of all the common options.

### BackoffPolicy

**Alias Of** : `::google::cloud::internal::BackoffPolicy` The base class for backoff policies.

### ExponentialBackoffPolicy

**Alias Of** : `google::cloud::internal::ExponentialBackoffPolicy` A truncated exponential backoff policy with randomized periods.

### UnifiedCredentialsOptionList

**Alias Of** : `OptionList< AccessTokenLifetimeOption, CARootsFilePathOption, DelegatesOption, ScopesOption, LoggingComponentsOption, UnifiedCredentialsOption, experimental::ClientSslCertificateOption, experimental::CAInMemoryOption >` A list of options related to authentication.

### BackgroundThreadsFactory

**Alias Of** : `std::function< std::unique_ptr< BackgroundThreads >()>`

### GrpcOptionList

**Alias Of** : `OptionList< GrpcCredentialOption, GrpcCompressionAlgorithmOption, GrpcNumChannelsOption, GrpcChannelArgumentsOption, GrpcChannelArgumentsNativeOption, GrpcTracingOptionsOption, GrpcBackgroundThreadPoolSizeOption, GrpcCompletionQueueOption, GrpcBackgroundThreadsFactoryOption >` A list of all the gRPC options.

### IamUpdater

**Alias Of** : `std::function< std::optional< google::iam::v1::Policy >( google::iam::v1::Policy)>` Used in the `SetIamPolicy()` read-modify-write cycles where an `etag` helps prevent simultaneous updates of a policy from overwriting each other.
The updater is called with a recently fetched policy, and should either return an empty optional if no changes are required, or return a new policy to be set. In the latter case the updater should either (1) set the `etag` of the returned policy to that of the recently fetched policy (strongly suggested), or (2) not set the `etag` at all.

In case (1) if the `etag` does not match the existing policy (i.e., there has been an intermediate update), this update is dropped and a new cycle is initiated. In case (2) the existing policy is overwritten blindly.

### optional

**Alias Of** : `std::optional< T >` Alias template for [`google::cloud::optional`](https://docs.cloud.google.com/cpp/docs/reference/common/latest/namespacegoogle_1_1cloud).

> [!WARNING]
> **Deprecated:** this alias is deprecated; use `std::optional<T>` directly.

### OptionList

**Alias Of** : `internal::TypeList< T... >` A template to hold a list of "option" types.
This can be a useful way to create meaningful lists of options. For example, there could be a list containing all the gRPC options. Or a list of all ProductX options. This gives us a way to link to lists of options with doxygen, and to do some checking about what options a function may expect.

### RestOptionList

**Alias Of** : `::google::cloud::OptionList< QuotaUserOption, RestTracingOptionsOption, ServerTimeoutOption, UserIpOption, Interface, experimental::SslCtxCallbackOption >` The complete list of options accepted by `CurlRestClient`