remove uvalue::can_get_as

This commit is contained in:
BlackMATov
2022-11-06 18:25:06 +07:00
parent a630d89e96
commit 291e165ca4
5 changed files with 23 additions and 134 deletions

View File

@@ -324,107 +324,3 @@ TEST_CASE("meta/meta_utilities/value4/try_get_as") {
}
}
}
TEST_CASE("meta/meta_utilities/value4/can_get_as") {
namespace meta = meta_hpp;
SUBCASE("derived to derived") {
{
meta::uvalue v{derived{}};
CHECK(v.can_get_as<derived>());
CHECK_FALSE(v.can_get_as<derived2>());
}
{
const meta::uvalue v{derived{}};
CHECK(v.can_get_as<derived>());
CHECK_FALSE(v.can_get_as<derived2>());
}
}
SUBCASE("derived to base") {
{
meta::uvalue v{derived{}};
CHECK(v.can_get_as<base2>());
}
{
const meta::uvalue v{derived{}};
CHECK(v.can_get_as<base2>());
}
}
SUBCASE("voidptr") {
{
derived d{};
meta::uvalue v{&d};
CHECK(v.can_get_as<void*>());
CHECK(v.can_get_as<const void*>());
}
{
const derived d{};
meta::uvalue v{&d};
CHECK_FALSE(v.can_get_as<void*>());
CHECK(v.can_get_as<const void*>());
}
{
meta::uvalue v{derived{}};
CHECK_FALSE(v.can_get_as<void*>());
CHECK_FALSE(v.can_get_as<const void*>());
}
}
SUBCASE("nullptr") {
{
meta::uvalue v{nullptr};
CHECK(v.can_get_as<void*>());
CHECK(v.can_get_as<const void*>());
CHECK(v.can_get_as<derived*>());
CHECK(v.can_get_as<const derived*>());
CHECK_FALSE(v.can_get_as<derived>());
}
{
const meta::uvalue v{nullptr};
CHECK(v.can_get_as<void*>());
CHECK(v.can_get_as<const void*>());
CHECK(v.can_get_as<derived*>());
CHECK(v.can_get_as<const derived*>());
CHECK_FALSE(v.can_get_as<derived>());
}
}
SUBCASE("derived* to derived*") {
{
derived d{};
meta::uvalue v{&d};
CHECK(v.can_get_as<derived*>());
CHECK(v.can_get_as<const derived*>());
CHECK_FALSE(v.can_get_as<derived2*>());
CHECK_FALSE(v.can_get_as<const derived2*>());
}
{
const derived d{};
meta::uvalue v{&d};
CHECK(v.can_get_as<const derived*>());
CHECK_FALSE(v.can_get_as<const derived2*>());
}
}
SUBCASE("derived* to base*") {
{
derived d{};
meta::uvalue v{&d};
CHECK(v.can_get_as<base2*>());
CHECK(v.can_get_as<const base2*>());
}
{
const derived d{};
meta::uvalue v{&d};
CHECK_FALSE(v.can_get_as<base2*>());
CHECK(v.can_get_as<const base2*>());
}
}
}