// -*- C++ -*- //===-- reverse_copy.pass.cpp ---------------------------------------------===// // // 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 // //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14 #include "support/pstl_test_config.h" #include <iterator> #include <execution> #include <algorithm> #include "support/utils.h" usingnamespaceTestUtils; template <typename T> struct wrapper { … }; template <typename T1, typename T2> bool eq(const wrapper<T1>& a, const wrapper<T2>& b) { … } template <typename T1, typename T2> bool eq(const T1& a, const T2& b) { … } // we need to save state here, because we need to test with different types of iterators // due to the caller invoke_on_all_policies does forcing modification passed iterator type to cover additional usage cases. template <typename Iterator> struct test_one_policy { … }; template <typename T1, typename T2> void test() { … } int main() { … }