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