Conditions for automatic generation of default/copy/move ctor and copy/move assignment operator?

In the following, “auto-generated” means “implicitly declared as defaulted, but not defined as deleted”. There are situations where the special member functions are declared, but defined as deleted. The default constructor is auto-generated if there is no user-declared constructor (ยง12.1/5). The copy constructor is auto-generated if there is no user-declared move constructor or move assignment … Read more