Skip to content

Remove template parameter Archive from InputBindingsMap and `Outp…#1

Merged
alexisji merged 1 commit intotripoli5-deps:masterfrom
arekfu:non-template-bindings
Feb 19, 2026
Merged

Remove template parameter Archive from InputBindingsMap and `Outp…#1
alexisji merged 1 commit intotripoli5-deps:masterfrom
arekfu:non-template-bindings

Conversation

@HunterBelanger
Copy link
Copy Markdown

This modification was originally proposed on #812 on the upstream, but there hasn't been any activity there in quite a while. I think it is worthwhile to merge this one into our fork.

…utBindingsMap`

`Archive` isn't directly needed for any content in binding
structs and required only to instantiate different global static
maps for different archives.

This commit turns `InputBindingsMap` and `OutputBindingsMap` into
non-templated structs and modifies binding maps to include archive's
typeid, such that they describe relation: `typeid(Archive) ->
per-archive binding map`.

That way only two global static objects will be created in runtime (for
input and output bindings respectively) in each library/executable. Also
types of these globals are independent from included archives and known
beforehand.
@alexisji
Copy link
Copy Markdown

Looks good to me.

Do we want to merge to the master? or to another branch to keep the master in line with the upstream?

@HunterBelanger
Copy link
Copy Markdown
Author

Our master is already 4 commits ahead of the upstream, so I'm not sure it matters too much now. I think we can just merge it into our master and continue that way.

@alexisji alexisji merged commit 5072df4 into tripoli5-deps:master Feb 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants