class seekable_output_resource


template <
    typename Position
>
class seekable_output_resource
    : public virtual seekable_transfer_resource<Position>
    , public output_resource

Description

A seekable output resource is an output resource that can seek, that is, change where write operations will take place next.

Public Aliases

using position_type = Position

The type of this resource's position.

Public Member Functions

explicit
seekable_output_resource (
    std::size_t buffer_capacity = io_buffer::default_buffer_capacity
)

Constructs a seekable output resource with the given buffer capacity.

Parameters:
  • buffer_capacity:

    The capacity of the I/O buffer. If this is zero, the seekable output resource is completely unbuffered.

seekable_output_resource (
    const seekable_output_resource& other
)

Copy-constructs a seekable_output_resource from an existing one.

Parameters:
  • other:

    The seekable_output_resource to copy from.

seekable_output_resource&
operator = (
    const seekable_output_resource& other
)

Copy-assigns a seekable_output_resource into this one.

Parameters:
  • other:

    The seekable_output_resource to copy from.

seekable_output_resource (
    seekable_output_resource&& other
)
noexcept

Move-constructs a seekable_output_resource from an existing one.

Parameters:
  • other:

    The seekable_output_resource to move from.

seekable_output_resource&
operator = (
    seekable_output_resource&& other
)
noexcept

Move-assigns a seekable_output_resource into this one.

Parameters:
  • other:

    The seekable_output_resource to move from.

void
set_position (
    position_type new_position,
    position_reference pr
)
noexcept override

Sets the position of this seekable output resource.

Parameters:
  • new_position:

    The new position of this seekable output resource.

  • pr:

    The reference that the new position is relative to.



Copyright © 2022-2025 Daniel T. McGinnis

CCL was first published in 2022, and is still actively maintained.

This website was first published in 2022, and is still actively maintained.

This specific web page was first published in 2023.