mirror of
https://github.com/BlackMATov/meta.hpp.git
synced 2025-12-16 22:17:02 +07:00
remove uvalue::can_get_as
This commit is contained in:
@@ -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*>());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user