1. 程式人生 > >std::bind std::function __glibcxx_function_requires

std::bind std::function __glibcxx_function_requires

swap(_Tp& __a, _Tp& __b)
#if __cplusplus >= 201103L
    noexcept(__and_<is_nothrow_move_constructible<_Tp>,
	            is_nothrow_move_assignable<_Tp>>::value)
#endif
    {
      // concept requirements
      __glibcxx_function_requires(_SGIAssignableConcept<_Tp>)

      _Tp __tmp = _GLIBCXX_MOVE(__a);
      __a = _GLIBCXX_MOVE(__b);
      __b = _GLIBCXX_MOVE(__tmp);
    }

class {

void setFunc( std::function<void()> f ){

mf = f; //在這個語句出現上面__a = _GLIBCXX_MOVE(__b); 錯誤。

}

std::function<void()> mf;

}