libtcspc C++ API
Streaming TCSPC and time tag data processing
Loading...
Searching...
No Matches
tcspc::input_stream Concept Reference

Description

Concept that is satisfied when T conforms to the libtcspc input stream interface.

Determines whether T is move-constructible and provides the noexcept member functions is_error(), is_eof(), is_good(), tell(), skip(), and read() with the signatures and return types documented at Input streams.

Concept definition

template<typename T>
concept input_stream =
std::move_constructible<T> &&
requires(T &s, std::uint64_t bytes, std::span<std::byte> buf) {
{ s.is_error() } noexcept -> std::same_as<bool>;
{ s.is_eof() } noexcept -> std::same_as<bool>;
{ s.is_good() } noexcept -> std::same_as<bool>;
{ s.tell() } noexcept -> std::same_as<std::optional<std::uint64_t>>;
{ s.skip(bytes) } noexcept -> std::same_as<bool>;
{ s.read(buf) } noexcept -> std::same_as<std::uint64_t>;
}
Concept that is satisfied when T conforms to the libtcspc input stream interface.
Definition read_binary_stream.hpp:55