| #Topic Stream |
| #Alias Stream_Reference ## |
| |
| #Class SkStream |
| |
| SkStream describes an abstract class that provides readable serial access to |
| data. Subclass SkFILEStream stores readable data in a file. Subclass |
| SkMemoryStream stores readable data in memory. |
| |
| SkStream data is immutable; data access is synchronous. Reading Stream data |
| returns only as many bytes as were available when Stream was created. Unlike |
| traditional streams, additional data will not become available at a later time |
| or on a subsequent read request. |
| |
| #Subtopic Overview |
| #Populate |
| ## |
| |
| #Subtopic Constructor |
| #Populate |
| ## |
| |
| #Subtopic Member_Function |
| #Populate |
| ## |
| |
| # ------------------------------------------------------------------------------ |
| |
| #Method virtual ~SkStream() |
| #In Constructor |
| #Line # incomplete ## |
| |
| #Example |
| // incomplete |
| ## |
| |
| #SeeAlso incomplete |
| |
| #Method ## |
| |
| # ------------------------------------------------------------------------------ |
| |
| #Method SkStream() |
| #In Constructor |
| #Line # incomplete ## |
| |
| #Return incomplete ## |
| |
| #Example |
| // incomplete |
| ## |
| |
| #SeeAlso incomplete |
| |
| #Method ## |
| |
| # ------------------------------------------------------------------------------ |
| |
| #Method static std::unique_ptr<SkStreamAsset> MakeFromFile(const char path[]) |
| #In incomplete |
| #Line # incomplete ## |
| |
| Attempts to open the specified file as a stream, returns nullptr on failure. |
| |
| #Param path incomplete ## |
| |
| #Return incomplete ## |
| |
| #Example |
| // incomplete |
| ## |
| |
| #SeeAlso incomplete |
| |
| #Method ## |
| |
| # ------------------------------------------------------------------------------ |
| |
| #Method virtual size_t read(void* buffer, size_t size) = 0 |
| #In incomplete |
| #Line # incomplete ## |
| |
| Reads or skips size number of bytes. |
| If buffer is nullptr, skip size bytes, return how many were skipped. |
| If buffer is not nullptr, copy size bytes into buffer, return how many were copied. |
| |
| #Param buffer when nullptr skip size bytes, otherwise copy size bytes into buffer |
| ## |
| #Param size the number of bytes to skip or copy |
| ## |
| |
| #Return the number of bytes actually read. |
| ## |
| |
| #Example |
| // incomplete |
| ## |
| |
| #SeeAlso incomplete |
| |
| #Method ## |
| |
| # ------------------------------------------------------------------------------ |
| |
| #Method size_t skip(size_t size) |
| #In incomplete |
| #Line # incomplete ## |
| |
| Skip size number of bytes. #Param size incomplete ## |
| |
| #Return the actual number bytes that could be skipped |
| ## |
| |
| #Example |
| // incomplete |
| ## |
| |
| #SeeAlso incomplete |
| |
| #Method ## |
| |
| # ------------------------------------------------------------------------------ |
| |
| #Method virtual size_t peek(void* buffer, size_t size) const |
| #In incomplete |
| #Line # incomplete ## |
| |
| Attempt to peek at size bytes. |
| If this stream supports peeking, copy min(size, peekable bytes) into |
| buffer, and return the number of bytes copied. |
| If the stream does not support peeking, or cannot peek any bytes, |
| return 0 and leave buffer unchanged. |
| The stream is guaranteed to be in the same visible state after this |
| call, regardless of success or failure. |
| |
| #Param buffer must not be nullptr, and must be at least size bytes. Destination |
| to copy bytes |
| ## |
| #Param size number of bytes to copy |
| ## |
| |
| #Return number of bytes peeked/copied. |
| ## |
| |
| #Example |
| // incomplete |
| ## |
| |
| #SeeAlso incomplete |
| |
| #Method ## |
| |
| # ------------------------------------------------------------------------------ |
| |
| #Method virtual bool isAtEnd() const = 0 |
| #In incomplete |
| #Line # incomplete ## |
| |
| Returns true when all the bytes in the stream have been read. |
| This may return true early (when there are no more bytes to be read) |
| or late (after the first unsuccessful read). |
| |
| #Return incomplete ## |
| |
| #Example |
| // incomplete |
| ## |
| |
| #SeeAlso incomplete |
| |
| #Method ## |
| |
| # ------------------------------------------------------------------------------ |
| |
| #Method bool SK_WARN_UNUSED_RESULT readS8(int8_t* i) |
| #In incomplete |
| #Line # incomplete ## |
| |
| #Param i incomplete ## |
| |
| #Return incomplete ## |
| |
| #Example |
| // incomplete |
| ## |
| |
| #SeeAlso incomplete |
| |
| #Method ## |
| |
| # ------------------------------------------------------------------------------ |
| |
| #Method bool SK_WARN_UNUSED_RESULT readS16(int16_t* i) |
| #In incomplete |
| #Line # incomplete ## |
| |
| #Param i incomplete ## |
| |
| #Return incomplete ## |
| |
| #Example |
| // incomplete |
| ## |
| |
| #SeeAlso incomplete |
| |
| #Method ## |
| |
| # ------------------------------------------------------------------------------ |
| |
| #Method bool SK_WARN_UNUSED_RESULT readS32(int32_t* i) |
| #In incomplete |
| #Line # incomplete ## |
| |
| #Param i incomplete ## |
| |
| #Return incomplete ## |
| |
| #Example |
| // incomplete |
| ## |
| |
| #SeeAlso incomplete |
| |
| #Method ## |
| |
| # ------------------------------------------------------------------------------ |
| |
| #Method bool SK_WARN_UNUSED_RESULT readU8(uint8_t* i) |
| #In incomplete |
| #Line # incomplete ## |
| |
| #Param i incomplete ## |
| |
| #Return incomplete ## |
| |
| #Example |
| // incomplete |
| ## |
| |
| #SeeAlso incomplete |
| |
| #Method ## |
| |
| # ------------------------------------------------------------------------------ |
| |
| #Method bool SK_WARN_UNUSED_RESULT readU16(uint16_t* i) |
| #In incomplete |
| #Line # incomplete ## |
| |
| #Param i incomplete ## |
| |
| #Return incomplete ## |
| |
| #Example |
| // incomplete |
| ## |
| |
| #SeeAlso incomplete |
| |
| #Method ## |
| |
| # ------------------------------------------------------------------------------ |
| |
| #Method bool SK_WARN_UNUSED_RESULT readU32(uint32_t* i) |
| #In incomplete |
| #Line # incomplete ## |
| |
| #Param i incomplete ## |
| |
| #Return incomplete ## |
| |
| #Example |
| // incomplete |
| ## |
| |
| #SeeAlso incomplete |
| |
| #Method ## |
| |
| # ------------------------------------------------------------------------------ |
| |
| #Method bool SK_WARN_UNUSED_RESULT readBool(bool* b) |
| #In incomplete |
| #Line # incomplete ## |
| |
| #Param b incomplete ## |
| |
| #Return incomplete ## |
| |
| #Example |
| // incomplete |
| ## |
| |
| #SeeAlso incomplete |
| |
| #Method ## |
| |
| # ------------------------------------------------------------------------------ |
| |
| #Method bool SK_WARN_UNUSED_RESULT readScalar(SkScalar* s) |
| #In incomplete |
| #Line # incomplete ## |
| |
| #Param s incomplete ## |
| |
| #Return incomplete ## |
| |
| #Example |
| // incomplete |
| ## |
| |
| #SeeAlso incomplete |
| |
| #Method ## |
| |
| # ------------------------------------------------------------------------------ |
| |
| #Method bool SK_WARN_UNUSED_RESULT readPackedUInt(size_t* u) |
| #In incomplete |
| #Line # incomplete ## |
| |
| #Param u incomplete ## |
| |
| #Return incomplete ## |
| |
| #Example |
| // incomplete |
| ## |
| |
| #SeeAlso incomplete |
| |
| #Method ## |
| |
| # ------------------------------------------------------------------------------ |
| |
| #Method virtual bool rewind() |
| #In incomplete |
| #Line # incomplete ## |
| |
| Rewinds to the beginning of the stream. Returns true if the stream is known |
| to be at the beginning after this call returns. |
| |
| #Return incomplete ## |
| |
| #Example |
| // incomplete |
| ## |
| |
| #SeeAlso incomplete |
| |
| #Method ## |
| |
| # ------------------------------------------------------------------------------ |
| |
| #Method std::unique_ptr<SkStream> duplicate() const |
| #In incomplete |
| #Line # incomplete ## |
| |
| Duplicates this stream. If this cannot be done, returns NULL. |
| The returned stream will be positioned at the beginning of its data. |
| |
| #Return incomplete ## |
| |
| #Example |
| // incomplete |
| ## |
| |
| #SeeAlso incomplete |
| |
| #Method ## |
| |
| # ------------------------------------------------------------------------------ |
| |
| #Method std::unique_ptr<SkStream> fork() const |
| #In incomplete |
| #Line # incomplete ## |
| |
| Duplicates this stream. If this cannot be done, returns NULL. |
| The returned stream will be positioned the same as this stream. |
| |
| #Return incomplete ## |
| |
| #Example |
| // incomplete |
| ## |
| |
| #SeeAlso incomplete |
| |
| #Method ## |
| |
| # ------------------------------------------------------------------------------ |
| |
| #Method virtual bool hasPosition() const |
| #In incomplete |
| #Line # incomplete ## |
| |
| Returns true if this stream can report its current position. |
| |
| #Return incomplete ## |
| |
| #Example |
| // incomplete |
| ## |
| |
| #SeeAlso incomplete |
| |
| #Method ## |
| |
| # ------------------------------------------------------------------------------ |
| |
| #Method virtual size_t getPosition() const |
| #In incomplete |
| #Line # incomplete ## |
| |
| Returns the current position in the stream. If this cannot be done, returns 0. |
| |
| #Return incomplete ## |
| |
| #Example |
| // incomplete |
| ## |
| |
| #SeeAlso incomplete |
| |
| #Method ## |
| |
| # ------------------------------------------------------------------------------ |
| |
| #Method virtual bool seek(size_t position) |
| #In incomplete |
| #Line # incomplete ## |
| |
| #Param position incomplete ## |
| |
| Seeks to an absolute position in the stream. If this cannot be done, returns false. |
| If an attempt is made to seek past the end of the stream, the position will be set |
| to the end of the stream. |
| |
| #Return incomplete ## |
| |
| #Example |
| // incomplete |
| ## |
| |
| #SeeAlso incomplete |
| |
| #Method ## |
| |
| # ------------------------------------------------------------------------------ |
| |
| #Method virtual bool move(long offset) |
| #In incomplete |
| #Line # incomplete ## |
| |
| #Param offset incomplete ## |
| |
| Seeks to an relative offset in the stream. If this cannot be done, returns false. |
| If an attempt is made to move to a position outside the stream, the position will be set |
| to the closest point within the stream (beginning or end). |
| |
| #Return incomplete ## |
| |
| #Example |
| // incomplete |
| ## |
| |
| #SeeAlso incomplete |
| |
| #Method ## |
| |
| # ------------------------------------------------------------------------------ |
| |
| #Method virtual bool hasLength() const |
| #In incomplete |
| #Line # incomplete ## |
| |
| Returns true if this stream can report its total length. |
| |
| #Return incomplete ## |
| |
| #Example |
| // incomplete |
| ## |
| |
| #SeeAlso incomplete |
| |
| #Method ## |
| |
| # ------------------------------------------------------------------------------ |
| |
| #Method virtual size_t getLength() const |
| #In incomplete |
| #Line # incomplete ## |
| |
| Returns the total length of the stream. If this cannot be done, returns 0. |
| |
| #Return incomplete ## |
| |
| #Example |
| // incomplete |
| ## |
| |
| #SeeAlso incomplete |
| |
| #Method ## |
| |
| # ------------------------------------------------------------------------------ |
| |
| #Method virtual const void* getMemoryBase() |
| #In incomplete |
| #Line # incomplete ## |
| |
| Returns the starting address for the data. If this cannot be done, returns NULL. |
| TODO: replace with virtual const SkData* getData() |
| |
| #Return incomplete ## |
| |
| #Example |
| // incomplete |
| ## |
| |
| #SeeAlso incomplete |
| |
| #Method ## |
| |
| #Class SkStream ## |
| |
| #Topic Stream ## |