template <class Diagnostics, move_constructible Handle, integral Offset, std::invocable<Handle&, Offset, std::span<std::byte>> auto Read, std::invocable<> auto MakeInvalidHandle = &DefaultMakeInvalidHandle<Handle>>

class File

Defined at line 59 of file ../../src/lib/elfldltl/include/lib/elfldltl/file.h

elfldltl::File

<Handle

, Offset, Read, MakeInvalidHandle> implements the File

API (see memory.h) by holding a Handle object and calling Read as a function

fit::result

<

...>(Handle

&

, Offset, std::span

<byte

>) that returns some error

value that Diagnostics::SystemError can handle. MakeInvalidHandle can be

supplied if default-construction isn't the way.

Public Methods

void File<Diagnostics, Handle, Offset, Read, MakeInvalidHandle> (const File<Diagnostics, Handle, Offset, Read, MakeInvalidHandle> & )

Defined at line 63 of file ../../src/lib/elfldltl/include/lib/elfldltl/file.h

void File<Diagnostics, Handle, Offset, Read, MakeInvalidHandle> (File<Diagnostics, Handle, Offset, Read, MakeInvalidHandle> && )

Defined at line 65 of file ../../src/lib/elfldltl/include/lib/elfldltl/file.h

void File<Diagnostics, Handle, Offset, Read, MakeInvalidHandle> (Diagnostics & diag)

Defined at line 66 of file ../../src/lib/elfldltl/include/lib/elfldltl/file.h

void File<Diagnostics, Handle, Offset, Read, MakeInvalidHandle> (Handle handle, Diagnostics & diag)

Defined at line 70 of file ../../src/lib/elfldltl/include/lib/elfldltl/file.h

File<Diagnostics, Handle, Offset, Read, MakeInvalidHandle> & operator= (const File<Diagnostics, Handle, Offset, Read, MakeInvalidHandle> & )

Defined at line 75 of file ../../src/lib/elfldltl/include/lib/elfldltl/file.h

File<Diagnostics, Handle, Offset, Read, MakeInvalidHandle> & operator= (File<Diagnostics, Handle, Offset, Read, MakeInvalidHandle> && )

Defined at line 77 of file ../../src/lib/elfldltl/include/lib/elfldltl/file.h

const Handle & get ()

Defined at line 79 of file ../../src/lib/elfldltl/include/lib/elfldltl/file.h

Handle release ()

Defined at line 81 of file ../../src/lib/elfldltl/include/lib/elfldltl/file.h

template <typename T>
std::optional<T> ReadFromFile (Offset offset)

Defined at line 84 of file ../../src/lib/elfldltl/include/lib/elfldltl/file.h

template <typename T, ReadArrayFromFileAllocator<T> Allocator>
auto ReadArrayFromFile (off_t offset, Allocator && allocator, size_t count)

Defined at line 92 of file ../../src/lib/elfldltl/include/lib/elfldltl/file.h

template <typename T, ReadArrayFromFileAllocator<T> Allocator>
auto ReadArrayFromFile (off_t offset, Allocator && allocator, size_t count)

Defined at line 92 of file ../../src/lib/elfldltl/include/lib/elfldltl/file.h

template <typename T, ReadArrayFromFileAllocator<T> Allocator>
auto ReadArrayFromFile (off_t offset, Allocator && allocator, size_t count)

Defined at line 92 of file ../../src/lib/elfldltl/include/lib/elfldltl/file.h

Protected Methods

Handle & handle ()

Defined at line 104 of file ../../src/lib/elfldltl/include/lib/elfldltl/file.h

const Handle & handle ()

Defined at line 105 of file ../../src/lib/elfldltl/include/lib/elfldltl/file.h