### file_base

The `file_base` class is used as a base for the `basic_stream_file` and `basic_random_access_file` class templates so that we have a common place to define flags.

    class file_base

##### Types

Name | Description
--- | ---
flags | A bitmask type (C++ Std [lib.bitmask.types]).
seek_basis | Basis for seeking in a file.

##### Protected Member Functions

Name | Description
--- | ---
~file_base [destructor] | Protected destructor to prevent deletion through this type.

##### 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.

##### Requirements

Header: `asio/file_base.hpp`

Convenience header: `asio.hpp`