diff --git a/libcxx/test/std/algorithms/ranges_result_alias_declarations.compile.pass.cpp b/libcxx/test/std/algorithms/ranges_result_alias_declarations.compile.pass.cpp new file mode 100644 --- /dev/null +++ b/libcxx/test/std/algorithms/ranges_result_alias_declarations.compile.pass.cpp @@ -0,0 +1,62 @@ +//===----------------------------------------------------------------------===// +// +// 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, c++17 +// UNSUPPORTED: libcpp-has-no-incomplete-ranges + +// + +// ensure that all result alias declarations are defined + +#include +#include + +using namespace std::ranges; + +static_assert(std::is_same_v, for_each_result>); +static_assert(std::is_same_v, for_each_n_result>); + +static_assert(std::is_same_v, mismatch_result>); +static_assert(std::is_same_v, swap_ranges_result>); + +static_assert(std::is_same_v, copy_result>); +static_assert(std::is_same_v, copy_n_result>); +static_assert(std::is_same_v, copy_if_result>); +static_assert(std::is_same_v, copy_backward_result>); +static_assert(std::is_same_v, move_result>); +static_assert(std::is_same_v, move_backward_result>); +// static_assert(std::is_same_v, partial_sort_copy_result>); +// static_assert(std::is_same_v, remove_copy_result>); +// static_assert(std::is_same_v, remove_copy_if_result>); +// static_assert(std::is_same_v, replace_copy_result>); +// static_assert(std::is_same_v, replace_copy_if_result>); +// static_assert(std::is_same_v, reverse_copy_result>); +// static_assert(std::is_same_v, rotate_copy_result>); +// static_assert(std::is_same_v, set_difference_result>); +static_assert(std::is_same_v, unary_transform_result>); +static_assert(std::is_same_v, uninitialized_copy_result>); +static_assert(std::is_same_v, uninitialized_copy_n_result>); +static_assert(std::is_same_v, uninitialized_move_result>); +static_assert(std::is_same_v, uninitialized_move_n_result>); +// static_assert(std::is_same_v, unique_copy_result>); + +static_assert(std::is_same_v, binary_transform_result>); +static_assert(std::is_same_v, merge_result>); +// static_assert(std::is_same_v, set_symmetric_difference_result>); +// static_assert(std::is_same_v, set_union_result>); +// static_assert(std::is_same_v, set_intersection_result>); + +// static_assert(std::is_same_v, partition_copy_result>); + +static_assert(std::is_same_v, minmax_result>); +static_assert(std::is_same_v, minmax_element_result>); + +// static_assert(std::is_same_v, next_permutation_result>); +// static_assert(std::is_same_v, prev_permutation_result>); + +// static_assert(std::is_same_v, iota_result>);