Constructs a basic_fstream object that is not associated with any file.
Internally, its basic_iostream base constructor is passed a pointer to a newly constructed basic_filebuf object (the internal file stream buffer).

(2) initialization constructor

Constructs a basic_fstream object, initially associated with the file identified by its first argument (filename), open with the mode specified by mode.
Internally, its basic_iostream base constructor is passed a pointer to a newly constructed basic_filebuf object (the internal file stream buffer). Then, basic_filebuf::open is called with filename and mode as arguments.
If the file cannot be opened, the stream's failbit flag is set.

(3) copy constructor (deleted)

Deleted (no copy constructor).

(4) move constructor

Acquires the contents of x.
First, the function move-constructs both its base basic_iostream class from x and a basic_filebuf object from x's internal basic_filebuf object, and then associates them by calling member set_rdbuf.x is left in an unspecified but valid state.