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
ExpressionTree< Signature > build(const boost::python::object &pyfunc, BuildParams &&... build_params) const
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)
static ExpressionTree< R(Args...)> build(const boost::python::object &, Prototypes &&...)
static ExpressionTree< R(const std::vector< T > &)> build(const boost::python::object &, size_t n)