xref: /llvm-project/clang-tools-extra/test/clang-tidy/checkers/modernize/use-ranges-pipe.cpp (revision 87ca6386f9389f9d929d660e37701590092cefab)
1*87ca6386SNathan James // RUN: %check_clang_tidy -std=c++20 %s modernize-use-ranges %t -check-suffixes=,PIPE \
2*87ca6386SNathan James // RUN:   -config="{CheckOptions: { \
3*87ca6386SNathan James // RUN:     modernize-use-ranges.UseReversePipe: true }}" -- -I %S/Inputs/use-ranges/
4*87ca6386SNathan James // RUN: %check_clang_tidy -std=c++20 %s modernize-use-ranges %t -check-suffixes=,NOPIPE  -- -I %S/Inputs/use-ranges/
5*87ca6386SNathan James 
6*87ca6386SNathan James // CHECK-FIXES: #include <algorithm>
7*87ca6386SNathan James // CHECK-FIXES: #include <ranges>
8*87ca6386SNathan James 
9*87ca6386SNathan James #include "fake_std.h"
10*87ca6386SNathan James 
11*87ca6386SNathan James void stdLib() {
12*87ca6386SNathan James   std::vector<int> I;
13*87ca6386SNathan James   std::find(I.rbegin(), I.rend(), 0);
14*87ca6386SNathan James   // CHECK-MESSAGES: :[[@LINE-1]]:3: warning: use a ranges version of this algorithm
15*87ca6386SNathan James   // CHECK-FIXES-NOPIPE: std::ranges::find(std::ranges::reverse_view(I), 0);
16*87ca6386SNathan James   // CHECK-FIXES-PIPE: std::ranges::find(I | std::views::reverse, 0);
17*87ca6386SNathan James 
18*87ca6386SNathan James }
19