/*!

@mainpage Retail API C++ Client Library

An idiomatic C++ client library for the [Retail API][cloud-service-docs]. Cloud
Retail service enables customers to build end-to-end personalized recommendation
systems without requiring a high level of expertise in machine learning,
recommendation system, or Google Cloud.

While this library is **GA**, please note Google Cloud C++ client libraries do **not** follow [Semantic Versioning](https://semver.org/).

@tableofcontents{HTML:2}

## Quickstart

The following shows the code that you'll run in the
`google/cloud/retail/quickstart/` directory,
which should give you a taste of the Retail API C++ client library API.

@snippet quickstart.cc all

## Main classes

<!-- inject-client-list-start -->
This library offers multiple `*Client` classes, which are listed below. Each one
of these classes exposes all the RPCs for a service as member functions of the
class. This library groups multiple services because they are part of the same
product or are often used together. A typical example may be the administrative
and data plane operations for a single product.

The library also has other classes that provide helpers, configuration
parameters, and infrastructure to mock the `*Client` classes when testing your
application.

- [\c retail_v2::CatalogServiceClient](@ref google::cloud::retail_v2::CatalogServiceClient)
- [\c retail_v2::CompletionServiceClient](@ref google::cloud::retail_v2::CompletionServiceClient)
- [\c retail_v2::ControlServiceClient](@ref google::cloud::retail_v2::ControlServiceClient)
- [\c retail_v2::ModelServiceClient](@ref google::cloud::retail_v2::ModelServiceClient)
- [\c retail_v2::PredictionServiceClient](@ref google::cloud::retail_v2::PredictionServiceClient)
- [\c retail_v2::ProductServiceClient](@ref google::cloud::retail_v2::ProductServiceClient)
- [\c retail_v2::SearchServiceClient](@ref google::cloud::retail_v2::SearchServiceClient)
- [\c retail_v2::ServingConfigServiceClient](@ref google::cloud::retail_v2::ServingConfigServiceClient)
- [\c retail_v2::UserEventServiceClient](@ref google::cloud::retail_v2::UserEventServiceClient)
<!-- inject-client-list-end -->

## More Information

- @ref common-error-handling - describes how the library reports errors.
- @ref retail-override-endpoint - describes how to override the default
  endpoint.
- @ref retail-override-authentication - describes how to change the
  authentication credentials used by the library.
- @ref retail-override-retry - describes how to change the default retry
  policies.
- @ref retail-env - describes environment variables that can configure the behavior of the library.

[cloud-service-docs]: https://cloud.google.com/retail/docs

*/
