diff --git a/develop/singles/headers/meta.hpp/meta_all.hpp b/develop/singles/headers/meta.hpp/meta_all.hpp index d584d3a..05fd69a 100644 --- a/develop/singles/headers/meta.hpp/meta_all.hpp +++ b/develop/singles/headers/meta.hpp/meta_all.hpp @@ -3024,7 +3024,8 @@ namespace meta_hpp::detail } auto state = scope_state::make(std::string{name}, metadata_map{}); - return scopes_.insert_or_assign(std::string{name}, std::move(state)).first->second; + auto&& [iter, _] = scopes_.insert_or_assign(std::string{name}, std::move(state)); + return iter->second; } private: state_registry() = default; @@ -3805,7 +3806,7 @@ namespace meta_hpp array_bind::array_bind(metadata_map metadata) : data_{detail::type_access(resolve_type())} { data_->metadata.swap(metadata); - data_->metadata.merge(metadata); + data_->metadata.merge(std::move(metadata)); } template < detail::array_kind Array > @@ -3820,7 +3821,7 @@ namespace meta_hpp class_bind::class_bind(metadata_map metadata) : data_{detail::type_access(resolve_type())} { data_->metadata.swap(metadata); - data_->metadata.merge(metadata); + data_->metadata.merge(std::move(metadata)); if constexpr ( std::is_destructible_v ) { destructor_(); @@ -4137,7 +4138,7 @@ namespace meta_hpp enum_bind::enum_bind(metadata_map metadata) : data_{detail::type_access(resolve_type())} { data_->metadata.swap(metadata); - data_->metadata.merge(metadata); + data_->metadata.merge(std::move(metadata)); } template < detail::enum_kind Enum > @@ -4167,7 +4168,7 @@ namespace meta_hpp function_bind::function_bind(metadata_map metadata) : data_{detail::type_access(resolve_type())} { data_->metadata.swap(metadata); - data_->metadata.merge(metadata); + data_->metadata.merge(std::move(metadata)); } template < detail::function_kind Function > @@ -4182,7 +4183,7 @@ namespace meta_hpp member_bind::member_bind(metadata_map metadata) : data_{detail::type_access(resolve_type())} { data_->metadata.swap(metadata); - data_->metadata.merge(metadata); + data_->metadata.merge(std::move(metadata)); } template < detail::member_kind Member > @@ -4197,7 +4198,7 @@ namespace meta_hpp method_bind::method_bind(metadata_map metadata) : data_{detail::type_access(resolve_type())} { data_->metadata.swap(metadata); - data_->metadata.merge(metadata); + data_->metadata.merge(std::move(metadata)); } template < detail::method_kind Method > @@ -4212,7 +4213,7 @@ namespace meta_hpp nullptr_bind::nullptr_bind(metadata_map metadata) : data_{detail::type_access(resolve_type())} { data_->metadata.swap(metadata); - data_->metadata.merge(metadata); + data_->metadata.merge(std::move(metadata)); } template < detail::nullptr_kind Nullptr > @@ -4227,7 +4228,7 @@ namespace meta_hpp number_bind::number_bind(metadata_map metadata) : data_{detail::type_access(resolve_type())} { data_->metadata.swap(metadata); - data_->metadata.merge(metadata); + data_->metadata.merge(std::move(metadata)); } template < detail::number_kind Number > @@ -4242,7 +4243,7 @@ namespace meta_hpp pointer_bind::pointer_bind(metadata_map metadata) : data_{detail::type_access(resolve_type())} { data_->metadata.swap(metadata); - data_->metadata.merge(metadata); + data_->metadata.merge(std::move(metadata)); } template < detail::pointer_kind Pointer > @@ -4257,7 +4258,7 @@ namespace meta_hpp reference_bind::reference_bind(metadata_map metadata) : data_{detail::type_access(resolve_type())} { data_->metadata.swap(metadata); - data_->metadata.merge(metadata); + data_->metadata.merge(std::move(metadata)); } template < detail::reference_kind Reference > @@ -4274,7 +4275,7 @@ namespace meta_hpp inline scope_bind::scope_bind(std::string_view name, metadata_map metadata, static_tag) : state_{detail::state_access(resolve_scope(name))} { state_->metadata.swap(metadata); - state_->metadata.merge(metadata); + state_->metadata.merge(std::move(metadata)); } inline scope_bind::operator scope() const noexcept { @@ -4391,7 +4392,7 @@ namespace meta_hpp void_bind::void_bind(metadata_map metadata) : data_{detail::type_access(resolve_type())} { data_->metadata.swap(metadata); - data_->metadata.merge(metadata); + data_->metadata.merge(std::move(metadata)); } template < detail::void_kind Void > diff --git a/headers/meta.hpp/meta_binds/array_bind.hpp b/headers/meta.hpp/meta_binds/array_bind.hpp index cb53646..0a76be6 100644 --- a/headers/meta.hpp/meta_binds/array_bind.hpp +++ b/headers/meta.hpp/meta_binds/array_bind.hpp @@ -16,7 +16,7 @@ namespace meta_hpp array_bind::array_bind(metadata_map metadata) : data_{detail::type_access(resolve_type())} { data_->metadata.swap(metadata); - data_->metadata.merge(metadata); + data_->metadata.merge(std::move(metadata)); } template < detail::array_kind Array > diff --git a/headers/meta.hpp/meta_binds/class_bind.hpp b/headers/meta.hpp/meta_binds/class_bind.hpp index b86ee7c..26c0499 100644 --- a/headers/meta.hpp/meta_binds/class_bind.hpp +++ b/headers/meta.hpp/meta_binds/class_bind.hpp @@ -16,7 +16,7 @@ namespace meta_hpp class_bind::class_bind(metadata_map metadata) : data_{detail::type_access(resolve_type())} { data_->metadata.swap(metadata); - data_->metadata.merge(metadata); + data_->metadata.merge(std::move(metadata)); if constexpr ( std::is_destructible_v ) { destructor_(); diff --git a/headers/meta.hpp/meta_binds/enum_bind.hpp b/headers/meta.hpp/meta_binds/enum_bind.hpp index e59b630..98e5511 100644 --- a/headers/meta.hpp/meta_binds/enum_bind.hpp +++ b/headers/meta.hpp/meta_binds/enum_bind.hpp @@ -16,7 +16,7 @@ namespace meta_hpp enum_bind::enum_bind(metadata_map metadata) : data_{detail::type_access(resolve_type())} { data_->metadata.swap(metadata); - data_->metadata.merge(metadata); + data_->metadata.merge(std::move(metadata)); } template < detail::enum_kind Enum > diff --git a/headers/meta.hpp/meta_binds/function_bind.hpp b/headers/meta.hpp/meta_binds/function_bind.hpp index a0fba74..45a241d 100644 --- a/headers/meta.hpp/meta_binds/function_bind.hpp +++ b/headers/meta.hpp/meta_binds/function_bind.hpp @@ -16,7 +16,7 @@ namespace meta_hpp function_bind::function_bind(metadata_map metadata) : data_{detail::type_access(resolve_type())} { data_->metadata.swap(metadata); - data_->metadata.merge(metadata); + data_->metadata.merge(std::move(metadata)); } template < detail::function_kind Function > diff --git a/headers/meta.hpp/meta_binds/member_bind.hpp b/headers/meta.hpp/meta_binds/member_bind.hpp index 21543af..7a5db22 100644 --- a/headers/meta.hpp/meta_binds/member_bind.hpp +++ b/headers/meta.hpp/meta_binds/member_bind.hpp @@ -16,7 +16,7 @@ namespace meta_hpp member_bind::member_bind(metadata_map metadata) : data_{detail::type_access(resolve_type())} { data_->metadata.swap(metadata); - data_->metadata.merge(metadata); + data_->metadata.merge(std::move(metadata)); } template < detail::member_kind Member > diff --git a/headers/meta.hpp/meta_binds/method_bind.hpp b/headers/meta.hpp/meta_binds/method_bind.hpp index e98f2cf..317cfe3 100644 --- a/headers/meta.hpp/meta_binds/method_bind.hpp +++ b/headers/meta.hpp/meta_binds/method_bind.hpp @@ -16,7 +16,7 @@ namespace meta_hpp method_bind::method_bind(metadata_map metadata) : data_{detail::type_access(resolve_type())} { data_->metadata.swap(metadata); - data_->metadata.merge(metadata); + data_->metadata.merge(std::move(metadata)); } template < detail::method_kind Method > diff --git a/headers/meta.hpp/meta_binds/nullptr_bind.hpp b/headers/meta.hpp/meta_binds/nullptr_bind.hpp index 12b9a4b..3a391a3 100644 --- a/headers/meta.hpp/meta_binds/nullptr_bind.hpp +++ b/headers/meta.hpp/meta_binds/nullptr_bind.hpp @@ -16,7 +16,7 @@ namespace meta_hpp nullptr_bind::nullptr_bind(metadata_map metadata) : data_{detail::type_access(resolve_type())} { data_->metadata.swap(metadata); - data_->metadata.merge(metadata); + data_->metadata.merge(std::move(metadata)); } template < detail::nullptr_kind Nullptr > diff --git a/headers/meta.hpp/meta_binds/number_bind.hpp b/headers/meta.hpp/meta_binds/number_bind.hpp index fbb1bcc..f9ea4e8 100644 --- a/headers/meta.hpp/meta_binds/number_bind.hpp +++ b/headers/meta.hpp/meta_binds/number_bind.hpp @@ -16,7 +16,7 @@ namespace meta_hpp number_bind::number_bind(metadata_map metadata) : data_{detail::type_access(resolve_type())} { data_->metadata.swap(metadata); - data_->metadata.merge(metadata); + data_->metadata.merge(std::move(metadata)); } template < detail::number_kind Number > diff --git a/headers/meta.hpp/meta_binds/pointer_bind.hpp b/headers/meta.hpp/meta_binds/pointer_bind.hpp index 1e6988c..ccd3ce7 100644 --- a/headers/meta.hpp/meta_binds/pointer_bind.hpp +++ b/headers/meta.hpp/meta_binds/pointer_bind.hpp @@ -16,7 +16,7 @@ namespace meta_hpp pointer_bind::pointer_bind(metadata_map metadata) : data_{detail::type_access(resolve_type())} { data_->metadata.swap(metadata); - data_->metadata.merge(metadata); + data_->metadata.merge(std::move(metadata)); } template < detail::pointer_kind Pointer > diff --git a/headers/meta.hpp/meta_binds/reference_bind.hpp b/headers/meta.hpp/meta_binds/reference_bind.hpp index 0e238e8..5566ad2 100644 --- a/headers/meta.hpp/meta_binds/reference_bind.hpp +++ b/headers/meta.hpp/meta_binds/reference_bind.hpp @@ -16,7 +16,7 @@ namespace meta_hpp reference_bind::reference_bind(metadata_map metadata) : data_{detail::type_access(resolve_type())} { data_->metadata.swap(metadata); - data_->metadata.merge(metadata); + data_->metadata.merge(std::move(metadata)); } template < detail::reference_kind Reference > diff --git a/headers/meta.hpp/meta_binds/scope_bind.hpp b/headers/meta.hpp/meta_binds/scope_bind.hpp index 0ca5b66..bcf8b94 100644 --- a/headers/meta.hpp/meta_binds/scope_bind.hpp +++ b/headers/meta.hpp/meta_binds/scope_bind.hpp @@ -18,7 +18,7 @@ namespace meta_hpp inline scope_bind::scope_bind(std::string_view name, metadata_map metadata, static_tag) : state_{detail::state_access(resolve_scope(name))} { state_->metadata.swap(metadata); - state_->metadata.merge(metadata); + state_->metadata.merge(std::move(metadata)); } inline scope_bind::operator scope() const noexcept { diff --git a/headers/meta.hpp/meta_binds/void_bind.hpp b/headers/meta.hpp/meta_binds/void_bind.hpp index cc3fc2e..4dee601 100644 --- a/headers/meta.hpp/meta_binds/void_bind.hpp +++ b/headers/meta.hpp/meta_binds/void_bind.hpp @@ -16,7 +16,7 @@ namespace meta_hpp void_bind::void_bind(metadata_map metadata) : data_{detail::type_access(resolve_type())} { data_->metadata.swap(metadata); - data_->metadata.merge(metadata); + data_->metadata.merge(std::move(metadata)); } template < detail::void_kind Void > diff --git a/headers/meta.hpp/meta_detail/state_registry.hpp b/headers/meta.hpp/meta_detail/state_registry.hpp index 856a736..2e57e76 100644 --- a/headers/meta.hpp/meta_detail/state_registry.hpp +++ b/headers/meta.hpp/meta_detail/state_registry.hpp @@ -50,7 +50,8 @@ namespace meta_hpp::detail } auto state = scope_state::make(std::string{name}, metadata_map{}); - return scopes_.insert_or_assign(std::string{name}, std::move(state)).first->second; + auto&& [iter, _] = scopes_.insert_or_assign(std::string{name}, std::move(state)); + return iter->second; } private: state_registry() = default;