|
CeresEngine 0.2.0
A game development framework
|
An input stream that allows reading data written by the paired PipeOutputStream.
More...
#include <CeresEngine/Foundation/IO/Stream.Pipe.hpp>
Public Member Functions | |
| PipeInputStream (PipeInputStream &&) noexcept=default | |
| ~PipeInputStream () noexcept | |
| bool | isReadable () const noexcept final |
| Checks if the stream is readable. | |
| size_t | read (void *data, size_t n) final |
Reads data from the data stream to a buffer of raw memory data with length n. | |
| PipeStream (const PipeStream &)=delete | |
| PipeStream (PipeStream &&) noexcept | |
| bool | isSeekable (Seek mode=Seek::Start) const noexcept final |
| Checks if the stream is seekable. | |
| bool | isTellable () const noexcept final |
| Checks if the stream knows it's current absolute position. | |
| bool | isSizeKnown () const noexcept final |
| Checks if the stream knows the size of the data. | |
Public Member Functions inherited from CeresEngine::PipeStream | |
| PipeStream (const PipeStream &)=delete | |
| PipeStream & | operator= (const PipeStream &)=delete |
| PipeStream (PipeStream &&) noexcept | |
| PipeStream & | operator= (PipeStream &&) noexcept=delete |
| bool | isSeekable (Seek mode=Seek::Start) const noexcept final |
| Checks if the stream is seekable. | |
| bool | isTellable () const noexcept final |
| Checks if the stream knows it's current absolute position. | |
| bool | isSizeKnown () const noexcept final |
| Checks if the stream knows the size of the data. | |
Public Member Functions inherited from CeresEngine::IStream | |
| IStream ()=default | |
| IStream (const IStream &) noexcept=delete | |
| IStream & | operator= (const IStream &) noexcept=delete |
| IStream (IStream &&) noexcept=default | |
| IStream & | operator= (IStream &&) noexcept=default |
| virtual | ~IStream () noexcept=default |
| virtual void | seek (std::streamsize position, Seek mode=Seek::Start) |
| Changes the position of the data stream. | |
| void | skip (const size_t n) |
Skips n bytes from the data stream. | |
| virtual size_t | tell () |
| Gets the absolute stream position, in bytes. | |
| virtual size_t | size () |
| Gets the number of bytes available on the stream. | |
Public Member Functions inherited from CeresEngine::IInputStream | |
| template<typename T > | |
| size_t | read (const MemoryView< T > &memoryView) |
| Reads data from the strea into a memory view. | |
| template<typename T > | |
| size_t | read (const StridedMemoryView< T > &memoryView) |
| Reads data from the stream into a strided memory view. | |
| Optional< String > | readString () |
Reads data from the buffer as a C++ String. | |
| template<typename T > requires std::is_trivially_copyable_v<T> | |
| Optional< T > | read () |
| Reads a trivially copyable obhect from the stream. | |
| virtual bool | invalidate () |
| In the stream is buffered, invalidates any buffered read data from the stream. | |
Additional Inherited Members | |
Public Types inherited from CeresEngine::IStream | |
| enum class | Seek { Start = SEEK_SET , Current = SEEK_CUR , End = SEEK_END } |
| An enumeration that describes how a data stream should be seeked. More... | |
Static Public Member Functions inherited from CeresEngine::PipeStream | |
| static Pair< InputStream, OutputStream > | open () |
Opens a new pair of PipeInputStream and PipeOutputStream. | |
Protected Attributes inherited from CeresEngine::PipeStream | |
| SPtr< State > | mState |
An input stream that allows reading data written by the paired PipeOutputStream.
|
defaultnoexcept |
|
noexcept |
|
inlinefinalvirtualnoexcept |
Checks if the stream is readable.
If this method returns true, read() is safe to be called on this stream.
Reimplemented from CeresEngine::IInputStream.
|
inlinefinalvirtualnoexcept |
Checks if the stream is seekable.
If this method returns true, seek() is safe to be called on this stream.
Reimplemented from CeresEngine::IStream.
|
inlinefinalvirtualnoexcept |
Checks if the stream knows the size of the data.
If this method returns true, size() is safe to be called on this stream.
Reimplemented from CeresEngine::IStream.
|
inlinefinalvirtualnoexcept |
Checks if the stream knows it's current absolute position.
If this method returns true, tell() is safe to be called on this stream.
Reimplemented from CeresEngine::IStream.
|
delete |
|
noexcept |
Reads data from the data stream to a buffer of raw memory data with length n.
isReadable() returns true.| data | The memory location to which read data should be placed. |
| n | The maximum number of bytes to be read from the data stream. |
n. If 0, indicates that the stream has ended. Reimplemented from CeresEngine::IInputStream.