title: Move semantic with std::function
body: <p><code>std::function</code> provides a constructor from an rvalue ref.
  What happens to the moved function object by standard? Will it be empty so that calling it again has no effects?</p>