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