| Face Engine SDK 4.9.0 A face detection, recognition and tracking engine.

Public Member Functions | List of all members
fsdk::IDynamicDescriptorStorage Struct Referenceabstract

Dynamic descriptor storage interface. More...

`#include <IIndex.h>`

Inheritance diagram for fsdk::IDynamicDescriptorStorage:

## Public Member Functions
virtual ResultValue< FSDKError, DescriptorId > | appendDescriptor (const IDescriptor *desciptor) noexcept=0
| Appends descriptor to internal storage. If used on. More...
virtual ResultValue< FSDKError, DescriptorId > | appendBatch (const IDescriptorBatch *batch) noexcept=0
| Appends batch of descriptors to internal storage. If used on. More...
virtual Result< FSDKError > | removeDescriptor (const DescriptorId index) noexcept=0
| Removes descriptor out of internal storage. If used on. More...
Public Member Functions inherited from fsdk::IStaticDescriptorStorage
virtual Result< FSDKError > | descriptorByIndex (const DescriptorId index, IDescriptor *descriptor) const noexcept=0
| Requests descriptor data out of internal storage. More...
virtual uint64_t | size () const noexcept=0
| Return size of internal storage. More...

## Detailed Description

Dynamic descriptor storage interface.

You may think of it as read+write access to some internal container.

## Member Function Documentation

## ◆ appendBatch()

virtual ResultValue<FSDKError, DescriptorId> fsdk::IDynamicDescriptorStorage::appendBatch | ( | const IDescriptorBatch * | batch | ) |
| pure virtual noexcept

Appends batch of descriptors to internal storage. If used on.

See also
  IDynamicIndex graph updates itself too.

Parameters

  batch | Batch of descriptors with correct length, version and data.

Returns
  One of the error codes specified by

See also
  FSDKError and identification of the first appended descriptor. Other descriptors from batch are appended sequentially in the same order as they are in the batch. Such identification might be used to query descriptor with
  IStaticDescriptorStorage::descriptorByIndex or remove it from storage with
  removeDescriptor.

## ◆ appendDescriptor()

virtual ResultValue<FSDKError, DescriptorId> fsdk::IDynamicDescriptorStorage::appendDescriptor | ( | const IDescriptor * | desciptor | ) |
| pure virtual noexcept

Appends descriptor to internal storage. If used on.

See also
  IDynamicIndex graph updates itself too.

Parameters

  descriptor | Ptr to created descriptor with correct length, version and data.

Returns
  One of the error codes specified by

See also
  FSDKError and identification of appended descriptor. Such identification might be used to query descriptor with
  IStaticDescriptorStorage::descriptorByIndex or remove it from storage with
  removeDescriptor.

## ◆ removeDescriptor()

virtual Result<FSDKError> fsdk::IDynamicDescriptorStorage::removeDescriptor | ( | const DescriptorId | index | ) |
| pure virtual noexcept

Removes descriptor out of internal storage. If used on.

See also
  IDynamicIndex graph updates itself too.

Note
  IMPORTANT: If used on

See also
  IDynamicIndex it will NOT actually erase descriptor with given index out of internal storage. Instead, it will remove it out of graph, so it is not searchable.

Note
  If used on

See also
  IIndexBuilder, it WILL actually erase it. But beware: if your storage is big enough performance might be very poor, because descriptors are stored sequentially in vector-like data structure, so every element after erased will be moved.

Parameters

  index | Identification of descriptors position in internal storage. Is received by using append methods or ::search.

Returns
  One of the error codes specified by

See also
  FSDKError.

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

- include/fsdk/IIndex.h