-end</code></pre><p>and every structure exposes a convenient constructor that works perfectly with <code>String</code>s and mutable <code>AbstractArray</code>s. No manual <code>Ref</code>s/<code>cconvert</code>/<code>unsafe_convert</code> needed.</p><p>We hope that the additional <code>Vector{Any}</code> will not introduce too much overhead. In the future, this might be changed to a <code>NTuple{N, Any}</code> or a <code>StaticArrays.SVector{N, Any}</code>. We could also have stored dependencies as additional fields, but this does not scale well with nested structs. It would either require putting an additional field for each dependency (be it direct, or indirect dependencies coming from a pointer to another struct), possibly defining other structures that hold dependencies to avoid having a large number of fields, inducing additional compilation time.</p><div class="admonition is-success" id="Tip-fc55a1ae07732e6"><header class="admonition-header">Tip<a class="admonition-anchor" href="#Tip-fc55a1ae07732e6" title="Permalink"></a></header><div class="admonition-body"><p><code>cconvert</code>/<code>unsafe_convert</code> were extended on wrapper types so that, when using an API function directly, <a href="https://docs.julialang.org/en/v1/base/c/#ccall"><code>ccall</code></a> will convert a struct to its API-compatible version.</p></div></div><hr/><p><em>This page was generated using <a href="https://github.com/fredrikekre/Literate.jl">Literate.jl</a>.</em></p></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../../reference/options/">« Package options</a><a class="docs-footer-nextpage" href="../extension_mechanism/">Extension mechanism »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.14.1 on <span class="colophon-date" title="Tuesday 22 July 2025 23:58">Tuesday 22 July 2025</span>. Using Julia version 1.11.6.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
0 commit comments