//---------------------------1-------------------
template<int _Nx>
struct _Ph
{ // placeholder
};
//-----------------2-------------------------------
// TEMPLATE FUNCTION bind (explicit return type)
template<class _Ret,
class _Fx,
class... _Types> inline
_Binder<_Ret, _Fx, _Types...> bind(_Fx&& _Func, _Types&&... _Args)
{ // bind a callable object with an explicit return type
return (_Binder<_Ret, _Fx, _Types...>(
_STD forward<_Fx>(_Func), _STD forward<_Types>(_Args)...));
}
///--------------------------3------------------------
// PLACEHOLDER ARGUMENTS
namespace placeholders { // placeholders
constexpr _Ph<1> _1{};
constexpr _Ph<2> _2{};
constexpr _Ph<3> _3{};
constexpr _Ph<4> _4{};
constexpr _Ph<5> _5{};
constexpr _Ph<6> _6{};
constexpr _Ph<7> _7{};
constexpr _Ph<8> _8{};
constexpr _Ph<9> _9{};
constexpr _Ph<10> _10{};
constexpr _Ph<11> _11{};
constexpr _Ph<12> _12{};
constexpr _Ph<13> _13{};
constexpr _Ph<14> _14{};
constexpr _Ph<15> _15{};
constexpr _Ph<16> _16{};
constexpr _Ph<17> _17{};
constexpr _Ph<18> _18{};
constexpr _Ph<19> _19{};
constexpr _Ph<20> _20{};
} // namespace placeholders
Saya tidak faham kod di tengah Bagaimana ia dilaksanakan dengan bahagian 3? Siapa yang boleh menulis ikatan yang lebih mudah, terima kasih.
Ditulis dalam pseudokod ia boleh kelihatan seperti ini (mengabaikan butiran pemajuan dan metaprogramming):