Skip to content

Commit d95f5b4

Browse files
authored
Merge pull request #5 from tirimatangi/empty
Add empty()
2 parents 4886b7c + f886476 commit d95f5b4

File tree

2 files changed

+13
-0
lines changed

2 files changed

+13
-0
lines changed

examples/unit-test.cc

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff 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

include/LazyExpression/LazyExpression.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff 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
{

0 commit comments

Comments
 (0)