gcc/libstdc++-v3/testsuite/experimental/algorithm/search.cc

46 lines
1.2 KiB
C++
Raw Permalink Normal View History

2025-01-02 11:59:57 +01:00
// Copyright (C) 2014-2025 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 3, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
// { dg-do run { target c++14 } }
Add missing dg-require-cstdint directives to tests * testsuite/18_support/aligned_alloc/aligned_alloc.cc: Add dg-require-cstdint directive. * testsuite/20_util/allocator/overaligned.cc: Likewise. * testsuite/20_util/any/cons/aligned.cc: Likewise. * testsuite/20_util/monotonic_buffer_resource/allocate.cc: Likewise. * testsuite/20_util/monotonic_buffer_resource/deallocate.cc: Likewise. * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Likewise. * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise. * testsuite/23_containers/list/modifiers/insert/25288.cc: Likewise. * testsuite/23_containers/set/allocator/move_assign.cc: Likewise. * testsuite/25_algorithms/make_heap/complexity.cc: Likewise. * testsuite/25_algorithms/pop_heap/complexity.cc: Require cstdint and random_device effective-target. * testsuite/25_algorithms/push_heap/complexity.cc: Likewise. * testsuite/25_algorithms/sample/1.cc: Require cstdint. * testsuite/25_algorithms/sample/2.cc: Likewise. * testsuite/25_algorithms/sort_heap/complexity.cc: Require cstdint and random_device. * testsuite/26_numerics/headers/random/types_std_c++0x.cc: Require cstdint. * testsuite/26_numerics/random/chi_squared_distribution/83833.cc: Likewise. * testsuite/26_numerics/random/discard_block_engine/requirements/ constexpr_data.cc: Likewise. * testsuite/26_numerics/random/discard_block_engine/requirements/ constexpr_functions.cc: Likewise. * testsuite/26_numerics/random/independent_bits_engine/requirements/ constexpr_functions.cc: Likewise. * testsuite/26_numerics/random/linear_congruential_engine/requirements/ constexpr_data.cc: Likewise. * testsuite/26_numerics/random/linear_congruential_engine/requirements/ constexpr_functions.cc: Likewise. * testsuite/26_numerics/random/mersenne_twister_engine/requirements/ constexpr_data.cc: Likewise. * testsuite/26_numerics/random/mersenne_twister_engine/requirements/ constexpr_functions.cc: Likewise. * testsuite/26_numerics/random/pr60037-neg.cc: Likewise. * testsuite/26_numerics/random/seed_seq/cons/65631.cc: Likewise. * testsuite/26_numerics/random/shuffle_order_engine/requirements/ constexpr_data.cc: Add dg-require-cstdint directive. * testsuite/26_numerics/random/shuffle_order_engine/requirements/ constexpr_functions.cc: Likewise. * testsuite/26_numerics/random/subtract_with_carry_engine/requirements/ constexpr_data.cc: Likewise. * testsuite/26_numerics/random/subtract_with_carry_engine/requirements/ constexpr_functions.cc: Likewise. * testsuite/26_numerics/random/uniform_real_distribution/operators/ 64351.cc: Likewise. * testsuite/29_atomics/headers/atomic/types_std_c++0x.cc: Likewise. * testsuite/experimental/algorithm/sample-2.cc: Likewise. * testsuite/experimental/algorithm/sample.cc: Likewise. * testsuite/experimental/algorithm/search.cc: Likewise. * testsuite/experimental/algorithm/shuffle.cc: Likewise. * testsuite/experimental/any/cons/aligned.cc: Likewise. * testsuite/experimental/memory_resource/new_delete_resource.cc: Likewise. * testsuite/experimental/memory_resource/resource_adaptor.cc: Likewise. * testsuite/experimental/random/randint.cc: Likewise. * testsuite/experimental/source_location/1.cc: Likewise. * testsuite/ext/bitmap_allocator/overaligned.cc: Likewise. * testsuite/ext/malloc_allocator/overaligned.cc: Likewise. * testsuite/ext/mt_allocator/overaligned.cc: Likewise. * testsuite/ext/new_allocator/overaligned.cc: Likewise. * testsuite/ext/pb_ds/regression/hash_map_rand.cc: Likewise. * testsuite/ext/pb_ds/regression/hash_set_rand.cc: Likewise. * testsuite/ext/pb_ds/regression/list_update_map_rand.cc: Likewise. * testsuite/ext/pb_ds/regression/list_update_set_rand.cc: Likewise. * testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Likewise. * testsuite/ext/pb_ds/regression/tree_map_rand.cc: Likewise. * testsuite/ext/pb_ds/regression/tree_set_rand.cc: Likewise. * testsuite/ext/pb_ds/regression/trie_map_rand.cc: Likewise. * testsuite/ext/pb_ds/regression/trie_set_rand.cc: Likewise. * testsuite/ext/pool_allocator/overaligned.cc: Likewise. * testsuite/ext/throw_allocator/check_allocate_max_size.cc: Likewise. * testsuite/ext/throw_allocator/check_deallocate_null.cc: Likewise. * testsuite/ext/throw_allocator/check_delete.cc: Likewise. * testsuite/ext/throw_allocator/check_new.cc: Likewise. * testsuite/ext/throw_allocator/deallocate_global.cc: Likewise. * testsuite/ext/throw_allocator/deallocate_local.cc: Likewise. * testsuite/ext/throw_allocator/explicit_instantiation.cc: Likewise. * testsuite/ext/throw_allocator/variadic_construct.cc: Likewise. * testsuite/tr1/8_c_compatibility/cinttypes/functions.cc: Likewise. From-SVN: r263008
2018-07-26 15:03:28 +01:00
// { dg-require-cstdint "" }
#include <experimental/algorithm>
#include <testsuite_hooks.h>
struct nocopy
{
nocopy() = default;
nocopy(const nocopy&) = delete;
nocopy& operator=(const nocopy&) = delete;
int* operator()(int* f, int* l) const { return f; }
};
void
test01()
{
int i[] = { 1, 2 };
auto res = std::experimental::search(i, i + 2, nocopy{});
VERIFY( res == i );
}
int
main()
{
test01();
}