Skip to content

Commit

Permalink
fix: moving instead of copying std::string argument
Browse files Browse the repository at this point in the history
  • Loading branch information
sangelovic committed Aug 3, 2023
1 parent fb61420 commit 605fbe4
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 11 deletions.
8 changes: 4 additions & 4 deletions include/sdbus-c++/ConvenienceApiClasses.h
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ namespace sdbus {
class MethodRegistrator
{
public:
MethodRegistrator(IObject& object, const std::string& methodName);
MethodRegistrator(IObject& object, std::string methodName);
MethodRegistrator(MethodRegistrator&& other) = default;
~MethodRegistrator() noexcept(false);

Expand All @@ -67,7 +67,7 @@ namespace sdbus {

private:
IObject& object_;
const std::string& methodName_;
std::string methodName_;
std::string interfaceName_;
std::string inputSignature_;
std::vector<std::string> inputParamNames_;
Expand All @@ -81,7 +81,7 @@ namespace sdbus {
class SignalRegistrator
{
public:
SignalRegistrator(IObject& object, const std::string& signalName);
SignalRegistrator(IObject& object, std::string signalName);
SignalRegistrator(SignalRegistrator&& other) = default;
~SignalRegistrator() noexcept(false);

Expand All @@ -93,7 +93,7 @@ namespace sdbus {

private:
IObject& object_;
const std::string& signalName_;
std::string signalName_;
std::string interfaceName_;
std::string signalSignature_;
std::vector<std::string> paramNames_;
Expand Down
14 changes: 7 additions & 7 deletions include/sdbus-c++/ConvenienceApiClasses.inl
Original file line number Diff line number Diff line change
Expand Up @@ -45,9 +45,9 @@ namespace sdbus {
/*** MethodRegistrator ***/
/*** ----------------- ***/

inline MethodRegistrator::MethodRegistrator(IObject& object, const std::string& methodName)
inline MethodRegistrator::MethodRegistrator(IObject& object, std::string methodName)
: object_(object)
, methodName_(methodName)
, methodName_(std::move(methodName))
, exceptions_(std::uncaught_exceptions())
{
}
Expand All @@ -73,9 +73,9 @@ namespace sdbus {
object_.registerMethod( interfaceName_
, std::move(methodName_)
, std::move(inputSignature_)
, std::move(inputParamNames_)
, inputParamNames_
, std::move(outputSignature_)
, std::move(outputParamNames_)
, outputParamNames_
, std::move(methodCallback_)
, std::move(flags_));
}
Expand Down Expand Up @@ -177,9 +177,9 @@ namespace sdbus {
/*** SignalRegistrator ***/
/*** ----------------- ***/

inline SignalRegistrator::SignalRegistrator(IObject& object, const std::string& signalName)
inline SignalRegistrator::SignalRegistrator(IObject& object, std::string signalName)
: object_(object)
, signalName_(signalName)
, signalName_(std::move(signalName))
, exceptions_(std::uncaught_exceptions())
{
}
Expand All @@ -204,7 +204,7 @@ namespace sdbus {
object_.registerSignal( interfaceName_
, std::move(signalName_)
, std::move(signalSignature_)
, std::move(paramNames_)
, paramNames_
, std::move(flags_) );
}

Expand Down

0 comments on commit 605fbe4

Please sign in to comment.