//===----------------------------------------------------------------------===// // // The LLVM Compiler Infrastructure // // This file is dual licensed under the MIT and the University of Illinois Open // Source Licenses. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // // template // pair // minmax(initializer_list t, Compare comp); #include #include #include int main() { #ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS assert((std::minmax({1, 2, 3}, std::greater()) == std::pair(3, 1))); assert((std::minmax({1, 3, 2}, std::greater()) == std::pair(3, 1))); assert((std::minmax({2, 1, 3}, std::greater()) == std::pair(3, 1))); assert((std::minmax({2, 3, 1}, std::greater()) == std::pair(3, 1))); assert((std::minmax({3, 1, 2}, std::greater()) == std::pair(3, 1))); assert((std::minmax({3, 2, 1}, std::greater()) == std::pair(3, 1))); #if _LIBCPP_STD_VER > 11 { static_assert((std::minmax({1, 2, 3}, std::greater()) == std::pair(3, 1)), ""); static_assert((std::minmax({1, 3, 2}, std::greater()) == std::pair(3, 1)), ""); static_assert((std::minmax({2, 1, 3}, std::greater()) == std::pair(3, 1)), ""); static_assert((std::minmax({2, 3, 1}, std::greater()) == std::pair(3, 1)), ""); static_assert((std::minmax({3, 1, 2}, std::greater()) == std::pair(3, 1)), ""); static_assert((std::minmax({3, 2, 1}, std::greater()) == std::pair(3, 1)), ""); } #endif #endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS }