Да, вы можете сделать объекты boost :: python глубоко копируемыми (и также выбираемыми), реализовав методы __setstate__
и __getstate__
для вашего объекта.
По сути, __getstate__
должен возвращать (python) объект, который представляет внутреннее состояние вашего объекта, в то время как __setstate__
явно принимает указанный объект и обновляет состояние вашего объекта.
Если ваш объект принимает аргументы для __init__
, вам также следует обратить внимание на реализацию __getinitargs__
.
См. Python docs для получения дополнительной информации.