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