# Gaborator reference: API Introduction

The public API of the Gaborator library is defined in the HTML documentation in the form of annotated C++ declarations. These are similar to the actual declarations in the respective header files, but simplified for clarity and omitting implementation details.

The actual implementation in the header file may be different in a number of ways but nonetheless compatible with the documented API. For example, classes may be declared using the keyword `struct` rather than `class`, function parameter names may be different, types may be declared using different but equivalent typedefs, and functions or templates in the header file may have additional arguments with default values. Any classes, functions, and other definitions not mentioned in the documentation should be considered private and are subject to change or deletion without notice.

All definitions are in the namespace `gaborator`. Applications need to either prefix class names with `gaborator::`, or use `using namespace gaborator;`.