xref: /llvm-project/clang-tools-extra/test/clang-tidy/checkers/boost/Inputs/use-ranges/fake_boost.h (revision 87ca6386f9389f9d929d660e37701590092cefab)
1*87ca6386SNathan James #ifndef USE_RANGES_FAKE_BOOST_H
2*87ca6386SNathan James #define USE_RANGES_FAKE_BOOST_H
3*87ca6386SNathan James 
4*87ca6386SNathan James namespace boost {
5*87ca6386SNathan James namespace range_adl_barrier {
6*87ca6386SNathan James 
7*87ca6386SNathan James template <typename T> void *begin(T &);
8*87ca6386SNathan James template <typename T> void *end(T &);
9*87ca6386SNathan James template <typename T> void *const_begin(const T &);
10*87ca6386SNathan James template <typename T> void *const_end(const T &);
11*87ca6386SNathan James } // namespace range_adl_barrier
12*87ca6386SNathan James 
13*87ca6386SNathan James using namespace range_adl_barrier;
14*87ca6386SNathan James 
15*87ca6386SNathan James template <typename T> void *rbegin(T &);
16*87ca6386SNathan James template <typename T> void *rend(T &);
17*87ca6386SNathan James 
18*87ca6386SNathan James template <typename T> void *const_rbegin(T &);
19*87ca6386SNathan James template <typename T> void *const_rend(T &);
20*87ca6386SNathan James namespace algorithm {
21*87ca6386SNathan James 
22*87ca6386SNathan James template <class InputIterator, class T, class BinaryOperation>
23*87ca6386SNathan James T reduce(InputIterator first, InputIterator last, T init, BinaryOperation bOp) {
24*87ca6386SNathan James   return init;
25*87ca6386SNathan James }
26*87ca6386SNathan James } // namespace algorithm
27*87ca6386SNathan James } // namespace boost
28*87ca6386SNathan James 
29*87ca6386SNathan James #endif // USE_RANGES_FAKE_BOOST_H
30