|
| class Consumer | Consumer () |
| | Consumer that shares this Producer’s Ring.
|
| |
|
| | Producer () noexcept |
| | Construct a Producer with a new shared Ring.
|
| |
| | Producer (std::shared_ptr< Ring > buffer) noexcept |
| | Share an existing Ring.
|
| |
| | Producer (const Consumer &consumer) noexcept |
| | Share the Ring of a Consumer.
|
| |
| | Producer (const Producer &other) noexcept |
| | Copy constructor.
|
| |
| | Producer (Producer &&other) noexcept |
| | Move constructor.
|
| |
| | ~Producer () noexcept override |
| | Destructor.
|
| |
| Producer & | operator= (const Producer &other) noexcept |
| | Copy assignment.
|
| |
| Producer & | operator= (Producer &&other) noexcept |
| | Move assignment.
|
| |
|
| bool | operator== (const Producer &other) const noexcept |
| | Equality.
|
| |
| bool | operator!= (const Producer &other) const noexcept |
| | Inequality.
|
| |
|
| void | Close () noexcept override |
| | Close the shared Ring for further writes.
|
| |
| void | SetError () noexcept override |
| | Permanent error on the shared Ring.
|
| |
| bool | IsWritable () const noexcept override |
| | Whether the shared Ring still accepts writes.
|
| |
| StormByte::ByteSize | Size () const noexcept override |
| | Bytes stored in the shared Ring right now.
|
| |
|
| bool | Write (const StormByte::ByteSize &count, const BinaryData &data) noexcept override |
| | Append bytes from a StormByte::BinaryData (copy).
|
| |
| bool | Write (const BinaryData &data) noexcept |
| | Append an entire StormByte::BinaryData (copy).
|
| |
| bool | Write (const StormByte::ByteSize &count, BinaryData &&data) noexcept override |
| | Append bytes from a StormByte::BinaryData (move).
|
| |
| bool | Write (BinaryData &&data) noexcept |
| | Append an entire StormByte::BinaryData (move).
|
| |
| bool | Write (const StormByte::ByteSize &count, const ReadOnly &data) noexcept override |
| | Append bytes from a ReadOnly (copy).
|
| |
| bool | Write (const StormByte::ByteSize &count, ReadOnly &&data) noexcept override |
| | Append bytes from a ReadOnly (extract).
|
| |
| virtual bool | Write (const StormByte::ByteSize &count, const BinaryData &data) noexcept=0 |
| | Bring WriteOnly convenience Write overloads into scope.
|
| |
| virtual bool | Write (const StormByte::ByteSize &count, BinaryData &&data) noexcept=0 |
| | Bring WriteOnly convenience Write overloads into scope.
|
| |
| virtual bool | Write (const StormByte::ByteSize &count, const ReadOnly &data) noexcept=0 |
| | Bring WriteOnly convenience Write overloads into scope.
|
| |
| virtual bool | Write (const StormByte::ByteSize &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 StormByte::ByteSize &count, std::string_view sv) noexcept |
| | Bring WriteOnly convenience Write overloads into scope.
|
| |
| bool | Write (const StormByte::ByteSize &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 StormByte::ByteSize &count, const Rw &r) noexcept |
| | Bring WriteOnly convenience Write overloads into scope.
|
| |
| template<Type::ByteInputRange Rrw> |
| bool | Write (const StormByte::ByteSize &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 StormByte::ByteSize &count, I2 first, S2 last) noexcept |
| | Bring WriteOnly convenience Write overloads into scope.
|
| |
| | WriteOnly () noexcept |
| | Default constructor.
|
| |
| | WriteOnly (const WriteOnly &other)=default |
| | Copy constructor.
|
| |
| | WriteOnly (WriteOnly &&other) noexcept=default |
| | Move constructor.
|
| |
| virtual | ~WriteOnly () noexcept |
| | Destructor.
|
| |
| WriteOnly & | operator= (const WriteOnly &other)=default |
| | Copy assignment.
|
| |
| WriteOnly & | operator= (WriteOnly &&other) noexcept=default |
| | Move assignment.
|
| |
| 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 (extract).
|
| |
| bool | Write (std::string_view sv) noexcept |
| | Write a string view.
|
| |
| bool | Write (const char *s) noexcept |
| | Write a C string.
|
| |
| bool | Write (const StormByte::ByteSize &count, std::string_view sv) noexcept |
| | Write up to count characters of a string view.
|
| |
| bool | Write (const StormByte::ByteSize &count, const char *s) noexcept |
| | Write up to count characters of 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 StormByte::ByteSize &count, const Rw &r) noexcept |
| | Write up to count elements from an input range.
|
| |
| template<Type::ByteInputRange Rrw> |
| bool | Write (const StormByte::ByteSize &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 StormByte::ByteSize &count, I2 first, S2 last) noexcept |
| | Write up to count elements from an iterator pair.
|
| |
| | Generic () noexcept=default |
| | Default constructor.
|
| |
| | Generic (const Generic &other) noexcept=default |
| | Copy constructor.
|
| |
| | Generic (Generic &&other) noexcept=default |
| | Move constructor.
|
| |
| virtual | ~Generic () noexcept=0 |
| | Pure virtual destructor.
|
| |
| Generic & | operator= (const Generic &other)=default |
| | Copy assignment.
|
| |
| Generic & | operator= (Generic &&other) noexcept=default |
| | Move assignment.
|
| |
Write-only handle over a shared Ring.
Several Producer instances may share the same Ring. Writes are thread-safe. Occupancy is Generic::Size of that Ring. Consumer() returns a matching reader on the same store.
- See also
- Consumer, Ring, WriteOnly