From af2e7f101499c0fc4bbf8b05a2f6e9ad735e0b78 Mon Sep 17 00:00:00 2001 From: Daniel Parker Date: Fri, 14 Feb 2025 13:35:27 -0500 Subject: [PATCH] Issue #595 --- include/jsoncons/json_traits_macros.hpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/include/jsoncons/json_traits_macros.hpp b/include/jsoncons/json_traits_macros.hpp index 57f00ca44..2d2e0e479 100644 --- a/include/jsoncons/json_traits_macros.hpp +++ b/include/jsoncons/json_traits_macros.hpp @@ -268,12 +268,12 @@ namespace jsoncons #define JSONCONS_TO_JSON(Prefix, P2, P3, Member, Count) JSONCONS_TO_JSON_LAST(Prefix, P2, P3, Member, Count) #define JSONCONS_TO_JSON_LAST(Prefix, P2, P3, Member, Count) if ((num_params-Count) < num_mandatory_params2) \ - {Json jitem{class_instance.Member, alloc}; ajson.try_emplace(json_traits_macro_names::Member##_str(char_type{}),std::move(jitem));} \ + {ajson.try_emplace(json_traits_macro_names::Member##_str(char_type{}),class_instance.Member);} \ else {json_traits_helper::set_optional_json_member(json_traits_macro_names::Member##_str(char_type{}),class_instance.Member, ajson);} #define JSONCONS_ALL_TO_JSON(Prefix, P2, P3, Member, Count) JSONCONS_ALL_TO_JSON_LAST(Prefix, P2, P3, Member, Count) #define JSONCONS_ALL_TO_JSON_LAST(Prefix, P2, P3, Member, Count) \ - {Json jitem{class_instance.Member, alloc}; ajson.try_emplace(json_traits_macro_names::Member##_str(char_type{}),std::move(jitem));} + ajson.try_emplace(json_traits_macro_names::Member##_str(char_type{}),class_instance.Member); #define JSONCONS_MEMBER_TRAITS_BASE(AsT,ToJ,NumTemplateParams,ClassType,NumMandatoryParams1,NumMandatoryParams2, ...) \ namespace jsoncons \ @@ -373,20 +373,20 @@ namespace jsoncons \ #define JSONCONS_N_MEMBER_NAME_TO_JSON(P1, P2, P3, Seq, Count) JSONCONS_N_MEMBER_NAME_TO_JSON_LAST(P1, P2, P3, Seq, Count) #define JSONCONS_N_MEMBER_NAME_TO_JSON_LAST(P1, P2, P3, Seq, Count) if ((num_params-Count) < num_mandatory_params2) JSONCONS_EXPAND(JSONCONS_CONCAT(JSONCONS_N_MEMBER_NAME_TO_JSON_,JSONCONS_NARGS Seq) Seq) #define JSONCONS_N_MEMBER_NAME_TO_JSON_2(Member, Name) \ - {Json jitem{class_instance.Member, alloc}; ajson.try_emplace(Name,std::move(jitem));} \ + {ajson.try_emplace(Name,class_instance.Member);} \ else \ {json_traits_helper::set_optional_json_member(Name,class_instance.Member, ajson);} #define JSONCONS_N_MEMBER_NAME_TO_JSON_3(Member, Name, Mode) JSONCONS_N_MEMBER_NAME_TO_JSON_2(Member, Name) #define JSONCONS_N_MEMBER_NAME_TO_JSON_4(Member, Name, Mode, Match) JSONCONS_N_MEMBER_NAME_TO_JSON_6(Member, Name, Mode, Match,,) #define JSONCONS_N_MEMBER_NAME_TO_JSON_5(Member, Name, Mode, Match, Into) JSONCONS_N_MEMBER_NAME_TO_JSON_6(Member, Name, Mode, Match, Into, ) #define JSONCONS_N_MEMBER_NAME_TO_JSON_6(Member, Name, Mode, Match, Into, From) \ - {Json jitem{class_instance.Member, alloc}; ajson.try_emplace(Name, Into(std::move(jitem)));} \ + {ajson.try_emplace(Name, Into(class_instance.Member));} \ else \ {json_traits_helper::set_optional_json_member(Name, Into(class_instance.Member), ajson);} #define JSONCONS_ALL_MEMBER_NAME_TO_JSON(P1, P2, P3, Seq, Count) JSONCONS_ALL_MEMBER_NAME_TO_JSON_LAST(P1, P2, P3, Seq, Count) #define JSONCONS_ALL_MEMBER_NAME_TO_JSON_LAST(P1, P2, P3, Seq, Count) JSONCONS_EXPAND(JSONCONS_CONCAT(JSONCONS_ALL_MEMBER_NAME_TO_JSON_,JSONCONS_NARGS Seq) Seq) -#define JSONCONS_ALL_MEMBER_NAME_TO_JSON_2(Member, Name) {Json jitem{class_instance.Member, alloc}; ajson.try_emplace(Name,std::move(jitem));} +#define JSONCONS_ALL_MEMBER_NAME_TO_JSON_2(Member, Name) ajson.try_emplace(Name,class_instance.Member); #define JSONCONS_ALL_MEMBER_NAME_TO_JSON_3(Member, Name, Mode) JSONCONS_ALL_MEMBER_NAME_TO_JSON_2(Member, Name) #define JSONCONS_ALL_MEMBER_NAME_TO_JSON_4(Member, Name, Mode, Match) JSONCONS_ALL_MEMBER_NAME_TO_JSON_6(Member, Name, Mode, Match,,) #define JSONCONS_ALL_MEMBER_NAME_TO_JSON_5(Member, Name, Mode, Match, Into) JSONCONS_ALL_MEMBER_NAME_TO_JSON_6(Member, Name, Mode, Match, Into, )