145 BOOST_CHECK_EQUAL(lexical_cast<std::string>(
true),
"1");
146 BOOST_CHECK_EQUAL(lexical_cast<std::string>(
false),
"0");
148 BOOST_CHECK_EQUAL(lexical_cast<std::string>(1),
"1");
149 BOOST_CHECK_EQUAL(lexical_cast<std::string>(1u),
"1");
151 BOOST_CHECK_EQUAL(lexical_cast<std::string>(1.2f),
"1.2");
152 BOOST_CHECK_EQUAL(lexical_cast<std::string>(1.2),
"1.2");
154 BOOST_CHECK_EQUAL(lexical_cast<int>(
"1"), 1);
155 BOOST_CHECK_EQUAL(lexical_cast<int>(
"-1"), -1);
156 BOOST_CHECK_EQUAL(lexical_cast<unsigned>(
"1"), 1);
157 BOOST_CHECK_EQUAL(lexical_cast<double>(
"1.2"), 1.2);
160 BOOST_CHECK_EQUAL(lexical_cast_default<int>(
"80%"), 80);
162 BOOST_CHECK_EQUAL(lexical_cast<double>(
"0x11"), 0);
164 std::string a =
"01234567890123456789";
165 BOOST_CHECK_EQUAL(lexical_cast<long long>(a), 1234567890123456789ll);
167 BOOST_CHECK_EQUAL(lexical_cast<double>(a), 1.23456789012345678e18);
168 BOOST_CHECK_EQUAL(lexical_cast_default<long long>(a, 0ll), 1234567890123456789ll);
169 BOOST_CHECK_EQUAL(lexical_cast_default<int>(a, 0), 0);
170 BOOST_CHECK_EQUAL(lexical_cast_default<double>(a, 0.0), 1.23456789012345678e18);
172 std::string
b =
"99999999999999999999";
175 BOOST_CHECK_EQUAL(lexical_cast<double>(
b), 1e20);
176 BOOST_CHECK_EQUAL(lexical_cast_default<long long>(
b, 0ll), 0ll);
177 BOOST_CHECK_EQUAL(lexical_cast_default<int>(
b, 0), 0);
178 BOOST_CHECK_EQUAL(lexical_cast_default<double>(
b, 0.0), 1e20);
std::tuple< char, signed char, unsigned char, short, int, long, long long, unsigned short, unsigned int, unsigned long, unsigned long long > test_integral_types