name: AlgorithmBase

synopsis:

This class is never used directly. It is inherited by all Algorithms
classes.  Users will mainly interact with it indirectly by using some of
the enumerations included in the class definition, and its protected
data, which plays an important part in the control structure for all
Algorithm classes.  AlgorithmBase, like many of the classes named
Algorithm, play an important role in the signal processing tools found
in the Signal Processing library.
quick start:

Filter filt;
filt.setSampleFrequency(16000.0);
filt.setFrameDuration(0.020);
description:

The AlgorithmBase class is inherited by all Algorithm classes, and contains some information (data and methods) expected to be common to all such classes. For example, variables that hold debugging information, error codes, initialization status, sample frequency, frame duration, and I/O are stored in AlgorithmBase. Several important enumerations are also defined here.

However, this information is never accessed by instantiating an AlgorithmBase object directly. Rather, this information is accessed via the inherited class. A typical case is shown in the quick start example above. Correlation is an Algorithm class that inherits AlgorithmBase. The set methods invoked above are available through inheritance. The data members that store this information are contained in AlgorithmBase.

AlgorithmBase serves two important functions. First, it defines the interface contract that all Algorithm classes must adhere to in order that they can be used by transform_builder. Second, it centralizes useful data common to all algorithms, such as sample frequency and frame duration.

dependencies:

public constants: error codes:

protected data:

required public methods:

class-specific public methods:

private methods: examples:

notes: