From fa42141ef28471506ecd5513d42820590813ef30 Mon Sep 17 00:00:00 2001
From: Rye Mutt <rye@alchemyviewer.org>
Date: Thu, 19 Mar 2020 14:59:47 -0400
Subject: [PATCH] Use emplace for in-place value construction

---
 indra/llappearance/lldriverparam.cpp            | 4 ++--
 indra/llappearance/llpolymorph.cpp              | 4 ++--
 indra/llappearance/llpolyskeletaldistortion.cpp | 2 +-
 indra/llappearance/lltexlayer.cpp               | 2 +-
 indra/llcommon/llallocator_heap_profile.cpp     | 2 +-
 indra/llcommon/llsd.cpp                         | 2 +-
 6 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/indra/llappearance/lldriverparam.cpp b/indra/llappearance/lldriverparam.cpp
index 05d26fbe7aa..f49ad9826fb 100644
--- a/indra/llappearance/lldriverparam.cpp
+++ b/indra/llappearance/lldriverparam.cpp
@@ -85,7 +85,7 @@ BOOL LLDriverParamInfo::parseXml(LLXmlTreeNode* node)
 
 			// Push these on the front of the deque, so that we can construct
 			// them in order later (faster)
-			mDrivenInfoList.push_front( LLDrivenEntryInfo( driven_id, min1, max1, max2, min2 ) );
+			mDrivenInfoList.emplace_front( LLDrivenEntryInfo( driven_id, min1, max1, max2, min2 ) );
 		}
 		else
 		{
@@ -500,7 +500,7 @@ BOOL LLDriverParam::linkDrivenParams(visual_param_mapper mapper, BOOL only_cross
 			bool push = param && (!only_cross_params || param->getCrossWearable());
 			if (push)
 			{
-				mDriven.push_back(LLDrivenEntry( param, driven_info ));
+				mDriven.emplace_back(LLDrivenEntry( param, driven_info ));
 			}
 			else
 			{
diff --git a/indra/llappearance/llpolymorph.cpp b/indra/llappearance/llpolymorph.cpp
index ce7010984a0..c6f5cac4b8a 100644
--- a/indra/llappearance/llpolymorph.cpp
+++ b/indra/llappearance/llpolymorph.cpp
@@ -303,7 +303,7 @@ BOOL LLPolyMorphTargetInfo::parseXml(LLXmlTreeNode* node)
 				static LLStdStringHandle pos_string = LLXmlTree::addAttributeString("pos");
 				child_node->getFastAttributeVector3(pos_string, pos);
 
-				mVolumeInfoList.push_back(LLPolyVolumeMorphInfo(volume_name,scale,pos));
+				mVolumeInfoList.emplace_back(LLPolyVolumeMorphInfo(volume_name,scale,pos));
 			}
 		}
 	}
@@ -369,7 +369,7 @@ BOOL LLPolyMorphTarget::setInfo(LLPolyMorphTargetInfo* info)
 		{
 			if (avatarp->mCollisionVolumes[i].getName() == volume_info->mName)
 			{
-				mVolumeMorphs.push_back(
+				mVolumeMorphs.emplace_back(
 					LLPolyVolumeMorph(&avatarp->mCollisionVolumes[i],
 														  volume_info->mScale,
 														  volume_info->mPos));
diff --git a/indra/llappearance/llpolyskeletaldistortion.cpp b/indra/llappearance/llpolyskeletaldistortion.cpp
index ae38c25dbf1..0ec45bb1ca7 100644
--- a/indra/llappearance/llpolyskeletaldistortion.cpp
+++ b/indra/llappearance/llpolyskeletaldistortion.cpp
@@ -90,7 +90,7 @@ BOOL LLPolySkeletalDistortionInfo::parseXml(LLXmlTreeNode* node)
                         {
                                 haspos = TRUE;
                         }
-                        mBoneInfoList.push_back(LLPolySkeletalBoneInfo(name, scale, pos, haspos));
+                        mBoneInfoList.emplace_back(LLPolySkeletalBoneInfo(name, scale, pos, haspos));
                 }
                 else
                 {
diff --git a/indra/llappearance/lltexlayer.cpp b/indra/llappearance/lltexlayer.cpp
index c90b11ae712..89b4e0295fe 100644
--- a/indra/llappearance/lltexlayer.cpp
+++ b/indra/llappearance/lltexlayer.cpp
@@ -763,7 +763,7 @@ BOOL LLTexLayerInfo::parseXml(LLXmlTreeNode* node)
 			BOOL invert = FALSE;
 			static LLStdStringHandle invert_string = LLXmlTree::addAttributeString("invert");
 			maskNode->getFastAttributeBOOL(invert_string, invert);			
-			mMorphNameList.push_back(std::pair<std::string,BOOL>(morph_name,invert));
+			mMorphNameList.emplace_back(std::pair<std::string,BOOL>(morph_name,invert));
 		}
 	}
 
diff --git a/indra/llcommon/llallocator_heap_profile.cpp b/indra/llcommon/llallocator_heap_profile.cpp
index b2eafde1aaf..76cb03f6058 100644
--- a/indra/llcommon/llallocator_heap_profile.cpp
+++ b/indra/llcommon/llallocator_heap_profile.cpp
@@ -112,7 +112,7 @@ void LLAllocatorHeapProfile::parse(std::string const & prof_text)
 	{
 		++j; // skip the '@'
 
-		mLines.push_back(line(live_count, live_size, tot_count, tot_size));
+		mLines.emplace_back(line(live_count, live_size, tot_count, tot_size));
 		line & current_line = mLines.back();
 		
 		for(; j != line_elems.end(); ++j)
diff --git a/indra/llcommon/llsd.cpp b/indra/llcommon/llsd.cpp
index e9f6bb80f17..14fb7cc64a7 100644
--- a/indra/llcommon/llsd.cpp
+++ b/indra/llcommon/llsd.cpp
@@ -441,7 +441,7 @@ namespace
 
 	void ImplMap::insert(const LLSD::String& k, const LLSD& v)
 	{
-		mData.insert(DataMap::value_type(k, v));
+		mData.emplace(DataMap::value_type(k, v));
 	}
 	
 	void ImplMap::erase(const LLSD::String& k)
-- 
GitLab