Revert "Add pair_conversion registration helper with unit test"

This commit is contained in:
Rob Loach 2021-05-24 09:19:47 -04:00 committed by GitHub
parent 9c118c2b1e
commit 6030ea63bd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 0 additions and 40 deletions

View File

@ -654,23 +654,6 @@ namespace chaiscript
return chaiscript::make_shared<detail::Type_Conversion_Base, detail::Type_Conversion_Impl<decltype(func)>>(user_type<std::map<std::string, Boxed_Value>>(), user_type<To>(), func); return chaiscript::make_shared<detail::Type_Conversion_Base, detail::Type_Conversion_Impl<decltype(func)>>(user_type<std::map<std::string, Boxed_Value>>(), user_type<To>(), func);
} }
template<typename Left, typename Right>
Type_Conversion pair_conversion()
{
auto func = [](const Boxed_Value &t_bv) -> Boxed_Value {
const std::pair<Boxed_Value, Boxed_Value> &from_pair = detail::Cast_Helper<const std::pair<Boxed_Value, Boxed_Value> &>::cast(t_bv, nullptr);
auto pair = std::make_pair(
detail::Cast_Helper<Left>::cast(from_pair.first, nullptr),
detail::Cast_Helper<Right>::cast(from_pair.second, nullptr)
);
return Boxed_Value(std::move(pair));
};
return chaiscript::make_shared<detail::Type_Conversion_Base, detail::Type_Conversion_Impl<decltype(func)>>(user_type<std::pair<Boxed_Value, Boxed_Value>>(), user_type<std::pair<Left, Right>>(), func);
}
} }

View File

@ -1009,29 +1009,6 @@ TEST_CASE("Map conversions")
} }
TEST_CASE("Pair conversions")
{
chaiscript::ChaiScript_Basic chai(create_chaiscript_stdlib(),create_chaiscript_parser());
chai.add(chaiscript::pair_conversion<std::string, std::string>());
chai.add(chaiscript::pair_conversion<int, double>());
{
const auto p = chai.eval<std::pair<std::string, std::string>>(R"cs(
Pair("chai", "script");
)cs");
CHECK(p.first == std::string{"chai"});
CHECK(p.second == "script");
}
{
const auto p = chai.eval<std::pair<int, double>>(R"cs(
Pair(5, 3.14);
)cs");
CHECK(p.first == 5);
CHECK(p.second == Approx(3.14));
}
}
TEST_CASE("Parse floats with non-posix locale") TEST_CASE("Parse floats with non-posix locale")
{ {
#ifdef CHAISCRIPT_MSVC #ifdef CHAISCRIPT_MSVC