19 #ifndef PYSTON_EXPRESSIONTREEBUILDER_H
20 #define PYSTON_EXPRESSIONTREEBUILDER_H
22 #include <boost/python/list.hpp>
23 #include <boost/python/object.hpp>
24 #include <boost/python/object/add_to_namespace.hpp>
25 #include <boost/python/tuple.hpp>
58 template <
typename Signature,
typename... BuildParams>
72 template <
typename Signature>
79 template <
typename Signature>
90 template <
typename R,
typename T>
98 template <
typename R,
typename... Args>
100 template <
typename... Prototypes>
107 template <
typename R,
typename... Args>
109 const boost::python::list& placeholders);
114 #define PYSTON_EXPRESSIONTREEBUILDER_IMPL
116 #undef PYSTON_EXPRESSIONTREEBUILDER_IMPL
118 #endif // PYSTON_EXPRESSIONTREEBUILDER_H
static ExpressionTree< R(Args...)> compiledOrWrapped(const boost::python::object &pyfunc, const boost::python::list &placeholders)
void registerFunction(const std::string &repr, std::function< Signature > functor)
std::function< double()> Signature
ExpressionTree< Signature > build(const boost::python::object &pyfunc, BuildParams &&...build_params) const