Per [this presentation](http://www.slideshare.net/ripplelabs/howard-hinnant-accu2014), if either the copy constructor or copy assignment operator is "user declared", then no implicit move operations will be generated. Does `delete`ing the copy constructor or copy assignment operator count as "user declared"?

```
struct NoCopy {
    NoCopy(NoCopy&) = delete;
    NoCopy& operator=(const NoCopy&) = delete;
};

```

Will implicit move operations be generated for the `NoCopy` class? Or does deleting the relevant copy operations count as "user declared" and thus inhibit implicit move generation?

If possible, I'd prefer an answer referencing the relevant parts of the standard.