45template <
typename Range,
typename Value =
typename Range::value_type>
46static std::string
join(Range
const& elements,
const char *
const delimiter) {
47 std::ostringstream os;
48 auto b = begin(elements), e = end(elements);
51 std::copy(b, prev(e), std::ostream_iterator<Value>(os, delimiter));
84 return "("+
join(v,
" â ")+
")";
92 return "("+
join(v,
" â ")+
")";
96 return "("+x+
" â "+y+
")";
106 std::string result =
"["+s1+
" ";
127 return result+
" "+s2+
"]";
182 for(
size_t i = 1; i<s.size(); ++i) {
AggregationOperator
SQL aggregation functions tracked by ProvSQL.
@ OR
Boolean OR aggregate.
@ COUNT
COUNT(*) or COUNT(expr) â integer.
@ AND
Boolean AND aggregate.
@ SUM
SUM â integer or float.
@ ARRAY_AGG
Array aggregation.
@ NONE
No aggregation (returns NULL)
@ CHOOSE
Arbitrary selection (pick one element)
ComparisonOperator
SQL comparison operators used in gate_cmp circuit gates.
@ LE
Less than or equal (<=)
@ GE
Greater than or equal (>=)
Abstract semiring interface for provenance evaluation.
Abstract base class for (m-)semirings.
std::string value_type
The carrier type of this semiring.