fix: moving instead of copying std::string argument

This commit is contained in:
Stanislav Angelovič
2023-08-03 14:17:13 +02:00
parent fb61420bf0
commit 605fbe48c0
2 changed files with 11 additions and 11 deletions

View File

@ -51,7 +51,7 @@ namespace sdbus {
class MethodRegistrator class MethodRegistrator
{ {
public: public:
MethodRegistrator(IObject& object, const std::string& methodName); MethodRegistrator(IObject& object, std::string methodName);
MethodRegistrator(MethodRegistrator&& other) = default; MethodRegistrator(MethodRegistrator&& other) = default;
~MethodRegistrator() noexcept(false); ~MethodRegistrator() noexcept(false);
@ -67,7 +67,7 @@ namespace sdbus {
private: private:
IObject& object_; IObject& object_;
const std::string& methodName_; std::string methodName_;
std::string interfaceName_; std::string interfaceName_;
std::string inputSignature_; std::string inputSignature_;
std::vector<std::string> inputParamNames_; std::vector<std::string> inputParamNames_;
@ -81,7 +81,7 @@ namespace sdbus {
class SignalRegistrator class SignalRegistrator
{ {
public: public:
SignalRegistrator(IObject& object, const std::string& signalName); SignalRegistrator(IObject& object, std::string signalName);
SignalRegistrator(SignalRegistrator&& other) = default; SignalRegistrator(SignalRegistrator&& other) = default;
~SignalRegistrator() noexcept(false); ~SignalRegistrator() noexcept(false);
@ -93,7 +93,7 @@ namespace sdbus {
private: private:
IObject& object_; IObject& object_;
const std::string& signalName_; std::string signalName_;
std::string interfaceName_; std::string interfaceName_;
std::string signalSignature_; std::string signalSignature_;
std::vector<std::string> paramNames_; std::vector<std::string> paramNames_;

View File

@ -45,9 +45,9 @@ namespace sdbus {
/*** MethodRegistrator ***/ /*** MethodRegistrator ***/
/*** ----------------- ***/ /*** ----------------- ***/
inline MethodRegistrator::MethodRegistrator(IObject& object, const std::string& methodName) inline MethodRegistrator::MethodRegistrator(IObject& object, std::string methodName)
: object_(object) : object_(object)
, methodName_(methodName) , methodName_(std::move(methodName))
, exceptions_(std::uncaught_exceptions()) , exceptions_(std::uncaught_exceptions())
{ {
} }
@ -73,9 +73,9 @@ namespace sdbus {
object_.registerMethod( interfaceName_ object_.registerMethod( interfaceName_
, std::move(methodName_) , std::move(methodName_)
, std::move(inputSignature_) , std::move(inputSignature_)
, std::move(inputParamNames_) , inputParamNames_
, std::move(outputSignature_) , std::move(outputSignature_)
, std::move(outputParamNames_) , outputParamNames_
, std::move(methodCallback_) , std::move(methodCallback_)
, std::move(flags_)); , std::move(flags_));
} }
@ -177,9 +177,9 @@ namespace sdbus {
/*** SignalRegistrator ***/ /*** SignalRegistrator ***/
/*** ----------------- ***/ /*** ----------------- ***/
inline SignalRegistrator::SignalRegistrator(IObject& object, const std::string& signalName) inline SignalRegistrator::SignalRegistrator(IObject& object, std::string signalName)
: object_(object) : object_(object)
, signalName_(signalName) , signalName_(std::move(signalName))
, exceptions_(std::uncaught_exceptions()) , exceptions_(std::uncaught_exceptions())
{ {
} }
@ -204,7 +204,7 @@ namespace sdbus {
object_.registerSignal( interfaceName_ object_.registerSignal( interfaceName_
, std::move(signalName_) , std::move(signalName_)
, std::move(signalSignature_) , std::move(signalSignature_)
, std::move(paramNames_) , paramNames_
, std::move(flags_) ); , std::move(flags_) );
} }