|
virtual Result< Error > | add (IDescriptor *descriptor) noexcept=0 |
| Add a descriptor to the batch.
|
|
virtual Result< Error > | add (IDescriptorBatch *batch, uint32_t offset=0) noexcept=0 |
| Add a given descriptor batch content to the current batch. Descriptors to copy from the source batch are selected based on offset parameter.
|
|
virtual Result< Error > | add (IDescriptorBatch *batch, uint32_t offset, uint32_t count) noexcept=0 |
| Add a descriptor batch content to the batch. Descriptors to copy from the source bath are selected based on count and offset parameters.
|
|
virtual Result< Error > | removeFast (uint32_t index) noexcept=0 |
| Remove a descriptor from batch.
|
|
virtual Result< Error > | removeSlow (uint32_t index) noexcept=0 |
| Remove a descriptor from batch.
|
|
virtual Result< MultiError< ISerializableObject::Error, Error > > | loadAndAdd (IArchive *archive)=0 |
| Load a descriptor/descriptors from archive and add it to the batch.
|
|
virtual uint32_t | getMaxCount () const noexcept=0 |
| Get maximum number of descriptors in this batch.
|
|
virtual uint32_t | getCount () const noexcept=0 |
| Get actual number of descriptors in this batch.
|
|
virtual uint32_t | getModelVersion () const noexcept=0 |
| Get algorithm model version the descriptors in this batch were created with.
|
|
virtual DescriptorType | getDescriptorType () const noexcept=0 |
| Get type of descriptor.
|
|
virtual uint32_t | getDescriptorLength () const noexcept=0 |
| Get length of one descriptor. Specified by version of descriptors in batch.
|
|
virtual ResultValue< FSDKError, IDescriptorPtr > | getDescriptorSlow (uint32_t index) const noexcept=0 |
| Get descriptor from batch by index with copying.
|
|
virtual ResultValue< FSDKError, IDescriptorPtr > | getDescriptorFast (uint32_t index) noexcept=0 |
| Get descriptor from batch by index without copying.
|
|
virtual void | clear () noexcept=0 |
| Clear object data.
|
|
virtual IRefCounted * | getParentObject () const noexcept=0 |
| Get parent object (one that has created this).
|
|
virtual void | getSize (Sizer &sizer, uint32_t flags=Default) const noexcept=0 |
| Estimate size of this object binary data.
|
|
virtual Result< Error > | load (IArchive *archive, uint32_t flags=Default)=0 |
| Load object from archive.
|
|
virtual Result< Error > | save (IArchive *archive, uint32_t flags=Default) const =0 |
| Save object to archive.
|
|
virtual int32_t | retain () noexcept=0 |
| Increase strong reference count.
|
|
virtual int32_t | retainLocked () noexcept=0 |
| Increase strong reference count thread safely.
|
|
virtual int32_t | release () noexcept=0 |
| Decrease strong reference count.
|
|
virtual int32_t | getRefCount () const noexcept=0 |
| Get actual strong reference count.
|
|
virtual int32_t | retainWeak () noexcept=0 |
| Increase weak reference count.
|
|
virtual int32_t | releaseWeak () noexcept=0 |
| Decrease weak reference count.
|
|
virtual int32_t | getWeakRefCount () const noexcept=0 |
| Get actual weak reference count.
|
|
Descriptor batch interface.
Used for matching large continous sets of descriptors.
A batch is created with a reserved memory for descriptors that can not be later extended. Thus descriptors can be add()'ed until the memory reservation is exceeded.
Memory reservation size can be obtained via getMaxCount() function. The batch me be reset via clear() function. It does not deallocate memory reservation. Instead, it resets internal counter allowing to re-populate the batch via add() again.