Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

basic_random_access_file

Provides random-access file functionality.

template<
    typename Executor>
class basic_random_access_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_at

Start an asynchronous read at the specified offset.

async_write_some_at

Start an asynchronous write at the specified offset.

basic_random_access_file [constructor]

Construct a basic_random_access_file without opening it.

Construct and open a basic_random_access_file.

Construct a basic_random_access_file on an existing native file.

Move-construct a basic_random_access_file from another.

Move-construct a basic_random_access_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_random_access_file from another.

Move-assign a basic_random_access_file from a file of another executor type.

read_some_at

Read some data from the handle at the specified offset.

release

Release ownership of the underlying native file.

resize

Alter the size of 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_at

Write some data to the handle at the specified offset.

~basic_random_access_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_random_access_file class template provides asynchronous and blocking random-access file functionality.

Thread Safety

Distinct objects: Safe.

Shared objects: Unsafe.

Synchronous read_some_at and write_some_at operations are thread safe with respect to each other, if the underlying operating system calls are also thread safe. This means that it is permitted to perform concurrent calls to these synchronous operations on a single file object. Other synchronous operations, such as open or close, are not thread safe.

Requirements

Header: boost/asio/basic_random_access_file.hpp

Convenience header: boost/asio.hpp


PrevUpHomeNext