|
FDL Core Library
ASC Framing Decision List — C/C++ Reference Implementation
|
Cache container for all handle types — lives on fdl_doc. More...
#include <fdl_handles.h>
Public Member Functions | |
| void | clear () |
| Clear all handles and deduplication maps. | |
Data Fields | |
Ownership vectors — unique_ptrs own the handle memory | |
| std::vector< std::unique_ptr< fdl_context > > | contexts |
| Context handles. | |
| std::vector< std::unique_ptr< fdl_canvas > > | canvases |
| Canvas handles. | |
| std::vector< std::unique_ptr< fdl_framing_decision > > | framing_decisions |
| Framing decision handles. | |
| std::vector< std::unique_ptr< fdl_framing_intent > > | framing_intents |
| Framing intent handles. | |
| std::vector< std::unique_ptr< fdl_canvas_template > > | canvas_templates |
| Canvas template handles. | |
| std::vector< std::unique_ptr< fdl_clip_id > > | clip_ids |
| Clip ID handles. | |
| std::vector< std::unique_ptr< fdl_file_sequence > > | file_sequences |
| File sequence handles. | |
Deduplication maps — index path to raw pointer into ownership vectors | |
| std::unordered_map< uint32_t, fdl_context * > | ctx_by_index |
| Context dedup map. | |
| std::unordered_map< uint32_t, fdl_framing_intent * > | fi_by_index |
| Framing intent dedup map. | |
| std::unordered_map< uint32_t, fdl_canvas_template * > | ct_by_index |
| Canvas template dedup map. | |
| std::unordered_map< uint64_t, fdl_canvas * > | cvs_by_key |
| Canvas dedup map (packed ctx+cvs key). | |
| std::unordered_map< uint64_t, fdl_framing_decision * > | fd_by_key |
| Framing decision dedup map (packed key). | |
| std::unordered_map< uint32_t, fdl_clip_id * > | cid_by_ctx |
| Clip ID dedup map (by context index). | |
| std::unordered_map< uint32_t, fdl_file_sequence * > | seq_by_ctx |
| File sequence dedup map (by context index). | |
Cache container for all handle types — lives on fdl_doc.
Ownership vectors store unique_ptrs; deduplication maps provide O(1) lookup to avoid creating duplicate handles for the same index.