VLFeat - Documentation > C API

# VLFeat.org

Documentation> C API

- Main Page
- Related Pages
- Data Structures
- Files

Preprocessor metaprogramming

Author
  Andrea Vedaldi

Part of VLFeat code uses a simple form of preprocessor metaprogramming. This technique is used, similarly to C++ templates, to instantiate multiple version of a given algorithm for different data types (e.g. `float` and `double`).

In most cases preprocessor metaprogramming is invisible to the library user, as it is used only internally.