FDL Core Library
ASC Framing Decision List — C/C++ Reference Implementation
Loading...
Searching...
No Matches
Public Member Functions
fdl_handle_cache Struct Reference

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).
 

Detailed Description

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.


The documentation for this struct was generated from the following file: