# TensorFlow Serving C++ API Reference

## [tensorflow::serving](https://www.tensorflow.org/tfx/serving/api_docs/cc/namespace/tensorflow/serving)

| ### Classes ||
|---|---|
| [tensorflow::serving::AspiredVersionPolicy](https://www.tensorflow.org/tfx/serving/api_docs/cc/class/tensorflow/serving/aspired-version-policy) | An interface for the policy to be applied for transitioning servable versions in a servable stream. |
| [tensorflow::serving::AspiredVersionPolicy::ServableAction](https://www.tensorflow.org/tfx/serving/api_docs/cc/struct/tensorflow/serving/aspired-version-policy/servable-action) | Action and the id of the servable associated with it. |
| [tensorflow::serving::AspiredVersionsManager](https://www.tensorflow.org/tfx/serving/api_docs/cc/class/tensorflow/serving/aspired-versions-manager) | A manager that implements the Target\<[Loader](https://www.tensorflow.org/tfx/serving/api_docs/cc/class/tensorflow/serving/loader#classtensorflow_1_1serving_1_1_loader)\> API which uses aspired-versions callbacks to dictate which servable versions to load. |
| [tensorflow::serving::AspiredVersionsManager::Options](https://www.tensorflow.org/tfx/serving/api_docs/cc/struct/tensorflow/serving/aspired-versions-manager/options) | Config options and pluggable objects that will be used by the [AspiredVersionsManager](https://www.tensorflow.org/tfx/serving/api_docs/cc/class/tensorflow/serving/aspired-versions-manager#classtensorflow_1_1serving_1_1_aspired_versions_manager). |
| [tensorflow::serving::AspiredVersionsManagerBuilder](https://www.tensorflow.org/tfx/serving/api_docs/cc/class/tensorflow/serving/aspired-versions-manager-builder) | Builds an [AspiredVersionsManager](https://www.tensorflow.org/tfx/serving/api_docs/cc/class/tensorflow/serving/aspired-versions-manager#classtensorflow_1_1serving_1_1_aspired_versions_manager) with options and sources connected to it. |
| [tensorflow::serving::BasicManager](https://www.tensorflow.org/tfx/serving/api_docs/cc/class/tensorflow/serving/basic-manager) | Helps manage the lifecycle of servables including loading, serving and unloading them. |
| [tensorflow::serving::BasicManager::Options](https://www.tensorflow.org/tfx/serving/api_docs/cc/struct/tensorflow/serving/basic-manager/options) | Config options and pluggable objects that will be used by the [BasicManager](https://www.tensorflow.org/tfx/serving/api_docs/cc/class/tensorflow/serving/basic-manager#classtensorflow_1_1serving_1_1_basic_manager). |
| [tensorflow::serving::CachingManager](https://www.tensorflow.org/tfx/serving/api_docs/cc/class/tensorflow/serving/caching-manager) | A manager that manages and loads servables on-demand. |
| [tensorflow::serving::CachingManager::LoaderFactory](https://www.tensorflow.org/tfx/serving/api_docs/cc/class/tensorflow/serving/caching-manager/loader-factory) | An abstraction for a loader-factory to map from a servable request to the corresponding loader. |
| [tensorflow::serving::CachingManager::Options](https://www.tensorflow.org/tfx/serving/api_docs/cc/struct/tensorflow/serving/caching-manager/options) | Config options and pluggable objects that will be used by the [CachingManager](https://www.tensorflow.org/tfx/serving/api_docs/cc/class/tensorflow/serving/caching-manager#classtensorflow_1_1serving_1_1_caching_manager). |
| [tensorflow::serving::ClassifierInterface](https://www.tensorflow.org/tfx/serving/api_docs/cc/class/tensorflow/serving/classifier-interface) | Model-type agnostic interface for performing classification. |
| [tensorflow::serving::FileSystemStoragePathSource](https://www.tensorflow.org/tfx/serving/api_docs/cc/class/tensorflow/serving/file-system-storage-path-source) | A storage path source that aspires versions for a given set of servables. |
| [tensorflow::serving::Loader](https://www.tensorflow.org/tfx/serving/api_docs/cc/class/tensorflow/serving/loader) | A standardized abstraction for an object that manages the lifecycle of a servable, including loading and unloading it. |
| [tensorflow::serving::Loader::Metadata](https://www.tensorflow.org/tfx/serving/api_docs/cc/struct/tensorflow/serving/loader/metadata) | The metadata consists of the ServableId. |
| [tensorflow::serving::LoaderHarness](https://www.tensorflow.org/tfx/serving/api_docs/cc/class/tensorflow/serving/loader-harness) | [LoaderHarness](https://www.tensorflow.org/tfx/serving/api_docs/cc/class/tensorflow/serving/loader-harness#classtensorflow_1_1serving_1_1_loader_harness) is a widget the [Manager](https://www.tensorflow.org/tfx/serving/api_docs/cc/class/tensorflow/serving/manager#classtensorflow_1_1serving_1_1_manager) uses to hold on to and talk to a [Loader](https://www.tensorflow.org/tfx/serving/api_docs/cc/class/tensorflow/serving/loader#classtensorflow_1_1serving_1_1_loader) while it owns it. |
| [tensorflow::serving::LoaderHarness::Options](https://www.tensorflow.org/tfx/serving/api_docs/cc/struct/tensorflow/serving/loader-harness/options) | [Options](https://www.tensorflow.org/tfx/serving/api_docs/cc/struct/tensorflow/serving/loader-harness/options#structtensorflow_1_1serving_1_1_loader_harness_1_1_options) to configure a [LoaderHarness](https://www.tensorflow.org/tfx/serving/api_docs/cc/class/tensorflow/serving/loader-harness#classtensorflow_1_1serving_1_1_loader_harness). |
| [tensorflow::serving::Manager](https://www.tensorflow.org/tfx/serving/api_docs/cc/class/tensorflow/serving/manager) | [Manager](https://www.tensorflow.org/tfx/serving/api_docs/cc/class/tensorflow/serving/manager#classtensorflow_1_1serving_1_1_manager) is responsible for loading, unloading, lookup and lifetime management of all Servable objects via their Loaders. |
| [tensorflow::serving::PathPrefixLoaderFactory](https://www.tensorflow.org/tfx/serving/api_docs/cc/class/tensorflow/serving/path-prefix-loader-factory) | A simple LoaderFactory that looks for a servable at a path formed by concatenating a fixed path prefix with the servable's name. |
| [tensorflow::serving::RegressorInterface](https://www.tensorflow.org/tfx/serving/api_docs/cc/class/tensorflow/serving/regressor-interface) | Model agnostic interface for performing regression. |
| [tensorflow::serving::ResourceUnsafeLoader](https://www.tensorflow.org/tfx/serving/api_docs/cc/class/tensorflow/serving/resource-unsafe-loader) | A [Loader](https://www.tensorflow.org/tfx/serving/api_docs/cc/class/tensorflow/serving/loader#classtensorflow_1_1serving_1_1_loader) that is oblivious to resources. |
| [tensorflow::serving::SavedModelBundleFactory](https://www.tensorflow.org/tfx/serving/api_docs/cc/class/tensorflow/serving/saved-model-bundle-factory) | A factory that creates SavedModelBundles from SavedModel or SessionBundle export paths. |
| [tensorflow::serving::ServableHandle](https://www.tensorflow.org/tfx/serving/api_docs/cc/class/tensorflow/serving/servable-handle) | A smart pointer to the underlying servable object T retrieved from the [Loader](https://www.tensorflow.org/tfx/serving/api_docs/cc/class/tensorflow/serving/loader#classtensorflow_1_1serving_1_1_loader). |
| [tensorflow::serving::ServableStateMonitor](https://www.tensorflow.org/tfx/serving/api_docs/cc/class/tensorflow/serving/servable-state-monitor) | A utility that listens to an EventBus\<ServableState\>, and keeps track of the state of each servable mentioned on the bus. |
| [tensorflow::serving::ServerCore](https://www.tensorflow.org/tfx/serving/api_docs/cc/class/tensorflow/serving/server-core) | [ServerCore](https://www.tensorflow.org/tfx/serving/api_docs/cc/class/tensorflow/serving/server-core#classtensorflow_1_1serving_1_1_server_core) contains state and helper methods enabling the building of ModelServers that support multiple interfaces. |
| [tensorflow::serving::ServerCore::Options](https://www.tensorflow.org/tfx/serving/api_docs/cc/struct/tensorflow/serving/server-core/options) | [Options](https://www.tensorflow.org/tfx/serving/api_docs/cc/struct/tensorflow/serving/server-core/options#structtensorflow_1_1serving_1_1_server_core_1_1_options) for configuring a [ServerCore](https://www.tensorflow.org/tfx/serving/api_docs/cc/class/tensorflow/serving/server-core#classtensorflow_1_1serving_1_1_server_core) object. |
| [tensorflow::serving::ServingSession](https://www.tensorflow.org/tfx/serving/api_docs/cc/class/tensorflow/serving/serving-session) | A Session that blocks state-changing methods such as Close(), while allowing Run() for read-only access (not enforced). |
| [tensorflow::serving::ServingSessionWrapper](https://www.tensorflow.org/tfx/serving/api_docs/cc/class/tensorflow/serving/serving-session-wrapper) | A [ServingSession](https://www.tensorflow.org/tfx/serving/api_docs/cc/class/tensorflow/serving/serving-session#classtensorflow_1_1serving_1_1_serving_session) that wraps a given Session, and blocks all calls other than Run(). |
| [tensorflow::serving::SessionWrapperIgnoreThreadPoolOptions](https://www.tensorflow.org/tfx/serving/api_docs/cc/class/tensorflow/serving/session-wrapper-ignore-thread-pool-options) |   |
| [tensorflow::serving::SharedPtrHandle](https://www.tensorflow.org/tfx/serving/api_docs/cc/class/tensorflow/serving/shared-ptr-handle) | An implementation of [UntypedServableHandle](https://www.tensorflow.org/tfx/serving/api_docs/cc/class/tensorflow/serving/untyped-servable-handle#classtensorflow_1_1serving_1_1_untyped_servable_handle) using shared_ptr to do ref-counting on the [Loader](https://www.tensorflow.org/tfx/serving/api_docs/cc/class/tensorflow/serving/loader#classtensorflow_1_1serving_1_1_loader) that owns the Servable. |
| [tensorflow::serving::Source](https://www.tensorflow.org/tfx/serving/api_docs/cc/class/tensorflow/serving/source) | An abstraction for a module that sources servables to load, or, more precisely, handles to data that can be used to load those servables. |
| [tensorflow::serving::SourceAdapter](https://www.tensorflow.org/tfx/serving/api_docs/cc/class/tensorflow/serving/source-adapter) | An abstraction for a module that receives aspired-version callbacks with data of type InputType and converts them into calls with data of type OutputType. |
| [tensorflow::serving::UntypedServableHandle](https://www.tensorflow.org/tfx/serving/api_docs/cc/class/tensorflow/serving/untyped-servable-handle) | A non-templatized handle to a servable, used internally in the [Manager](https://www.tensorflow.org/tfx/serving/api_docs/cc/class/tensorflow/serving/manager#classtensorflow_1_1serving_1_1_manager) to retrieve a type-erased servable object from the [Loader](https://www.tensorflow.org/tfx/serving/api_docs/cc/class/tensorflow/serving/loader#classtensorflow_1_1serving_1_1_loader). |

| ### Structs ||
|---|---|
| [tensorflow::serving::AspiredServableStateSnapshot](https://www.tensorflow.org/tfx/serving/api_docs/cc/struct/tensorflow/serving/aspired-servable-state-snapshot) | A snapshot of a servable's state and aspiredness. |
| [tensorflow::serving::ServableRequest](https://www.tensorflow.org/tfx/serving/api_docs/cc/struct/tensorflow/serving/servable-request) | A query for a specific loaded servable object. |