meta: reduce symbol size of meta assoc traits ::size function
This commit is contained in:
@@ -101,8 +101,8 @@ struct basic_meta_associative_container_traits {
|
||||
|
||||
static constexpr auto key_only = is_key_only_meta_associative_container<Type>::value;
|
||||
|
||||
[[nodiscard]] static size_type size(const any &container) noexcept {
|
||||
return any_cast<const Type &>(container).size();
|
||||
[[nodiscard]] static size_type size(const void *container) noexcept {
|
||||
return static_cast<const Type *>(container)->size();
|
||||
}
|
||||
|
||||
[[nodiscard]] static bool clear(any &container) {
|
||||
|
||||
@@ -141,7 +141,7 @@ private:
|
||||
internal::meta_type_node (*key_type_node)(const internal::meta_context &){};
|
||||
internal::meta_type_node (*mapped_type_node)(const internal::meta_context &){};
|
||||
internal::meta_type_node (*value_type_node)(const internal::meta_context &){};
|
||||
size_type (*size_fn)(const any &) noexcept {};
|
||||
size_type (*size_fn)(const void *) noexcept {};
|
||||
bool (*clear_fn)(any &){};
|
||||
iterator (*iter_fn)(const meta_ctx &, any &, const bool){};
|
||||
size_type (*insert_or_erase_fn)(any &, meta_any &, meta_any &){};
|
||||
@@ -1948,7 +1948,7 @@ inline meta_sequence_container::iterator meta_sequence_container::erase(iterator
|
||||
|
||||
/*! @copydoc meta_sequence_container::size */
|
||||
[[nodiscard]] inline meta_associative_container::size_type meta_associative_container::size() const noexcept {
|
||||
return size_fn(storage);
|
||||
return size_fn(storage.data());
|
||||
}
|
||||
|
||||
/*! @copydoc meta_sequence_container::clear */
|
||||
|
||||
Reference in New Issue
Block a user