Skip to content

Change AbstractMachine PyBind wrapper to parametric

Created by: PhilipVinc

Even if we will eventually let go of the C++ core, for now it's with us to stay. Right now we have the following class hierarchy: AbstractMachine<:AbstractDensityMatrix<:Anything.

The correct way to wrap those in pybind11 would be to create parametric trampoline classes PyAbstractMachine<Machine> <: PyDensityMatrix<Machine> <: Machine.

This is well documented in the docs.

This PR aims at fixing my previous implementation, wich works but prevents to create Python objects which subclass the correct C++ class.

Merge request reports