Skip to content

Conversation

@pum1k
Copy link

@pum1k pum1k commented Dec 17, 2025

This PR adds the ability to pass arguments to constructors of the derived classes. As a result, users can now create plugins that are not default constructible, removing the need for initialize method.

To achieve this, a new customization point was added: template struct InterfaceTraits. Specializing this struct allows users to define signature of the constructors that will be required by the derived classes.

If users do not specialize this structure, default constructor is assumed and there are no changes to the behavior.

- added InterfaceTraits type trait that can be used to define the
  constructor arguments used by the derived classes
- changed class loaders to pass arguments to the derived classes based
  on the information stored in InterfaceTraits

Signed-off-by: pum1k <55055380+pum1k@users.noreply.github.com>
@pum1k
Copy link
Author

pum1k commented Jan 29, 2026

Hi @ahcorde,
could you, please, review this PR and merge it if it is ok? I don't know who to ask, so i found you on other PRs. Sorry for the ping if you are not the right person to ask.

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.

1 participant