/
BirdLeon
/
ROBLOX2016
Обзор
Документация
Войти
/
BirdLeon
/
ROBLOX2016
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
Library/boost/libs/tuple/test/structured_bindings.cpp
77 строк
2 KB
PatoFlamejanteTV
full source code
19 дек 2024, 19:11
19 дек 2024, 19:11
05db15d
Код
Авторство
О чём код?
// Copyright 2017 Peter Dimov. // Distributed under the Boost Software License, Version 1.0. #include <boost/tuple/tuple.hpp> #include <boost/core/lightweight_test.hpp> #include <boost/config.hpp> #include <boost/config/pragma_message.hpp> #if defined(BOOST_NO_CXX17_STRUCTURED_BINDINGS) BOOST_PRAGMA_MESSAGE("Skipping structured bindings test, not supported") int main() {} #else int main() { // make_tuple { auto [x1] = boost::make_tuple( 1 ); BOOST_TEST_EQ( x1, 1 ); } { auto [x1, x2] = boost::make_tuple( 1, 2 ); BOOST_TEST_EQ( x1, 1 ); BOOST_TEST_EQ( x2, 2 ); } { auto [x1, x2, x3] = boost::make_tuple( 1, 2, 3 ); BOOST_TEST_EQ( x1, 1 ); BOOST_TEST_EQ( x2, 2 ); BOOST_TEST_EQ( x3, 3 ); } { auto [x1, x2, x3, x4] = boost::make_tuple( 1, 2, 3, 4 ); BOOST_TEST_EQ( x1, 1 ); BOOST_TEST_EQ( x2, 2 ); BOOST_TEST_EQ( x3, 3 ); BOOST_TEST_EQ( x4, 4 ); } // tuple { auto [x1] = boost::tuple<int>( 1 ); BOOST_TEST_EQ( x1, 1 ); } { auto [x1, x2] = boost::tuple<int, int>( 1, 2 ); BOOST_TEST_EQ( x1, 1 ); BOOST_TEST_EQ( x2, 2 ); } { auto [x1, x2, x3] = boost::tuple<int, int, int>( 1, 2, 3 ); BOOST_TEST_EQ( x1, 1 ); BOOST_TEST_EQ( x2, 2 ); BOOST_TEST_EQ( x3, 3 ); } { auto [x1, x2, x3, x4] = boost::tuple<int, int, int, int>( 1, 2, 3, 4 ); BOOST_TEST_EQ( x1, 1 ); BOOST_TEST_EQ( x2, 2 ); BOOST_TEST_EQ( x3, 3 ); BOOST_TEST_EQ( x4, 4 ); } return boost::report_errors(); } #endif