1#ifndef ENTT_META_RESOLVE_HPP
2#define ENTT_META_RESOLVE_HPP
5#include "../core/type_info.hpp"
6#include "../locator/locator.hpp"
20template<
typename Type>
22 auto &&context = internal::meta_context::from(ctx);
23 return {ctx, internal::resolve<std::remove_cv_t<std::remove_reference_t<Type>>>(context)};
31template<
typename Type>
42 auto &&context = internal::meta_context::from(ctx);
43 return {{ctx, context.value.cbegin()}, {ctx, context.value.cend()}};
61 for(
auto &&curr:
resolve(ctx)) {
62 if(curr.second.id() ==
id) {
86 auto &&context = internal::meta_context::from(ctx);
87 const auto *elem = internal::try_resolve(context, info);
static Service & value_or(Args &&...args)
Returns a service if available or sets it from a fallback type.
std::uint32_t id_type
Alias declaration for type identifiers.
iterable_adaptor< internal::meta_range_iterator< Type, It > > meta_range
Iterable range to use to iterate all types of meta objects.
meta_type resolve() noexcept
Returns the meta type associated with a given type.
Implementation specific information about a type.