bool NormalizedConstraintSet::StringRange::Intersects(const StringRange& aOther) const { if (!mExact.size() || !aOther.mExact.size()) { return true; } ValueType intersection; set_intersection(mExact.begin(), mExact.end(), aOther.mExact.begin(), aOther.mExact.end(), std::inserter(intersection, intersection.begin())); return !!intersection.size(); }
typename boost::enable_if<is_sequence<ValueType>, typename element_type<ValueType>::type>::type slice_value(ValueType const& x ,unsigned i) { return i < x.size() ? x[i] : typename element_type<ValueType>::type(); }