---
metadata:
  - name: generator
    content: Diplodoc Platform v5.54.5
alternate:
  - https://catboost.ai/docs/en/concepts/c-plus-plus-api_header-only-evaluator.md
  - href: en/concepts/c-plus-plus-api_header-only-evaluator.md
    type: text/markdown
    title: Markdown version
  - href: ../llms.txt
    type: text/markdown
    title: llms.txt
---
> **Documentation Index:** Fetch the complete configuration index at https://catboost.ai/docs/en/llms.txt

# Standalone evaluator

Allows to integrate the CatBoost code into Android projects and simplifies the integration of CatBoost in the CERN experiments.

This method of using a trained model is not recommended due to several limitations:
- Only models with float features are supported.
- Dependency from the FlatBuffers library. The `flatc` toolkit must either be built manually or integrated into your build system.

Refer to the [CMake project](https://github.com/catboost/catboost/blob/master/catboost/libs/standalone_evaluator/CMakeLists.txt) and an [example](https://github.com/catboost/catboost/blob/master/catboost/libs/standalone_evaluator/example.cpp) in the CatBoost repository for more details.

A code snippet:
```cpp
NCatboostStandalone::TOwningEvaluator evaluator("model.cbm");
auto modelFloatFeatureCount = (size_t)evaluator.GetFloatFeatureCount();
std::cout << "Model uses: " << modelFloatFeatureCount << " float features" << std::endl;
std::vector<float> features(modelFloatFeatureCount);
std::cout << evaluator.Apply(features, NCatboostStandalone::EPredictionType::RawValue) << std::endl;
```
