meta_range: non-const to const iterator conversion guaranteed
This commit is contained in:
@@ -39,3 +39,17 @@ TEST_F(MetaRange, EmptyRange) {
|
||||
entt::meta_range<entt::meta_data> range{};
|
||||
ASSERT_EQ(range.begin(), range.end());
|
||||
}
|
||||
|
||||
TEST_F(MetaRange, IteratorConversion) {
|
||||
using namespace entt::literals;
|
||||
|
||||
entt::meta_range<entt::meta_type> range{entt::internal::meta_context::local()};
|
||||
typename decltype(range)::iterator it = range.begin();
|
||||
typename decltype(range)::const_iterator cit = it;
|
||||
|
||||
static_assert(std::is_same_v<decltype(*it), entt::meta_type>);
|
||||
static_assert(std::is_same_v<decltype(*cit), entt::meta_type>);
|
||||
|
||||
ASSERT_EQ(*it, entt::resolve<double>());
|
||||
ASSERT_EQ(*it, *cit);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user