input_common: Use std::move where applicable

Avoids unnecessary atomic reference count increments and decrements
This commit is contained in:
Lioncash 2018-08-02 21:51:08 -04:00 committed by zhupengfei
parent 8ce104f0a0
commit 384c9e5382
2 changed files with 6 additions and 5 deletions

View File

@ -5,6 +5,7 @@
#include <atomic> #include <atomic>
#include <list> #include <list>
#include <mutex> #include <mutex>
#include <utility>
#include "input_common/keyboard.h" #include "input_common/keyboard.h"
namespace InputCommon { namespace InputCommon {
@ -12,7 +13,7 @@ namespace InputCommon {
class KeyButton final : public Input::ButtonDevice { class KeyButton final : public Input::ButtonDevice {
public: public:
explicit KeyButton(std::shared_ptr<KeyButtonList> key_button_list_) explicit KeyButton(std::shared_ptr<KeyButtonList> key_button_list_)
: key_button_list(key_button_list_) {} : key_button_list(std::move(key_button_list_)) {}
~KeyButton() override; ~KeyButton() override;

View File

@ -82,7 +82,7 @@ private:
class SDLButton final : public Input::ButtonDevice { class SDLButton final : public Input::ButtonDevice {
public: public:
explicit SDLButton(std::shared_ptr<SDLJoystick> joystick_, int button_) explicit SDLButton(std::shared_ptr<SDLJoystick> joystick_, int button_)
: joystick(joystick_), button(button_) {} : joystick(std::move(joystick_)), button(button_) {}
bool GetStatus() const override { bool GetStatus() const override {
return joystick->GetButton(button); return joystick->GetButton(button);
@ -96,7 +96,7 @@ private:
class SDLDirectionButton final : public Input::ButtonDevice { class SDLDirectionButton final : public Input::ButtonDevice {
public: public:
explicit SDLDirectionButton(std::shared_ptr<SDLJoystick> joystick_, int hat_, Uint8 direction_) explicit SDLDirectionButton(std::shared_ptr<SDLJoystick> joystick_, int hat_, Uint8 direction_)
: joystick(joystick_), hat(hat_), direction(direction_) {} : joystick(std::move(joystick_)), hat(hat_), direction(direction_) {}
bool GetStatus() const override { bool GetStatus() const override {
return joystick->GetHatDirection(hat, direction); return joystick->GetHatDirection(hat, direction);
@ -112,7 +112,7 @@ class SDLAxisButton final : public Input::ButtonDevice {
public: public:
explicit SDLAxisButton(std::shared_ptr<SDLJoystick> joystick_, int axis_, float threshold_, explicit SDLAxisButton(std::shared_ptr<SDLJoystick> joystick_, int axis_, float threshold_,
bool trigger_if_greater_) bool trigger_if_greater_)
: joystick(joystick_), axis(axis_), threshold(threshold_), : joystick(std::move(joystick_)), axis(axis_), threshold(threshold_),
trigger_if_greater(trigger_if_greater_) {} trigger_if_greater(trigger_if_greater_) {}
bool GetStatus() const override { bool GetStatus() const override {
@ -132,7 +132,7 @@ private:
class SDLAnalog final : public Input::AnalogDevice { class SDLAnalog final : public Input::AnalogDevice {
public: public:
SDLAnalog(std::shared_ptr<SDLJoystick> joystick_, int axis_x_, int axis_y_) SDLAnalog(std::shared_ptr<SDLJoystick> joystick_, int axis_x_, int axis_y_)
: joystick(joystick_), axis_x(axis_x_), axis_y(axis_y_) {} : joystick(std::move(joystick_)), axis_x(axis_x_), axis_y(axis_y_) {}
std::tuple<float, float> GetStatus() const override { std::tuple<float, float> GetStatus() const override {
return joystick->GetAnalog(axis_x, axis_y); return joystick->GetAnalog(axis_x, axis_y);