Documentation>C API
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.