Ленивые слепки...
#include <boost/phoenix/object/static_cast.hpp>
#include <boost/phoenix/object/dynamic_cast.hpp>
#include <boost/phoenix/object/const_cast.hpp>
#include <boost/phoenix/object/reinterpret_cast.hpp>
Набор ленивых шаблонных функций C++ обеспечивает способ ленивого литья объекта определенного типа на другой тип. Синтаксис напоминает хорошо известные C++ касты. Обратите внимание, однако, что ленивые версии имеют выпуклое подчеркивание.
static_cast_<T>(lambda_expression)
dynamic_cast_<T>(lambda_expression)
const_cast_<T>(lambda_expression)
reinterpret_cast_<T>(lambda_expression)
Пример:
static_cast_<Base*>(&arg1)
<arg1>,<Base*>, [<Base*>], [<Base*>].