1#ifndef ENTT_META_RESOLVE_HPP
2#define ENTT_META_RESOLVE_HPP
4#include "../core/type_info.hpp"
5#include "../locator/locator.hpp"
6#include "../stl/type_traits.hpp"
20template<
typename Type>
22 const auto &context = internal::meta_context::from(ctx);
23 return {ctx, internal::resolve<stl::remove_cvref_t<Type>>(context)};
31template<
typename Type>
42 const auto &context = internal::meta_context::from(ctx);
43 return {{ctx, context.bucket.cbegin()}, {ctx, context.bucket.cend()}};
61 const auto &context = internal::meta_context::from(ctx);
64 if(
const auto it = context.bucket.find(alias); it != context.bucket.end()) {
68 for(
auto &&curr: context.bucket) {
69 if(curr.second->alias == alias) {
93 const auto &context = internal::meta_context::from(ctx);
94 const auto it = context.bucket.find(info.hash());
static Service & value_or(Args &&...args)
Returns a service if available or sets it from a fallback type.
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.
stl::uint32_t id_type
Alias declaration for type identifiers.
Implementation specific information about a type.