/
BirdLeon
/
ROBLOX2016
Обзор
Документация
Войти
/
BirdLeon
/
ROBLOX2016
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
Library/boost/libs/exception/test/to_string_stub_test.cpp
98 строк
2 KB
PatoFlamejanteTV
full source code
19 дек 2024, 19:11
19 дек 2024, 19:11
05db15d
Код
Авторство
О чём код?
//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. //Distributed under the Boost Software License, Version 1.0. (See accompanying //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) #include <boost/exception/to_string_stub.hpp> #include <boost/detail/lightweight_test.hpp> #include <iostream> namespace n1 { class c1 { }; std::string to_string( c1 const & ) { return "c1"; } } namespace n2 { class c2 { }; std::ostream & operator<<( std::ostream & s, c2 const & ) { s << "c2"; return s; } } namespace n3 { class c3 { }; std::ostream & operator<<( std::ostream & s, c3 const & ) { s << "bad"; return s; } std::string to_string( c3 const & ) { return "c3"; } } namespace boost { class to_string_tester { }; } template <class T> struct my_stub { std::string operator()( T const & ) { return "stub"; } }; int main() { using namespace boost; BOOST_TEST( to_string(42)=="42" ); BOOST_TEST( to_string(n1::c1())=="c1" ); BOOST_TEST( to_string(n2::c2())=="c2" ); BOOST_TEST( to_string(n3::c3())=="c3" ); BOOST_TEST( to_string_stub(42)=="42" ); BOOST_TEST( to_string_stub(n1::c1())=="c1" ); BOOST_TEST( to_string_stub(n2::c2())=="c2" ); BOOST_TEST( to_string_stub(n3::c3())=="c3" ); BOOST_TEST( to_string_stub(to_string_tester(),my_stub<to_string_tester>())=="stub" ); BOOST_TEST( !to_string_stub(to_string_tester()).empty() ); return boost::report_errors(); }