9 #ifndef CPROVER_UTIL_CONTAINER_UTILS_H
10 #define CPROVER_UTIL_CONTAINER_UTILS_H
27 template <
class T,
class Compare,
class Alloc>
29 std::set<T, Compare, Alloc> &target,
30 const std::set<T, Compare, Alloc> &source)
33 typename std::set<T, Compare, Alloc>::iterator it = target.begin();
35 for(
const auto &s : source)
37 while(it != target.end() && Compare()(*it, s))
42 if(it == target.end() || Compare()(s, *it))
48 else if(it != target.end())
bool util_inplace_set_union(std::set< T, Compare, Alloc > &target, const std::set< T, Compare, Alloc > &source)
Compute union of two sets.