# qca_tools.h File Reference

Header file for "tool" classes used in QCA. More...

`#include <QSharedData>`
`#include <QSharedDataPointer>`
`#include <QMetaType>`
`#include "qca_export.h"`

Include dependency graph for qca_tools.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Namespaces

namespace | QCA

## Classes

class | QCA::BigInteger
| Arbitrary precision integer. More...
class | QCA::MemoryRegion
| Array of bytes that may be optionally secured. More...
class | QCA::SecureArray
| Secure array of bytes. More...

## Functions

QCA_EXPORT const SecureArray | QCA::operator+ (const SecureArray &a, const SecureArray &b)
QCA_EXPORT void * | qca_secure_alloc (int bytes)
QCA_EXPORT void | qca_secure_free (void *p)
QCA_EXPORT void * | qca_secure_realloc (void *p, int bytes)

## Detailed Description

Header file for "tool" classes used in QCA.

These classes differ from those in qca_support.h, in that they have some cryptographic relationship, and require secure memory.

Note:
  You should not use this header directly from an application. You should just use `#include <QtCrypto>` instead.

## Function Documentation

QCA_EXPORT void* qca_secure_alloc | ( | int | bytes | ) |

Allocate a block of memory from the secure memory pool.

This is intended to be used when working with C libraries.

Parameters:

  | bytes | the number of bytes to allocate

QCA_EXPORT void qca_secure_free | ( | void * | p | ) |

Free (de-allocate) a block of memory that has been previously allocated from the secure memory pool.

This is intended to be used when working with C libraries.

Parameters:

  | p | pointer to the block of memory to be free'd

QCA_EXPORT void* qca_secure_realloc | ( | void * | p,
|  | int | bytes |
| ) |  |  |

Resize (re-allocate) a block of memory that has been previously allocated from the secure memory pool.

Parameters:

  | p | pointer to the block of memory to be resized.
  | bytes | the new size that is required.