nil::crypto3::math::expressions::detail::ast::ConstantFolder Struct Reference

#include <evaluator.hpp>

+ Collaboration diagram for nil::crypto3::math::expressions::detail::ast::ConstantFolder:

Public Types

using result_type = operand
 

Public Member Functions

result_type operator() (binary_op const &x) const
 
result_type operator() (double n) const
 
result_type operator() (expression const &x) const
 
result_type operator() (nil) const
 
result_type operator() (operation const &x, operand const &lhs) const
 
result_type operator() (std::string const &c) const
 
result_type operator() (unary_op const &x) const
 

Member Typedef Documentation

◆ result_type

Member Function Documentation

◆ operator()() [1/7]

result_type nil::crypto3::math::expressions::detail::ast::ConstantFolder::operator() ( binary_op const &  x) const
inline

If both operands are known, we can directly evaluate the function, else we just update the children with the new expressions.

◆ operator()() [2/7]

result_type nil::crypto3::math::expressions::detail::ast::ConstantFolder::operator() ( double  n) const
inline

◆ operator()() [3/7]

result_type nil::crypto3::math::expressions::detail::ast::ConstantFolder::operator() ( expression const &  x) const
inline

◆ operator()() [4/7]

result_type nil::crypto3::math::expressions::detail::ast::ConstantFolder::operator() ( nil  ) const
inline

◆ operator()() [5/7]

result_type nil::crypto3::math::expressions::detail::ast::ConstantFolder::operator() ( operation const &  x,
operand const &  lhs 
) const
inline

◆ operator()() [6/7]

result_type nil::crypto3::math::expressions::detail::ast::ConstantFolder::operator() ( std::string const &  c) const
inline

◆ operator()() [7/7]

result_type nil::crypto3::math::expressions::detail::ast::ConstantFolder::operator() ( unary_op const &  x) const
inline

If the operand is known, we can directly evaluate the function.


The documentation for this struct was generated from the following file: