#### basic_file::basic_file

Construct a `basic_file` without opening it.

    explicit basic_file(
        const executor_type & ex);
      » more...

    template<
        typename ExecutionContext>
    explicit basic_file(
        ExecutionContext & context,
        constraint_t< is_convertible< ExecutionContext &, execution_context & >::value, defaulted_constraint >  = defaulted_constraint());
      » more...

Construct and open a `basic_file`.

    explicit basic_file(
        const executor_type & ex,
        const char * path,
        file_base::flags open_flags);
      » more...

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

    explicit basic_file(
        const executor_type & ex,
        const std::string & path,
        file_base::flags open_flags);
      » more...

    template<
        typename ExecutionContext>
    explicit basic_file(
        ExecutionContext & context,
        const std::string & path,
        file_base::flags open_flags,
        constraint_t< is_convertible< ExecutionContext &, execution_context & >::value, defaulted_constraint >  = defaulted_constraint());
      » more...

Construct a `basic_file` on an existing native file handle.

    basic_file(
        const executor_type & ex,
        const native_handle_type & native_file);
      » more...

Construct a `basic_file` on an existing native file.

    template<
        typename ExecutionContext>
    basic_file(
        ExecutionContext & context,
        const native_handle_type & native_file,
        constraint_t< is_convertible< ExecutionContext &, execution_context & >::value, defaulted_constraint >  = defaulted_constraint());
      » more...

Move-construct a `basic_file` from another.

    basic_file(
        basic_file && other);
      » more...

Move-construct a `basic_file` from a file of another executor type.

    template<
        typename Executor1>
    basic_file(
        basic_file< Executor1 > && other,
        constraint_t< is_convertible< Executor1, Executor >::value, defaulted_constraint >  = defaulted_constraint());
      » more...