add some performance optimizations by utilizing MoveTemp in return statements

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