# QCA::Filter Class Reference
[QCA user API]

General superclass for filtering transformation algorithms. More...

`#include <QtCrypto>`

Inheritance diagram for QCA::Filter:

List of all members.

## Public Member Functions

virtual void | clear ()=0
virtual MemoryRegion | final ()=0
virtual bool | ok () const =0
MemoryRegion | process (const MemoryRegion &a)
virtual MemoryRegion | update (const MemoryRegion &a)=0

## Detailed Description

General superclass for filtering transformation algorithms.

A filtering computation is characterised by having the algorithm take input data in an incremental way, with results delivered for each input, or block of input. Some internal state may be managed, with the transformation completed when final() is called.

If this seems a big vague, then you might try deriving your class from a subclass with stronger semantics, or if your update() function is always returning null results, and everything comes out at final(), try BufferedComputation.

## Member Function Documentation

virtual void QCA::Filter::clear | ( |  | ) | `[pure virtual]`

Reset the internal state.

Implemented in QCA::Cipher, QCA::Hex, and QCA::Base64.

virtual MemoryRegion QCA::Filter::final | ( |  | ) | `[pure virtual]`

Complete the algorithm, returning any additional results.

Implemented in QCA::Cipher, QCA::Hex, and QCA::Base64.

virtual bool QCA::Filter::ok | ( |  | ) | const`[pure virtual]`

Test if an update() or final() call succeeded.

Returns:
  true if the previous call succeeded

Implemented in QCA::Cipher, QCA::Hex, and QCA::Base64.

MemoryRegion QCA::Filter::process | ( | const MemoryRegion & | a | ) |

Perform an "all in one" update, returning the result.

This is appropriate if you have all the data in one array - just call process on that array, and you will get back the results of the computation.

Note:
  This will invalidate any previous computation using this object.

Parameters:

  | a | the data to process in this step

Examples:
  aes-cmac.cpp, and ciphertest.cpp.

virtual MemoryRegion QCA::Filter::update | ( | const MemoryRegion & | a | ) | `[pure virtual]`

Process more data, returning the corresponding filtered version of the data.

Parameters:

  | a | the array containing data to process

Implemented in QCA::Cipher, QCA::Hex, and QCA::Base64.

The documentation for this class was generated from the following file:

- qca_core.h