cpp/utility/forward like

Returns a reference to which has similar properties to.

The return type is determined as below:
 * 1) If  is a const-qualified type, then the referenced type of the return type is . Otherwise, the referenced type is.
 * 2) If  is an lvalue reference type, then the return type is also an lvalue reference type. Otherwise, the return type is an rvalue reference type.

The program is ill-formed if is not a valid type.

Return value
A reference to of the type determined as above.