add some performance optimizations by utilizing MoveTemp in return statements

This commit is contained in:
Mamadou Babaei
2024-03-12 20:32:50 +01:00
parent d5af4e6083
commit a750097772
5 changed files with 38 additions and 38 deletions
@@ -302,10 +302,10 @@ void FSGBasicHandModelImpl::SetJointRotation(const FQuat& NewRotation, const ESG
TArray<float> FSGBasicHandModelImpl::GetTotalLengths() const
{
const TArray<float> TotalLengths{
TArray<float> TotalLengths{
FSGArrayUtils::FromMillimeters(Pimpl->BasicHandModel.GetTotalLengths())
};
return TotalLengths;
return MoveTemp(TotalLengths);
}
float FSGBasicHandModelImpl::GetTotalLength(const ESGFinger Finger) const
@@ -316,11 +316,11 @@ float FSGBasicHandModelImpl::GetTotalLength(const ESGFinger Finger) const
TArray<FVector> FSGBasicHandModelImpl::Get3DLengths(const ESGFinger Finger) const
{
const TArray<FVector> Lengths{
TArray<FVector> Lengths{
FSGArrayUtils::FromMillimeters<FSGVect3DImpl::FVect3DType, FSGVect3DImpl>(
Pimpl->BasicHandModel.Get3DLengths(FSGCoreEnumCast::ToEFinger(Finger)))
};
return Lengths;
return MoveTemp(Lengths);
}
bool FSGBasicHandModelImpl::Equals(const FSGBasicHandModelImpl& BasicHandModelImpl) const
@@ -330,20 +330,20 @@ bool FSGBasicHandModelImpl::Equals(const FSGBasicHandModelImpl& BasicHandModelIm
FString FSGBasicHandModelImpl::ToString() const
{
const FString String(UTF8_TO_TCHAR(Pimpl->BasicHandModel.ToString().c_str()));
return String;
FString String(UTF8_TO_TCHAR(Pimpl->BasicHandModel.ToString().c_str()));
return MoveTemp(String);
}
FString FSGBasicHandModelImpl::ToString(const bool bLengthsOnly) const
{
const FString String(UTF8_TO_TCHAR(Pimpl->BasicHandModel.ToString(bLengthsOnly).c_str()));
return String;
FString String(UTF8_TO_TCHAR(Pimpl->BasicHandModel.ToString(bLengthsOnly).c_str()));
return MoveTemp(String);
}
FString FSGBasicHandModelImpl::Serialize() const
{
const FString Serialized(UTF8_TO_TCHAR(Pimpl->BasicHandModel.Serialize().c_str()));
return Serialized;
FString Serialized(UTF8_TO_TCHAR(Pimpl->BasicHandModel.Serialize().c_str()));
return MoveTemp(Serialized);
}
FSGBasicHandModelImpl::FImpl::FImpl(FSGBasicHandModelImpl* InOwner)
@@ -84,8 +84,8 @@ void FSGDeviceImpl::ParseFirmware(const FString& RawFirmware, int32& OutMainVers
FString FSGDeviceImpl::ToString(ESGDeviceType DeviceType)
{
const FString String{UTF8_TO_TCHAR(FSGDeviceType::ToString(FSGCoreEnumCast::ToEDeviceType(DeviceType)).c_str())};
return String;
FString String{UTF8_TO_TCHAR(FSGDeviceType::ToString(FSGCoreEnumCast::ToEDeviceType(DeviceType)).c_str())};
return MoveTemp(String);
}
FSGDeviceImpl::FSGDeviceImpl()
@@ -192,14 +192,14 @@ int32 FSGDeviceImpl::GetSubFirmwareVersion() const
FString FSGDeviceImpl::GetFirmwareString() const
{
const FString String{UTF8_TO_TCHAR(ToSGDevicePtrChecked()->GetFirmwareString().c_str())};
return String;
FString String{UTF8_TO_TCHAR(ToSGDevicePtrChecked()->GetFirmwareString().c_str())};
return MoveTemp(String);
}
FString FSGDeviceImpl::GetAddress() const
{
const FString String(UTF8_TO_TCHAR(ToSGDevicePtrChecked()->GetAddress().c_str()));
return String;
FString String(UTF8_TO_TCHAR(ToSGDevicePtrChecked()->GetAddress().c_str()));
return MoveTemp(String);
}
bool FSGDeviceImpl::IsConnected() const
@@ -254,8 +254,8 @@ bool FSGDeviceImpl::GetBatteryLevel(float& OutLevel)
FString FSGDeviceImpl::ToString() const
{
const FString String(UTF8_TO_TCHAR(ToSGDevicePtrChecked()->ToString().c_str()));
return String;
FString String(UTF8_TO_TCHAR(ToSGDevicePtrChecked()->ToString().c_str()));
return MoveTemp(String);
}
FSGDeviceImpl::FImpl::FImpl(FSGDeviceImpl* InOwner)
@@ -268,8 +268,8 @@ bool FSGHandInterpolatorImpl::Equals(const FSGHandInterpolatorImpl& HandInterpol
FString FSGHandInterpolatorImpl::Serialize() const
{
const FString Serialized(UTF8_TO_TCHAR(Pimpl->HandInterpolator.Serialize().c_str()));
return Serialized;
FString Serialized(UTF8_TO_TCHAR(Pimpl->HandInterpolator.Serialize().c_str()));
return MoveTemp(Serialized);
}
FSGHandInterpolatorImpl::FImpl::FImpl(FSGHandInterpolatorImpl* InOwner)
@@ -200,20 +200,20 @@ bool FSGInterpolationSetImpl::Equals(const FSGInterpolationSetImpl& Interpolatio
FString FSGInterpolationSetImpl::ToString() const
{
const FString String(UTF8_TO_TCHAR(Pimpl->InterpolationSet.ToString().c_str()));
return String;
FString String(UTF8_TO_TCHAR(Pimpl->InterpolationSet.ToString().c_str()));
return MoveTemp(String);
}
FString FSGInterpolationSetImpl::ToString(const bool bLimits) const
{
const FString String(UTF8_TO_TCHAR(Pimpl->InterpolationSet.ToString(bLimits).c_str()));
return String;
FString String(UTF8_TO_TCHAR(Pimpl->InterpolationSet.ToString(bLimits).c_str()));
return MoveTemp(String);
}
FString FSGInterpolationSetImpl::Serialize() const
{
const FString Serialized(UTF8_TO_TCHAR(Pimpl->InterpolationSet.Serialize().c_str()));
return Serialized;
FString Serialized(UTF8_TO_TCHAR(Pimpl->InterpolationSet.Serialize().c_str()));
return MoveTemp(Serialized);
}
FSGInterpolationSetImpl::FImpl::FImpl(FSGInterpolationSetImpl* InOwner)
@@ -51,47 +51,47 @@ FString FSGSenseGloveVarsImpl::GetStandardConstantsString(const FString& Hardwar
const bool bRightHanded)
{
std::string HardwareVersionString(TCHAR_TO_UTF8(*HardwareVersion));
const FString String(UTF8_TO_TCHAR(FSenseGloveVarsType::GetStandardConstantsString(MoveTemp(HardwareVersionString),
FString String(UTF8_TO_TCHAR(FSenseGloveVarsType::GetStandardConstantsString(MoveTemp(HardwareVersionString),
FirmwareVersion, bRightHanded).c_str()));
return String;
return MoveTemp(String);
}
FString FSGSenseGloveVarsImpl::GetSensorString(const FString& HardwareVersion, const float FirmwareVersion)
{
std::string HardwareVersionString(TCHAR_TO_UTF8(*HardwareVersion));
const FString String(UTF8_TO_TCHAR(FSenseGloveVarsType::GetSensorString(MoveTemp(HardwareVersionString),
FString String(UTF8_TO_TCHAR(FSenseGloveVarsType::GetSensorString(MoveTemp(HardwareVersionString),
FirmwareVersion).c_str()));
return String;
return MoveTemp(String);
}
TArray<FVector> FSGSenseGloveVarsImpl::GetStartPositions(const FString& HardwareVersion, const bool bRightHanded)
{
std::string HardwareVersionString(TCHAR_TO_UTF8(*HardwareVersion));
const TArray<FVector> StartPositions{
TArray<FVector> StartPositions{
FSGArrayUtils::FromMillimeters<FSGVect3DImpl::FVect3DType, FSGVect3DImpl>(
FSenseGloveVarsType::GetStartPositions(MoveTemp(HardwareVersionString), bRightHanded))
};
return StartPositions;
return MoveTemp(StartPositions);
}
TArray<FQuat> FSGSenseGloveVarsImpl::GetStartRotations(const FString& HardwareVersion, const bool bRightHanded)
{
std::string HardwareVersionString(TCHAR_TO_UTF8(*HardwareVersion));
const TArray<FQuat> StartRotations{
TArray<FQuat> StartRotations{
FSGArrayUtils::FromStdVector<FSGQuatImpl::FQuatType, FQuat, FSGQuatImpl, &FSGQuatImpl::ToFQuat>(
FSenseGloveVarsType::GetStartRotations(MoveTemp(HardwareVersionString), bRightHanded))
};
return StartRotations;
return MoveTemp(StartRotations);
}
TArray<TArray<FVector>> FSGSenseGloveVarsImpl::GetGloveLengths(const FString& HardwareVersion)
{
std::string HardwareVersionString(TCHAR_TO_UTF8(*HardwareVersion));
const TArray<TArray<FVector>> GloveLengths{
TArray<TArray<FVector>> GloveLengths{
FSGArrayUtils::FromMillimeters<FSGVect3DImpl::FVect3DType, FSGVect3DImpl>(
FSenseGloveVarsType::GetGloveLengths(MoveTemp(HardwareVersionString)))
};
return GloveLengths;
return MoveTemp(GloveLengths);
}
int32 FSGSenseGloveVarsImpl::GetSensors(const FString& HardwareVersion)
@@ -112,10 +112,10 @@ TArray<bool> FSGSenseGloveVarsImpl::GetFunctions(const FString& HardwareVersion,
const int32 SubFirmwareVersion)
{
std::string HardwareVersionString(TCHAR_TO_UTF8(*HardwareVersion));
const TArray<bool> Functions{FSGArrayUtils::FromStdVector(FSenseGloveVarsType::GetFunctions(
TArray<bool> Functions{FSGArrayUtils::FromStdVector(FSenseGloveVarsType::GetFunctions(
MoveTemp(HardwareVersionString), FirmwareVersion, SubFirmwareVersion))
};
return Functions;
return MoveTemp(Functions);
}
FSGSenseGloveInfoImpl FSGSenseGloveVarsImpl::GenerateGloveModel(const FString& HardwareVersion,