@@ -42,7 +42,7 @@ class HdlrDomino : public aDominoType
4242 explicit HdlrDomino (const LogName& aUniLogName = ULN_DEFAULT) noexcept : aDominoType(aUniLogName) {}
4343 bool setMsgSelfOK (const S_PTR<MsgSelf>& aMsgSelf) noexcept ; // replace default; safe: yes SafePtr, no shared_ptr
4444
45- Domino::Event setHdlr (const Domino::EvName&, const MsgCB& aHdlr) noexcept ;
45+ Domino::Event setHdlr (const Domino::EvName&, MsgCB aHdlr) noexcept ;
4646 bool rmOneHdlrOK (const Domino::EvName&) noexcept ; // rm by EvName
4747 void forceAllHdlr (const Domino::EvName& aEN) noexcept { effect_ (this ->getEventBy (aEN)); }
4848 virtual size_t nHdlr (const Domino::EvName& aEN) const noexcept { return ev_hdlr_S_.count (this ->getEventBy (aEN)); }
@@ -52,7 +52,7 @@ class HdlrDomino : public aDominoType
5252 // . pros: can FreeHdlrDomino::repeatedHdlr() for each hdlr
5353 // . cons: the state of aHostEN & aAliasEN may not sync
5454 // -------------------------------------------------------------------------------------------
55- Domino::Event multiHdlrByAliasEv (const Domino::EvName& aAliasEN, const MsgCB& aHdlr,
55+ Domino::Event multiHdlrByAliasEv (const Domino::EvName& aAliasEN, MsgCB aHdlr,
5656 const Domino::EvName& aHostEN) noexcept ;
5757
5858 virtual EMsgPriority getPriority (const Domino::Event&) const noexcept { return EMsgPri_NORM; }
@@ -89,7 +89,7 @@ void HdlrDomino<aDominoType>::effect_(const Domino::Event& aEv) noexcept
8989// ***********************************************************************************************
9090template <class aDominoType >
9191Domino::Event HdlrDomino<aDominoType>::multiHdlrByAliasEv(const Domino::EvName& aAliasEN,
92- const MsgCB& aHdlr, const Domino::EvName& aHostEN) noexcept
92+ MsgCB aHdlr, const Domino::EvName& aHostEN) noexcept
9393{
9494 if (this ->getEventBy (aAliasEN) != Domino::D_EVENT_FAILED_RET)
9595 {
@@ -99,7 +99,7 @@ Domino::Event HdlrDomino<aDominoType>::multiHdlrByAliasEv(const Domino::EvName&
9999 }
100100
101101 // set hdlr
102- auto && newEv = this ->setHdlr (aAliasEN, aHdlr);
102+ auto && newEv = this ->setHdlr (aAliasEN, std::move ( aHdlr) );
103103 if (newEv == Domino::D_EVENT_FAILED_RET) // setHdlr failed
104104 return Domino::D_EVENT_FAILED_RET;
105105
@@ -143,7 +143,7 @@ bool HdlrDomino<aDominoType>::rmOneHdlrOK_(const Domino::Event& aValidEv, const
143143
144144// ***********************************************************************************************
145145template <class aDominoType >
146- Domino::Event HdlrDomino<aDominoType>::setHdlr(const Domino::EvName& aEvName, const MsgCB& aHdlr) noexcept
146+ Domino::Event HdlrDomino<aDominoType>::setHdlr(const Domino::EvName& aEvName, MsgCB aHdlr) noexcept
147147{
148148 // validate
149149 if (! msgSelf_)
@@ -159,7 +159,7 @@ Domino::Event HdlrDomino<aDominoType>::setHdlr(const Domino::EvName& aEvName, co
159159 auto && newEv = this ->newEvent (aEvName);
160160
161161 // set
162- auto newHdlr = MAKE_PTR<MsgCB>(aHdlr);
162+ auto newHdlr = MAKE_PTR<MsgCB>(std::move ( aHdlr) );
163163 auto && ev_hdlr = ev_hdlr_S_.emplace (newEv, newHdlr);
164164 if (! ev_hdlr.second )
165165 {
0 commit comments