diff --git a/alib2data/src/label/LabelPairLabel.cpp b/alib2data/src/label/LabelPairLabel.cpp index 965950b5897339abe22d5be6bc0d93d56147ec61..50dd7391a7cdc1b0afcf8be10a8596e2cdbbbedd 100644 --- a/alib2data/src/label/LabelPairLabel.cpp +++ b/alib2data/src/label/LabelPairLabel.cpp @@ -11,7 +11,11 @@ namespace label { -LabelPairLabel::LabelPairLabel(std::pair<Label, Label> label) : label(label) { +LabelPairLabel::LabelPairLabel(const std::pair<Label, Label>& label) : label(std::move(label)) { + +} + +LabelPairLabel::LabelPairLabel(std::pair<Label, Label>&& label) : label(std::move(label)) { } diff --git a/alib2data/src/label/LabelPairLabel.h b/alib2data/src/label/LabelPairLabel.h index 3eab974e0296dc04c7cb0fbc11bd8faaf4e29048..eed88ccdce137cee81a78721b3174205207c0f2f 100644 --- a/alib2data/src/label/LabelPairLabel.h +++ b/alib2data/src/label/LabelPairLabel.h @@ -32,7 +32,8 @@ public: * Creates new symbol with given name. * @param symbol name of the symbol */ - explicit LabelPairLabel(std::pair<Label, Label> label); + explicit LabelPairLabel(const std::pair<Label, Label>& label); + explicit LabelPairLabel(std::pair<Label, Label>&& label); virtual bool operator<(const alib::ObjectBase& other) const; diff --git a/alib2data/src/label/LabelSetLabel.cpp b/alib2data/src/label/LabelSetLabel.cpp index 3ee80e4b4931a9eece77053c1f5e408d4b002a22..45e00debe492680de95b89be5d215399121c799b 100644 --- a/alib2data/src/label/LabelSetLabel.cpp +++ b/alib2data/src/label/LabelSetLabel.cpp @@ -11,7 +11,11 @@ namespace label { -LabelSetLabel::LabelSetLabel(std::set<Label> label) : label(label) { +LabelSetLabel::LabelSetLabel(const std::set<Label>& label) : label(label) { + +} + +LabelSetLabel::LabelSetLabel(std::set<Label>&& label) : label(std::move(label)) { } diff --git a/alib2data/src/label/LabelSetLabel.h b/alib2data/src/label/LabelSetLabel.h index 51281a7a14d1d427f62c40e8acfd20c358e5a10b..d8866ea19726083693d1406b0badadcd519a0ce9 100644 --- a/alib2data/src/label/LabelSetLabel.h +++ b/alib2data/src/label/LabelSetLabel.h @@ -32,7 +32,8 @@ public: * Creates new symbol with given name. * @param symbol name of the symbol */ - explicit LabelSetLabel(std::set<Label> label); + explicit LabelSetLabel(const std::set<Label>& label); + explicit LabelSetLabel(std::set<Label>&& label); virtual bool operator<(const alib::ObjectBase& other) const;