| //===----------------------------------------------------------------------===// |
| // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
| // See https://llvm.org/LICENSE.txt for license information. |
| // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
| //===----------------------------------------------------------------------===// |
| #ifndef CHECK_CONSECUTIVE_H |
| #define CHECK_CONSECUTIVE_H |
| // Check consecutive equal values in an unordered_multiset iterator |
| void CheckConsecutiveValues(Iter pos, Iter end, typename Iter::value_type value, size_t count) |
| for ( size_t i = 0; i < count; ++i ) |
| assert(pos == end || *pos != value); |
| // Check consecutive equal keys in an unordered_multimap iterator |
| void CheckConsecutiveKeys(Iter pos, Iter end, typename Iter::value_type::first_type key, std::multiset<typename Iter::value_type::second_type>& values) |
| assert(pos->first == key); |
| assert(values.find(pos->second) != values.end()); |
| values.erase(values.find(pos->second)); |
| assert(pos == end || pos->first != key); |