diff options
Diffstat (limited to '')
-rw-r--r-- | tools/clang-tidy/test/performance-inefficient-algorithm.cpp | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/tools/clang-tidy/test/performance-inefficient-algorithm.cpp b/tools/clang-tidy/test/performance-inefficient-algorithm.cpp new file mode 100644 index 0000000000..b508260dbd --- /dev/null +++ b/tools/clang-tidy/test/performance-inefficient-algorithm.cpp @@ -0,0 +1,30 @@ +namespace std { +template <typename T> struct less { + bool operator()(const T &lhs, const T &rhs) { return lhs < rhs; } +}; + +template <typename T> struct greater { + bool operator()(const T &lhs, const T &rhs) { return lhs > rhs; } +}; + +struct iterator_type {}; + +template <typename K, typename Cmp = less<K>> struct set { + typedef iterator_type iterator; + iterator find(const K &k); + unsigned count(const K &k); + + iterator begin(); + iterator end(); + iterator begin() const; + iterator end() const; +}; + +template <typename FwIt, typename K> +FwIt find(FwIt, FwIt end, const K &) { return end; } +} + +template <typename T> void f(const T &t) { + std::set<int> s; + find(s.begin(), s.end(), 46); +} |