|
|
| | SharedFIFO () noexcept=default |
| | Default construct an empty SharedFIFO.
|
| |
| | SharedFIFO (const DataType &data) |
| | Construct with initial data (copy).
|
| |
| | SharedFIFO (DataType &&data) noexcept |
| | Construct with initial data (move).
|
| |
template<StormByte::Type::ByteInputRange R>
requires (!StormByte::Type::SameAs<R, DataType>) |
| | SharedFIFO (const R &r) noexcept |
| | Construct from an input range (copy / convert).
|
| |
| template<StormByte::Type::ByteInputRange Rr> |
| | SharedFIFO (Rr &&r) noexcept |
| | Construct from an rvalue range.
|
| |
| | SharedFIFO (std::string_view sv) noexcept |
| | Construct from a string view (no trailing NUL).
|
| |
| | SharedFIFO (const char *s) noexcept |
| | Construct from a null-terminated C string.
|
| |
| | SharedFIFO (const FIFO &other) |
| | Construct by copying a plain FIFO.
|
| |
| | SharedFIFO (FIFO &&other) noexcept |
| | Construct by moving a plain FIFO.
|
| |
| | SharedFIFO (const SharedFIFO &)=delete |
| | Copy constructor (deleted – synchronization primitives are not copyable).
|
| |
| | SharedFIFO (SharedFIFO &&)=delete |
| | Move constructor (deleted – mutex / condition_variable are not movable).
|
| |
| virtual | ~SharedFIFO () noexcept |
| | Virtual destructor.
|
| |
| SharedFIFO & | operator= (const FIFO &other) |
| | Copy-assign from a plain FIFO.
|
| |
| SharedFIFO & | operator= (FIFO &&other) noexcept |
| | Move-assign from a plain FIFO.
|
| |
| SharedFIFO & | operator= (const SharedFIFO &)=delete |
| | Copy assignment (deleted).
|
| |
| SharedFIFO & | operator= (SharedFIFO &&)=delete |
| | Move assignment (deleted – mutex / condition_variable are not movable).
|
| |
|
| bool | operator== (const SharedFIFO &other) const noexcept |
| | Equality comparison (thread-safe).
|
| |
| bool | operator!= (const SharedFIFO &other) const noexcept |
| | Inequality comparison.
|
| |
|
| virtual std::size_t | AvailableBytes () const noexcept override |
| | Bytes available from the current read position (thread-safe).
|
| |
| virtual const DataType & | Data () const noexcept override |
| | Access the internal storage.
|
| |
| virtual bool | Empty () const noexcept override |
| | Whether the underlying storage is empty (thread-safe).
|
| |
| virtual bool | EoF () const noexcept override |
| | End-of-stream condition (thread-safe).
|
| |
| bool | HasError () const noexcept |
| | Whether the buffer is in permanent error state (thread-safe).
|
| |
| virtual bool | IsReadable () const noexcept override |
| | Whether the buffer can still be read (thread-safe).
|
| |
| virtual bool | IsWritable () const noexcept override |
| | Whether the buffer accepts writes (thread-safe).
|
| |
| virtual std::size_t | Size () const noexcept override |
| | Total number of bytes stored (thread-safe).
|
| |
|
| void | Clean () noexcept override |
| | Discard data from the start up to the read position (thread-safe).
|
| |
| virtual void | Clear () noexcept override |
| | Clear all contents (thread-safe).
|
| |
| virtual void | Close () noexcept override |
| | Close for further writes (thread-safe).
|
| |
| virtual bool | Drop (const std::size_t &count) noexcept override |
| | Discard count unread bytes (thread-safe).
|
| |
| virtual void | Seek (const std::ptrdiff_t &offset, const Position &mode) const noexcept override |
| | Move the logical read position (thread-safe).
|
| |
| virtual void | SetError () noexcept override |
| | Enter permanent error state (thread-safe).
|
| |
|
| virtual std::string | HexDump (const std::size_t &columns=0, const std::size_t &byte_limit=0) const noexcept override |
| | Thread-safe hexdump of unread contents.
|
| |
| | FIFO () noexcept=default |
| | Default construct an empty FIFO.
|
| |
| | FIFO (const DataType &data) noexcept |
| | Construct FIFO with initial data (copy).
|
| |
| | FIFO (DataType &&data) noexcept |
| | Construct FIFO with initial data (move).
|
| |
template<Type::ByteInputRange R>
requires (!Type::SameAs<R, DataType>) |
| | FIFO (const R &r) noexcept |
| | Construct FIFO from an input range (copy / convert).
|
| |
| template<Type::ByteInputRange Rr> |
| | FIFO (Rr &&r) noexcept |
| | Construct FIFO from an rvalue range (moves when DataType).
|
| |
| | FIFO (std::string_view sv) noexcept |
| | Construct FIFO from a string view (no trailing NUL).
|
| |
| | FIFO (const char *s) noexcept |
| | Construct FIFO from a null-terminated C string.
|
| |
| | FIFO (const FIFO &other) noexcept |
| | Copy construct, preserving buffer contents and state.
|
| |
| | FIFO (FIFO &&other) noexcept |
| | Move construct.
|
| |
| virtual | ~FIFO () noexcept |
| | Virtual destructor.
|
| |
| FIFO & | operator= (const FIFO &other) |
| | Copy assign, preserving buffer contents and state.
|
| |
| FIFO & | operator= (FIFO &&other) noexcept |
| | Move assign.
|
| |
| bool | operator== (const FIFO &other) const noexcept |
| | Equality comparison.
|
| |
| bool | operator!= (const FIFO &other) const noexcept |
| | Inequality comparison.
|
| |
| bool | Extract (const std::size_t &count, DataType &outBuffer) noexcept override |
| | Extract bytes into a DataType.
|
| |
| bool | Extract (const std::size_t &count, WriteOnly &outBuffer) noexcept override |
| | Extract bytes into a WriteOnly.
|
| |
| void | ExtractUntilEoF (DataType &outBuffer) noexcept override |
| | Extract all remaining bytes until EoF into a DataType.
|
| |
| void | ExtractUntilEoF (WriteOnly &outBuffer) noexcept override |
| | Extract all remaining bytes until EoF into a WriteOnly.
|
| |
| virtual bool | Extract (const std::size_t &count, DataType &outBuffer) noexcept=0 |
| | Bring ReadOnly convenience Extract overloads into scope.
|
| |
| bool | Extract (DataType &outBuffer) noexcept |
| | Bring ReadOnly convenience Extract overloads into scope.
|
| |
| virtual bool | Extract (const std::size_t &count, WriteOnly &outBuffer) noexcept=0 |
| | Bring ReadOnly convenience Extract overloads into scope.
|
| |
| bool | Extract (WriteOnly &outBuffer) noexcept |
| | Bring ReadOnly convenience Extract overloads into scope.
|
| |
| bool | Read (const std::size_t &count, DataType &outBuffer) const noexcept override |
| | Non-destructive read into a DataType (advances position).
|
| |
| bool | Read (const std::size_t &count, WriteOnly &outBuffer) const noexcept override |
| | Non-destructive read into a WriteOnly (advances position).
|
| |
| void | ReadUntilEoF (DataType &outBuffer) const noexcept override |
| | Read all remaining bytes until EoF into a DataType.
|
| |
| void | ReadUntilEoF (WriteOnly &outBuffer) const noexcept override |
| | Read all remaining bytes until EoF into a WriteOnly.
|
| |
| virtual bool | Read (const std::size_t &count, DataType &outBuffer) const noexcept=0 |
| | Bring ReadOnly convenience Read overloads into scope.
|
| |
| bool | Read (DataType &outBuffer) const noexcept |
| | Bring ReadOnly convenience Read overloads into scope.
|
| |
| virtual bool | Read (const std::size_t &count, WriteOnly &outBuffer) const noexcept=0 |
| | Bring ReadOnly convenience Read overloads into scope.
|
| |
| bool | Read (WriteOnly &outBuffer) const noexcept |
| | Bring ReadOnly convenience Read overloads into scope.
|
| |
| bool | Peek (const std::size_t &count, DataType &outBuffer) const noexcept override |
| | Peek into a DataType without advancing the read position.
|
| |
| bool | Peek (const std::size_t &count, WriteOnly &outBuffer) const noexcept override |
| | Peek into a WriteOnly without advancing the read position.
|
| |
| bool | Write (const std::size_t &count, const DataType &data) noexcept override |
| | Append bytes from a DataType (copy).
|
| |
| bool | Write (const std::size_t &count, DataType &&data) noexcept override |
| | Append bytes from a DataType (move).
|
| |
| bool | Write (const std::size_t &count, const ReadOnly &data) noexcept override |
| | Append bytes from a ReadOnly source (copy).
|
| |
| bool | Write (const std::size_t &count, ReadOnly &&data) noexcept override |
| | Append bytes from a ReadOnly source (move / extract path).
|
| |
| virtual bool | Write (const std::size_t &count, const DataType &data) noexcept=0 |
| | Bring WriteOnly convenience Write overloads into scope.
|
| |
| virtual bool | Write (const std::size_t &count, DataType &&data) noexcept=0 |
| | Bring WriteOnly convenience Write overloads into scope.
|
| |
| virtual bool | Write (const std::size_t &count, const ReadOnly &data) noexcept=0 |
| | Bring WriteOnly convenience Write overloads into scope.
|
| |
| virtual bool | Write (const std::size_t &count, ReadOnly &&data) noexcept=0 |
| | Bring WriteOnly convenience Write overloads into scope.
|
| |
| bool | Write (const ReadOnly &data) noexcept |
| | Bring WriteOnly convenience Write overloads into scope.
|
| |
| bool | Write (ReadOnly &&data) noexcept |
| | Bring WriteOnly convenience Write overloads into scope.
|
| |
| bool | Write (std::string_view sv) noexcept |
| | Bring WriteOnly convenience Write overloads into scope.
|
| |
| bool | Write (const char *s) noexcept |
| | Bring WriteOnly convenience Write overloads into scope.
|
| |
| bool | Write (const std::size_t &count, std::string_view sv) noexcept |
| | Bring WriteOnly convenience Write overloads into scope.
|
| |
| bool | Write (const std::size_t &count, const char *s) noexcept |
| | Bring WriteOnly convenience Write overloads into scope.
|
| |
| template<std::size_t N> |
| bool | Write (const char(&s)[N]) noexcept |
| | Bring WriteOnly convenience Write overloads into scope.
|
| |
| template<Type::ByteInputRange R> |
| bool | Write (const R &r) noexcept |
| | Bring WriteOnly convenience Write overloads into scope.
|
| |
| template<Type::ByteInputRange Rw> |
| bool | Write (const std::size_t &count, const Rw &r) noexcept |
| | Bring WriteOnly convenience Write overloads into scope.
|
| |
| template<Type::ByteInputRange Rrw> |
| bool | Write (const std::size_t &count, Rrw &&r) noexcept |
| | Bring WriteOnly convenience Write overloads into scope.
|
| |
| template<Type::ByteInputRange Rr> |
| bool | Write (Rr &&r) noexcept |
| | Bring WriteOnly convenience Write overloads into scope.
|
| |
template<Type::ByteInputIterator I, typename S >
requires Type::SentinelFor<S, I> |
| bool | Write (I first, S last) noexcept |
| | Bring WriteOnly convenience Write overloads into scope.
|
| |
template<Type::ByteInputIterator I2, typename S2 >
requires Type::SentinelFor<S2, I2> |
| bool | Write (const std::size_t &count, I2 first, S2 last) noexcept |
| | Bring WriteOnly convenience Write overloads into scope.
|
| |
| | ReadWrite () noexcept |
| | Default construct.
|
| |
| | ReadWrite (const ReadWrite &other) noexcept=default |
| | Copy construct.
|
| |
| | ReadWrite (ReadWrite &&other) noexcept=default |
| | Move construct.
|
| |
| virtual | ~ReadWrite () noexcept |
| | Virtual destructor.
|
| |
| ReadWrite & | operator= (const ReadWrite &other)=default |
| | Copy assign.
|
| |
| ReadWrite & | operator= (ReadWrite &&other) noexcept=default |
| | Move assign.
|
| |
| | ReadOnly () noexcept |
| | Default construct.
|
| |
| | ReadOnly (const ReadOnly &) noexcept=default |
| | Copy construct.
|
| |
| | ReadOnly (ReadOnly &&) noexcept=default |
| | Move construct.
|
| |
| virtual | ~ReadOnly () noexcept |
| | Virtual destructor.
|
| |
| ReadOnly & | operator= (const ReadOnly &)=default |
| | Copy assign.
|
| |
| ReadOnly & | operator= (ReadOnly &&) noexcept=default |
| | Move assign.
|
| |
| bool | Extract (DataType &outBuffer) noexcept |
| | Extract all available bytes into a DataType.
|
| |
| bool | Extract (WriteOnly &outBuffer) noexcept |
| | Extract all available bytes into a WriteOnly.
|
| |
| bool | Read (DataType &outBuffer) const noexcept |
| | Read all available bytes into a DataType.
|
| |
| bool | Read (WriteOnly &outBuffer) const noexcept |
| | Read all available bytes into a WriteOnly.
|
| |
| | Generic () noexcept=default |
| | Default construct.
|
| |
| | Generic (const Generic &) noexcept=default |
| | Copy construct.
|
| |
| | Generic (Generic &&) noexcept=default |
| | Move construct.
|
| |
| virtual | ~Generic () noexcept=0 |
| | Pure virtual destructor (keeps the class abstract).
|
| |
| Generic & | operator= (const Generic &other)=default |
| | Copy assign.
|
| |
| Generic & | operator= (Generic &&) noexcept=default |
| | Move assign.
|
| |
| | WriteOnly () noexcept |
| | Default construct.
|
| |
| | WriteOnly (const WriteOnly &)=default |
| | Copy construct.
|
| |
| | WriteOnly (WriteOnly &&) noexcept=default |
| | Move construct.
|
| |
| virtual | ~WriteOnly () noexcept |
| | Virtual destructor.
|
| |
| WriteOnly & | operator= (const WriteOnly &)=default |
| | Copy assign.
|
| |
| WriteOnly & | operator= (WriteOnly &&) noexcept=default |
| | Move assign.
|
| |
| bool | Write (const ReadOnly &data) noexcept |
| | Append all available bytes from a ReadOnly (copy).
|
| |
| bool | Write (ReadOnly &&data) noexcept |
| | Append all available bytes from a ReadOnly (move path).
|
| |
| bool | Write (std::string_view sv) noexcept |
| | Write a string view (no trailing NUL).
|
| |
| bool | Write (const char *s) noexcept |
| | Write a null-terminated C string.
|
| |
| bool | Write (const std::size_t &count, std::string_view sv) noexcept |
| | Write up to count characters from a string view.
|
| |
| bool | Write (const std::size_t &count, const char *s) noexcept |
| | Write up to count characters from a C string.
|
| |
| template<std::size_t N> |
| bool | Write (const char(&s)[N]) noexcept |
| | Write a string literal without the trailing NUL.
|
| |
| template<Type::ByteInputRange R> |
| bool | Write (const R &r) noexcept |
| | Write all elements from an input range.
|
| |
| template<Type::ByteInputRange Rw> |
| bool | Write (const std::size_t &count, const Rw &r) noexcept |
| | Write up to count elements from an input range.
|
| |
| template<Type::ByteInputRange Rrw> |
| bool | Write (const std::size_t &count, Rrw &&r) noexcept |
| | Write up to count elements from an rvalue range.
|
| |
| template<Type::ByteInputRange Rr> |
| bool | Write (Rr &&r) noexcept |
| | Write all elements from an rvalue range.
|
| |
template<Type::ByteInputIterator I, typename S >
requires Type::SentinelFor<S, I> |
| bool | Write (I first, S last) noexcept |
| | Write all elements from an iterator pair.
|
| |
template<Type::ByteInputIterator I2, typename S2 >
requires Type::SentinelFor<S2, I2> |
| bool | Write (const std::size_t &count, I2 first, S2 last) noexcept |
| | Write up to count elements from an iterator pair.
|
| |