Shows how to use xtd::expressions::expression::arg expression.
#include <xtd/xtd>
auto main() -> int {
auto arg1_1 = expression::arg<1>;
println("arg1_1 = {}", arg1_1(10));
auto arg1_2 = _1;
println("arg1_2 = {}", arg1_2(10));
auto arg1_3 = _;
println("arg1_3 = {}", arg1_3(10));
println();
auto expr1 = expression::arg<1> + expression::arg<2> + expression::arg<3>;
println("expr1 = {}", expr1(10, 20, 30));
auto expr2 = _1 + _2 + _3;
println("expr2 = {}", expr2(10, 20, 30));
auto expr3 = _ + _2 + _3;
println("expr3 = {}", expr3(10, 20, 30));
}