|
FDL Core Library
ASC Framing Decision List — C/C++ Reference Implementation
|
Files | |
| fdl_abi.cpp | |
| ABI version function implementation (returns compile-time version macros). | |
| fdl_accessors_api.cpp | |
| C ABI field accessors with thread-local string buffering and per-document mutex locking. | |
| fdl_builder.cpp | |
| Builder functions: construct ojson objects with keys in canonical order. | |
| fdl_builder.h | |
| Internal helpers for constructing FDL JSON objects with canonical key order. | |
| fdl_builder_api.cpp | |
| C ABI wrappers for the document builder (create, add, set, remove operations). | |
| fdl_canonical.cpp | |
| Canonical JSON serialization – null stripping, key reordering per FDL spec, formatting. | |
| fdl_canonical.h | |
| Canonical JSON serialization — key ordering, null stripping, formatting. | |
| fdl_collection_helpers.h | |
| Template helpers for collection traversal (count, at, find_by_field). | |
| fdl_collections_api.cpp | |
| C ABI for collection traversal (count, at, find_by_id/label) and handle allocation. | |
| fdl_compat.h | |
| Cross-platform portability macros. | |
| fdl_constants.h | |
| Named constants replacing magic numbers throughout the FDL core library. | |
| fdl_custom_attr.cpp | |
| Shared implementation of custom attribute operations on ojson nodes. | |
| fdl_custom_attr.h | |
| Internal helpers for custom attribute operations on ojson nodes. | |
| fdl_custom_attr_api.cpp | |
| C ABI wrappers for custom attribute operations on all handle types. | |
| fdl_doc.cpp | |
| Document class implementation – parsing, header accessors, canonical serialization. | |
| fdl_doc.h | |
| Internal Document class and opaque fdl_doc handle definition. | |
| fdl_doc_api.cpp | |
| C ABI wrappers for document creation, parsing, serialization, and memory management. | |
| fdl_enum_map.h | |
| Bidirectional string<->enum conversions for FDL enumerated types. | |
| fdl_framing.cpp | |
| Framing-from-intent computation — aspect ratio fitting with protection. | |
| fdl_framing.h | |
| Internal implementation of framing-from-intent computation. | |
| fdl_framing_api.cpp | |
| C ABI wrapper for framing-from-intent computation and related handle-based operations. | |
| fdl_geometry.cpp | |
| Geometry operations on the 4-layer FDL dimension hierarchy. | |
| fdl_geometry.h | |
| Internal geometry operations on the 4-layer FDL dimension hierarchy. | |
| fdl_geometry_api.cpp | |
| C ABI wrappers for geometry operations. | |
| fdl_handles.cpp | |
| Handle node() resolution – lazy index-based lookup into the document ojson tree. | |
| fdl_handles.h | |
| Internal handle types and handle cache for opaque FDL sub-objects. | |
| fdl_pipeline.cpp | |
| Pipeline helper implementations: scale factor, output sizing, alignment shift, dimension clamping. | |
| fdl_pipeline.h | |
| Internal pipeline helper functions for template application. | |
| fdl_pipeline_api.cpp | |
| C ABI wrappers for pipeline helper functions. | |
| fdl_rounding.cpp | |
| FDL rounding functions (round, round_dimensions, round_point) using banker's rounding. | |
| fdl_rounding.h | |
| Banker's rounding (half-to-even) implementation. | |
| fdl_template.cpp | |
| Canvas template application — the full transformation pipeline. | |
| fdl_template.h | |
| Internal implementation of canvas template application. | |
| fdl_template_api.cpp | |
| C ABI wrapper for canvas template application and result management. | |
| fdl_tl_cache.h | |
| Bounded thread-local string cache with automatic eviction. | |
| fdl_validate.cpp | |
| Schema (Draft 2020-12) and semantic validation using embedded schema data. | |
| fdl_validate.h | |
| Internal validation — JSON Schema + semantic checks. | |
| fdl_validate_api.cpp | |
| C ABI wrappers for document validation. | |
| fdl_value_types.cpp | |
| Value-type operations: dimensions arithmetic, point arithmetic, floating-point comparison. | |