### basic_stream_file

Provides stream-oriented file functionality.

    template<
        typename Executor>
    class basic_stream_file :
      public basic_file< Executor >

##### Types

Name | Description
--- | ---
rebind_executor | Rebinds the file type to another executor.
executor_type | The type of the executor associated with the object.
flags | A bitmask type (C++ Std [lib.bitmask.types]).
native_handle_type | The native representation of a file.
seek_basis | Basis for seeking in a file.

##### Member Functions

Name | Description
--- | ---
assign | Assign an existing native file to the file.
async_read_some | Start an asynchronous read.
async_write_some | Start an asynchronous write.
basic_stream_file [constructor] | Construct a basic_stream_file without opening it. — Construct and open a basic_stream_file. — Construct a basic_stream_file on an existing native file. — Move-construct a basic_stream_file from another. — Move-construct a basic_stream_file from a file of another executor type.
cancel | Cancel all asynchronous operations associated with the file.
close | Close the file.
get_executor | Get the executor associated with the object.
is_open | Determine whether the file is open.
native_handle | Get the native file representation.
open | Open the file using the specified path.
operator= | Move-assign a basic_stream_file from another. — Move-assign a basic_stream_file from a file of another executor type.
read_some | Read some data from the file.
release | Release ownership of the underlying native file.
resize | Alter the size of the file.
seek | Seek to a position in the file.
size | Get the size of the file.
sync_all | Synchronise the file to disk.
sync_data | Synchronise the file data to disk.
write_some | Write some data to the file.
~basic_stream_file [destructor] | Destroys the file.

##### Data Members

Name | Description
--- | ---
append [static] | Open the file in append mode.
create [static] | Create the file if it does not exist.
exclusive [static] | Ensure a new file is created. Must be combined with create.
read_only [static] | Open the file for reading.
read_write [static] | Open the file for reading and writing.
sync_all_on_write [static] | Open the file so that write operations automatically synchronise the file data and metadata to disk.
truncate [static] | Open the file with any existing contents truncated.
write_only [static] | Open the file for writing.

The `basic_stream_file` class template provides asynchronous and blocking stream-oriented file functionality.

##### Thread Safety

Distinct objects: Safe.

Shared objects: Unsafe.

##### Requirements

Header: `asio/basic_stream_file.hpp`

Convenience header: `asio.hpp`