meta: minor changes
This commit is contained in:
@@ -40,9 +40,9 @@ class meta_factory;
|
||||
*/
|
||||
template<typename Type, typename... Spec>
|
||||
class meta_factory<Type, Spec...>: public meta_factory<Type> {
|
||||
void link_prop_if_required(internal::meta_prop_node &node, const meta_any &instance) {
|
||||
void link_prop_if_required(internal::meta_prop_node &node) {
|
||||
if(meta_range<internal::meta_prop_node *, internal::meta_prop_node> range{*ref}; std::find(range.cbegin(), range.cend(), &node) == range.cend()) {
|
||||
ENTT_ASSERT(std::find_if(range.cbegin(), range.cend(), [&instance](const auto *curr) { return curr->id == instance; }) == range.cend(), "Duplicate identifier");
|
||||
ENTT_ASSERT(std::find_if(range.cbegin(), range.cend(), [&node](const auto *curr) { return curr->id == node.id; }) == range.cend(), "Duplicate identifier");
|
||||
node.next = *ref;
|
||||
*ref = &node;
|
||||
}
|
||||
@@ -81,7 +81,8 @@ class meta_factory<Type, Spec...>: public meta_factory<Type> {
|
||||
|
||||
property[0u] = std::move(key);
|
||||
property[1u] = std::move(value);
|
||||
link_prop_if_required(node, property[0u]);
|
||||
|
||||
link_prop_if_required(node);
|
||||
}
|
||||
|
||||
public:
|
||||
@@ -182,7 +183,7 @@ class meta_factory<Type> {
|
||||
}
|
||||
}
|
||||
|
||||
template<typename Setter, auto Getter, typename Policy, auto... Index>
|
||||
template<typename Setter, auto Getter, typename Policy, std::size_t... Index>
|
||||
auto data(const id_type id, std::index_sequence<Index...>) ENTT_NOEXCEPT {
|
||||
using data_type = std::remove_reference_t<std::invoke_result_t<decltype(Getter), Type &>>;
|
||||
using args_type = type_list<typename meta_function_helper_t<Type, decltype(value_list_element_v<Index, Setter>)>::args_type...>;
|
||||
|
||||
@@ -41,7 +41,7 @@ struct setter_getter_t {
|
||||
setter_getter_t(): value{0} {}
|
||||
|
||||
int setter(double val) {
|
||||
return value = val;
|
||||
return value = static_cast<int>(val);
|
||||
}
|
||||
|
||||
int getter() {
|
||||
|
||||
Reference in New Issue
Block a user