cpp/iterator/indirectly movable storable

The concept specifies the relationship between an  type and an  type. In addition to, this concept specifies that the move from the type can be performed via an intermediate object.

Semantic requirements
and model  only if given a dereferenceable value  of type :
 * After the definition, is equal to the value previously denoted by , and
 * if is an rvalue reference type,  is placed in a valid but unspecified state after the initialization of.