Face Engine SDK  5.14.0
A face detection, recognition and tracking engine.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
fsdk::IDynamicDescriptorStorage Struct Referenceabstract

Dynamic descriptor storage interface. More...

#include <IIndex.h>

Inheritance diagram for fsdk::IDynamicDescriptorStorage:
fsdk::IStaticDescriptorStorage fsdk::IDynamicIndex fsdk::IIndexBuilder

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< FSDKErrorremoveDescriptor (const DescriptorId index) noexcept=0
 Removes descriptor out of internal storage. If used on. More...
 
- Public Member Functions inherited from fsdk::IStaticDescriptorStorage
virtual Result< FSDKErrordescriptorByIndex (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

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]batchBatch 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.
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]descriptorPtr 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.
virtual Result<FSDKError> fsdk::IDynamicDescriptorStorage::removeDescriptor ( const DescriptorId  index)
pure virtualnoexcept

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
[in]indexIdentification 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: