File tree Expand file tree Collapse file tree 2 files changed +13
-0
lines changed
Expand file tree Collapse file tree 2 files changed +13
-0
lines changed Original file line number Diff line number Diff line change @@ -689,6 +689,14 @@ void test_a()
689689 // auto expr4 = Expression{[i=10](int k) { return i * k ; }};
690690 // auto expr5 = Expression();
691691 }
692+ {
693+ vector<int > e {1 ,2 ,3 };
694+ auto expr = Expression{[](int i){ return i+1 ; }, ref (e)};
695+ auto exprexpr = 1.5 * expr + expr;
696+ cout << " e=" << e << " , exprexpr=" <<exprexpr () << " empty=" << exprexpr.empty () << " \n " ;
697+ e.clear ();
698+ cout << " e=" << e << " , exprexpr=" <<exprexpr () << " empty=" << exprexpr.empty () << " \n " ;
699+ }
692700} // test_a
693701
694702
Original file line number Diff line number Diff line change @@ -806,6 +806,11 @@ class VariadicExpression
806806 return std::get<0 >(_args).size ();
807807 }
808808
809+ bool empty () const noexcept
810+ {
811+ return size () == 0 ;
812+ }
813+
809814 // Returns true if argument pack Args... has at least one argument which itself is an expression.
810815 static constexpr bool hasExpressionArguments ()
811816 {
You can’t perform that action at this time.
0 commit comments