/// Returns true if Prefix is a prefix of longer. That means, Longer has a size /// that is greater than or equal to the size of prefix, and each of the /// elements in Prefix is the same as the corresponding elements in Longer. /// /// This means it also returns true when Prefix and Longer are equal! static bool IsPrefix(const ArgPromotion::IndicesVector &Prefix, const ArgPromotion::IndicesVector &Longer) { if (Prefix.size() > Longer.size()) return false; for (unsigned i = 0, e = Prefix.size(); i != e; ++i) if (Prefix[i] != Longer[i]) return false; return true; }
/// Returns true if Prefix is a prefix of longer. That means, Longer has a size /// that is greater than or equal to the size of prefix, and each of the /// elements in Prefix is the same as the corresponding elements in Longer. /// /// This means it also returns true when Prefix and Longer are equal! static bool IsPrefix(const ArgPromotion::IndicesVector &Prefix, const ArgPromotion::IndicesVector &Longer) { if (Prefix.size() > Longer.size()) return false; return std::equal(Prefix.begin(), Prefix.end(), Longer.begin()); }