##### basic_stream_file::basic_stream_file (4 of 10 overloads)

Construct and open a `basic_stream_file`.

    template<
        typename ExecutionContext>
    basic_stream_file(
        ExecutionContext & context,
        const char * path,
        file_base::flags open_flags,
        constraint_t< is_convertible< ExecutionContext &, execution_context & >::value, defaulted_constraint >  = defaulted_constraint());

This constructor initialises and opens a file.

###### Parameters

context

  An execution context which provides the I/O executor that the file will use, by default, to dispatch handlers for any asynchronous operations performed on the file.

path

  The path name identifying the file to be opened.

open_flags

  A set of flags that determine how the file should be opened.

###### Exceptions

asio::system_error

  Thrown on failure.