Ginan
|
Data Structures | |
struct | QueuedSpit |
Functions | |
Architecture | Binary_Archive__ () |
Save complex variables to files. | |
E_SerialObject | getFilterTypeFromFile (long int &startPos, string filename) |
Returns the type of object that is located at the specified position in a file. | |
void | tryPrepareFilterPointers (KFState &kfState, ReceiverMap &receiverMap) |
void | spitQueuedToFile (QueuedSpit &spit) |
void | spitQueueRun () |
void | spitFilterToFileQueued (shared_ptr< void > &object_ptr, E_SerialObject type, string filename) |
Architecture Binary_Archive__ | ( | ) |
Save complex variables to files.
This allows for complex variables including full filter states to be stored to file.
When binary archives are written, first some metadata about the next segment of data is stored. An enumerated variable type is written, so that a variable of that type may be prepared later for reading the data into.
After the binary data, an entry with the position of the metadata block for that data is written. This allows for the file to be read in reverse order, seeking backward from the length metadata to the type metadata, before reading the subsequent actual data. This is of fundamental importance for RTS_Smoothing__(), and the primary use-case of the binary archive in Ginan.
The binary archive is also used as storage for debugging functions such as mincon_only, but without the necessity for reverse reading
E_SerialObject getFilterTypeFromFile | ( | long int & | startPos, |
string | filename ) |
Returns the type of object that is located at the specified position in a file.
startPos | Position of object |
filename | Path to archive file |
void spitFilterToFileQueued | ( | shared_ptr< void > & | object_ptr, |
E_SerialObject | type, | ||
string | filename ) |
object_ptr | Object to output |
type | Type of object |
filename | Path to file to output to |
void spitQueuedToFile | ( | QueuedSpit & | spit | ) |
void spitQueueRun | ( | ) |
void tryPrepareFilterPointers | ( | KFState & | kfState, |
ReceiverMap & | receiverMap ) |