Face Engine SDK  5.23.1
A face detection, recognition and tracking engine.
fsdk::ISerializableObject Struct Reference

Serializable object interface. More...

#include <IObject.h>

Inheritance diagram for fsdk::ISerializableObject:
fsdk::IRefCounted fsdk::IDataStorageObject fsdk::IDescriptor fsdk::IDescriptorBatch

List of all members.

Public Types

enum  Error {
  Ok, Size, Signature, ArchiveRead,
  InputArchive, ArchiveWrite
}
 Serialization nerror codes. More...
enum  Flags { Default = 0, NoSignature = 1 }
 Serialization flags. More...

Public Member Functions

virtual void getSize (Sizer &sizer, uint32_t flags=Default) const noexcept=0
 Estimate size of this object binary data.
virtual Result< Errorload (IArchive *archive, uint32_t flags=Default)=0
 Load object from archive.
virtual Result< Errorsave (IArchive *archive, uint32_t flags=Default) const =0
 Save object to archive.

Detailed Description

Serializable object interface.

Provides common functions for all serializable objects.


Member Enumeration Documentation

Serialization nerror codes.

Enumerator:
Ok 

Ok.

Size 

Not enough space.

Signature 

Invalid signature.

ArchiveRead 

Error during archive reading,.

InputArchive 

Input archive is nullptr.

ArchiveWrite 

Error during archive writing,.

Reimplemented in fsdk::IDescriptorBatch.

Serialization flags.

These flags control advanced options and should not be set to anything else from Default in normal conditions.

Note:
The same set of flags should be specified for both save() and load().
Enumerator:
Default 

Default serialization mode.

NoSignature 

Omit object signature.

Helps to save space if there are several objects of the same type coming in a stream or where type is known for sure.

Note:
This effectively disables signature check on loading. This may cause undefined results in case of mismatched input data.

Member Function Documentation

virtual void fsdk::ISerializableObject::getSize ( Sizer sizer,
uint32_t  flags = Default 
) const [pure virtual]

Estimate size of this object binary data.

Parameters:
[inout]sizer sizer object to append result to.
[in]flags[optional] serialization flags
See also:
Flags.
virtual Result<Error> fsdk::ISerializableObject::load ( IArchive archive,
uint32_t  flags = Default 
) [pure virtual]

Load object from archive.

Parameters:
[in]archivearchive to read from.
[in]flags[optional] serialization flags
See also:
Flags.
Returns:
Result with error code specified by ISerializableObject::SerializationError.
Note:
This method pass exceptions from user defined IArchive, but doesnt throw its own
See also:
Result and ISerializableObject::SerializationError.
virtual Result<Error> fsdk::ISerializableObject::save ( IArchive archive,
uint32_t  flags = Default 
) const [pure virtual]

Save object to archive.

Parameters:
[in]archivearchive to write to.
[in]flags[optional] serialization flags
See also:
Flags.
Returns:
Result with error code specified by ISerializableObject::SerializationError.
Note:
This method pass exceptions from user defined IArchive, but doesnt throw its own
See also:
Result and ISerializableObject::SerializationError.

The documentation for this struct was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines