Можно ли сериализовать и десериализовать std::function
, объект функции или закрытие вообще в С++? Как? Поддерживает ли С++ 11 это? Есть ли доступ к библиотечной поддержке для такой задачи (например, в Boost)?
Например, предположим, что программа на С++ имеет std::function
, которая необходима для передачи (например, через сокет TCP/IP) другой программе на С++, находящейся на другой машине. Что вы предлагаете в таком сценарии?
<ч/" > Edit:
Чтобы уточнить, функции, которые должны быть перемещены, должны быть чистыми и свободными от побочных эффектов. Поэтому у меня нет проблем с безопасностью или несоответствиями.
Решение проблемы заключается в построении небольшого встроенного доменного языка и сериализации его абстрактного дерева синтаксиса. Я надеялся, что смогу найти поддержку языка/библиотеки для перемещения машинного независимого представления функций.