| Face Engine SDK 5.35.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 *descriptor) 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 graph. 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 uint32_t | getDescriptorVersion () const noexcept=0
| Return version of stored descriptors. 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 virtualnoexcept

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

See also
  IDynamicIndex graph updates itself too.

Parameters

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

Returns
  ResultValue with error code 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

See also
  IStaticDescriptorStorage::descriptorByIndex or remove it from storage with
  removeDescriptor.
  IDescriptorBatch, DescriptorId, ResultValue and FSDKError for details.

## ◆ appendDescriptor()

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

Appends descriptor to internal storage. If used on.

See also
  IDynamicIndex graph updates itself too.

Parameters

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

Returns
  ResultValue with error code and identification of appended descriptor. Such identification might be used to query descriptor with

See also
  IStaticDescriptorStorage::descriptorByIndex or remove it from storage with
  removeDescriptor.
  IDescriptor, DescriptorId, ResultValue and FSDKError for details.

## ◆ removeDescriptor()

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

Removes descriptor out of graph. 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. We recommend avoiding this operation as this feature was added for research purposes and may lead to unpredictable results.

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

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

Returns
  Result with error code.

See also
  DescriptorId, Result and FSDKError for details.

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

- include/fsdk/IIndex.h