Serialización de objetos de función.

¿Es posible serializar y deserializar unstd::function, un objeto de función, o un cierre en general en C ++? ¿Cómo? ¿C ++ 11 facilita esto? ¿Hay alguna biblioteca disponible para esta tarea (por ejemplo, en Boost)?

Por ejemplo, supongamos que un programa de C ++ tiene unastd::function que se necesita para ser comunicado (por ejemplo, a través de un socket TCP / IP) a otro programa C ++ que reside en otra máquina. ¿Qué sugieres en tal escenario?

Editar:

Para aclarar, se supone que las funciones que se van a mover son puras y sin efectos secundarios. Así que no tengo problemas de seguridad o desajuste de estado.

Una solución al problema es crear un pequeño lenguaje específico de dominio incorporado y serializar su árbol de sintaxis abstracta. Esperaba poder encontrar algún tipo de soporte de biblioteca / idioma para mover una representación de funciones independiente de la máquina.

Respuestas a la pregunta(3)

Su respuesta a la pregunta