19 #ifndef PYSTON_EXPRESSIONTREE_H
20 #define PYSTON_EXPRESSIONTREE_H
30 template <
typename Signature>
78 template <
typename R,
typename T>
89 return m_root->eval(context, converted);
100 return m_root->eval({}, converted);
119 template <
typename R,
typename... Args>
128 return m_root->eval(context, args...);
137 return m_root->eval(
Context{}, args...);
151 #endif // PYSTON_EXPRESSIONTREE_H
R operator()(const Context &context, const Args &...args) const
const std::shared_ptr< Node< R > > & getTree() const
std::shared_ptr< Node< R > > m_root
ExpressionTree(bool compiled, const std::shared_ptr< Node< R >> &root, const std::shared_ptr< Exception > &reason_)
R operator()(const std::vector< T > &args) const
R operator()(const Context &context, const std::vector< T > &args) const
ExpressionTreeBase(bool compiled, const std::shared_ptr< Node< R >> &root, const std::shared_ptr< Exception > &reason_)
T back_inserter(T...args)
R operator()(const Args &...args) const
std::shared_ptr< Exception > m_reason
const Exception * reason() const
ExpressionTree(bool compiled, const std::shared_ptr< Node< R >> &root, const std::shared_ptr< Exception > &reason_)