2018-08-10 17:09:13 +00:00
|
|
|
#Topic Stream
|
|
|
|
#Alias Stream_Reference ##
|
|
|
|
|
|
|
|
#Class SkStream
|
|
|
|
|
2018-10-08 18:57:48 +00:00
|
|
|
#Code
|
|
|
|
#Populate
|
|
|
|
##
|
|
|
|
|
2018-08-10 17:09:13 +00:00
|
|
|
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.
|
|
|
|
|
|
|
|
# ------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
#Method virtual ~SkStream()
|
2018-10-08 18:57:48 +00:00
|
|
|
#In Constructors
|
2018-08-10 17:09:13 +00:00
|
|
|
#Line # incomplete ##
|
|
|
|
|
|
|
|
#Example
|
|
|
|
// incomplete
|
|
|
|
##
|
|
|
|
|
|
|
|
#SeeAlso incomplete
|
|
|
|
|
|
|
|
#Method ##
|
|
|
|
|
|
|
|
# ------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
#Method SkStream()
|
2018-10-08 18:57:48 +00:00
|
|
|
#In Constructors
|
2018-08-10 17:09:13 +00:00
|
|
|
#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 ##
|
|
|
|
|
|
|
|
# ------------------------------------------------------------------------------
|
|
|
|
|
2018-10-08 18:57:48 +00:00
|
|
|
#Method bool readS8(int8_t* i)
|
2018-08-10 17:09:13 +00:00
|
|
|
#In incomplete
|
|
|
|
#Line # incomplete ##
|
|
|
|
|
|
|
|
#Param i incomplete ##
|
|
|
|
|
|
|
|
#Return incomplete ##
|
|
|
|
|
|
|
|
#Example
|
|
|
|
// incomplete
|
|
|
|
##
|
|
|
|
|
|
|
|
#SeeAlso incomplete
|
|
|
|
|
|
|
|
#Method ##
|
|
|
|
|
|
|
|
# ------------------------------------------------------------------------------
|
|
|
|
|
2018-10-08 18:57:48 +00:00
|
|
|
#Method bool readS16(int16_t* i)
|
2018-08-10 17:09:13 +00:00
|
|
|
#In incomplete
|
|
|
|
#Line # incomplete ##
|
|
|
|
|
|
|
|
#Param i incomplete ##
|
|
|
|
|
|
|
|
#Return incomplete ##
|
|
|
|
|
|
|
|
#Example
|
|
|
|
// incomplete
|
|
|
|
##
|
|
|
|
|
|
|
|
#SeeAlso incomplete
|
|
|
|
|
|
|
|
#Method ##
|
|
|
|
|
|
|
|
# ------------------------------------------------------------------------------
|
|
|
|
|
2018-10-08 18:57:48 +00:00
|
|
|
#Method bool readS32(int32_t* i)
|
2018-08-10 17:09:13 +00:00
|
|
|
#In incomplete
|
|
|
|
#Line # incomplete ##
|
|
|
|
|
|
|
|
#Param i incomplete ##
|
|
|
|
|
|
|
|
#Return incomplete ##
|
|
|
|
|
|
|
|
#Example
|
|
|
|
// incomplete
|
|
|
|
##
|
|
|
|
|
|
|
|
#SeeAlso incomplete
|
|
|
|
|
|
|
|
#Method ##
|
|
|
|
|
|
|
|
# ------------------------------------------------------------------------------
|
|
|
|
|
2018-10-08 18:57:48 +00:00
|
|
|
#Method bool readU8(uint8_t* i)
|
2018-08-10 17:09:13 +00:00
|
|
|
#In incomplete
|
|
|
|
#Line # incomplete ##
|
|
|
|
|
|
|
|
#Param i incomplete ##
|
|
|
|
|
|
|
|
#Return incomplete ##
|
|
|
|
|
|
|
|
#Example
|
|
|
|
// incomplete
|
|
|
|
##
|
|
|
|
|
|
|
|
#SeeAlso incomplete
|
|
|
|
|
|
|
|
#Method ##
|
|
|
|
|
|
|
|
# ------------------------------------------------------------------------------
|
|
|
|
|
2018-10-08 18:57:48 +00:00
|
|
|
#Method bool readU16(uint16_t* i)
|
2018-08-10 17:09:13 +00:00
|
|
|
#In incomplete
|
|
|
|
#Line # incomplete ##
|
|
|
|
|
|
|
|
#Param i incomplete ##
|
|
|
|
|
|
|
|
#Return incomplete ##
|
|
|
|
|
|
|
|
#Example
|
|
|
|
// incomplete
|
|
|
|
##
|
|
|
|
|
|
|
|
#SeeAlso incomplete
|
|
|
|
|
|
|
|
#Method ##
|
|
|
|
|
|
|
|
# ------------------------------------------------------------------------------
|
|
|
|
|
2018-10-08 18:57:48 +00:00
|
|
|
#Method bool readU32(uint32_t* i)
|
2018-08-10 17:09:13 +00:00
|
|
|
#In incomplete
|
|
|
|
#Line # incomplete ##
|
|
|
|
|
|
|
|
#Param i incomplete ##
|
|
|
|
|
|
|
|
#Return incomplete ##
|
|
|
|
|
|
|
|
#Example
|
|
|
|
// incomplete
|
|
|
|
##
|
|
|
|
|
|
|
|
#SeeAlso incomplete
|
|
|
|
|
|
|
|
#Method ##
|
|
|
|
|
|
|
|
# ------------------------------------------------------------------------------
|
|
|
|
|
2018-10-08 18:57:48 +00:00
|
|
|
#Method bool readBool(bool* b)
|
2018-08-10 17:09:13 +00:00
|
|
|
#In incomplete
|
|
|
|
#Line # incomplete ##
|
|
|
|
|
|
|
|
#Param b incomplete ##
|
|
|
|
|
|
|
|
#Return incomplete ##
|
|
|
|
|
|
|
|
#Example
|
|
|
|
// incomplete
|
|
|
|
##
|
|
|
|
|
|
|
|
#SeeAlso incomplete
|
|
|
|
|
|
|
|
#Method ##
|
|
|
|
|
|
|
|
# ------------------------------------------------------------------------------
|
|
|
|
|
2018-10-08 18:57:48 +00:00
|
|
|
#Method bool readScalar(SkScalar* s)
|
2018-08-10 17:09:13 +00:00
|
|
|
#In incomplete
|
|
|
|
#Line # incomplete ##
|
|
|
|
|
|
|
|
#Param s incomplete ##
|
|
|
|
|
|
|
|
#Return incomplete ##
|
|
|
|
|
|
|
|
#Example
|
|
|
|
// incomplete
|
|
|
|
##
|
|
|
|
|
|
|
|
#SeeAlso incomplete
|
|
|
|
|
|
|
|
#Method ##
|
|
|
|
|
|
|
|
# ------------------------------------------------------------------------------
|
|
|
|
|
2018-10-08 18:57:48 +00:00
|
|
|
#Method bool readPackedUInt(size_t* u)
|
2018-08-10 17:09:13 +00:00
|
|
|
#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 ##
|