16 std::unique_ptr < Expression > m_object;
18 std::vector < std::unique_ptr < Expression > > m_params;
21 MethodCallExpression ( std::unique_ptr < Expression >
object, std::string name, std::vector < std::unique_ptr < Expression > > params ) : m_object (
std::move (
object ) ), m_name (
std::move ( name ) ), m_params (
std::move ( params ) ) {
26 params.push_back ( m_object->translateAndEval ( environment ) );
27 for (
const std::unique_ptr < Expression > & param : m_params ) {
28 params.push_back ( param->translateAndEval ( environment ) );
31 std::string name = m_name;
AlgorithmCategory
Definition: AlgorithmCategories.hpp:14
static std::shared_ptr< abstraction::Value > evalAlgorithm(abstraction::TemporariesHolder &environment, const std::string &name, const ext::vector< std::string > &templateParams, const ext::vector< std::shared_ptr< abstraction::Value > > ¶ms, abstraction::AlgorithmCategories::AlgorithmCategory category)
Definition: EvalHelper.cpp:14
Definition: Environment.h:29
Definition: Expression.h:14
Definition: MethodCallExpression.h:15
MethodCallExpression(std::unique_ptr< Expression > object, std::string name, std::vector< std::unique_ptr< Expression > > params)
Definition: MethodCallExpression.h:21
std::shared_ptr< abstraction::Value > translateAndEval(Environment &environment) const override
Definition: MethodCallExpression.h:24
Class extending the vector class from the standard library. Original reason is to allow printing of t...
Definition: vector.hpp:45
Definition: AnyObject.h:28
Definition: FordFulkerson.hpp:16