Vectorscan is a regular expression engine designed to offer high performance, the ability to match multiple expressions simultaneously and flexibility in scanning operation.
Patterns are provided to a compilation interface which generates an immutable pattern database. The scan interface then can be used to scan a target data buffer for the given patterns, returning any matching results from that data buffer. Vectorscan also provides a streaming mode, in which matches that span several blocks in a stream are detected.
This document is designed to facilitate code-level integration of the Vectorscan library with existing or new applications.
:ref:`intro` is a short overview of the Vectorscan library, with more detail on the Vectorscan API provided in the subsequent sections: :ref:`compilation` and :ref:`runtime`.
:ref:`perf` provides details on various factors which may impact the performance of a Vectorscan integration.
:ref:`api_constants` and :ref:`api_files` provides a detailed summary of the Vectorscan Application Programming Interface (API).
This guide is aimed at developers interested in integrating Vectorscan into an application. For information on building the Vectorscan library, see the Quick Start Guide.
- Text in a
fixed-width font
refers to a code element, e.g. type name; function or method name. - Text in a :regexp:`coloured fixed-width font` refers to a regular expression or a part of a regular expression.