mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-05-16 06:05:58 -06:00
1153 lines
No EOL
48 KiB
C++
1153 lines
No EOL
48 KiB
C++
topic "Streams";
|
|
[2 $$0,0#00000000000000000000000000000000:Default]
|
|
[i448;a25;kKO9;2 $$1,0#37138531426314131252341829483380:class]
|
|
[l288;2 $$2,0#27521748481378242620020725143825:desc]
|
|
[0 $$3,0#96390100711032703541132217272105:end]
|
|
[H6;0 $$4,0#05600065144404261032431302351956:begin]
|
|
[i448;a25;kKO9;2 $$5,0#37138531426314131252341829483370:item]
|
|
[l288;a17;*@5;1 $$6,6#70004532496200323422659154056402:requirement]
|
|
[l288;i1121;b17;O9;~~~.1408;2 $$7,0#10431211400427159095818037425705:param]
|
|
[{_}%EN-US
|
|
[s0; Streams&]
|
|
[ {{993:993:993:993:995:996:987:1013:1016:1021f0;g33;GNl17/25r17/4t17/0b17/0@7-2 [s0; [^topic`:`/`/Core`/src`/Stream`$en`-us`#`:`:Stream`:`:class Stream^1 Stream]]
|
|
::l0/25r0/25t0/15b0/15@2-1 [s0;%- ]
|
|
:: [s0;%- ]
|
|
::r/4t/0b/0 [s0; ]
|
|
:: [s0; ]
|
|
:: [s0; ]
|
|
:: [s0; ]
|
|
:: [s0; ]
|
|
:: [s0; ]
|
|
:: [s0; ]
|
|
:: [s0; ]
|
|
::l17/25r17/4t17/0b17/0@7-2 [s0; [^topic`:`/`/Core`/src`/Stream`$en`-us`#`:`:StringStream`:`:class StringStream^1 S
|
|
tringStream]]
|
|
::l0/25r0/25t0/15b0/15@2-1 [s0;%- ]
|
|
:: [s0;%- ]
|
|
::r/4t/0b/0 [s0; ]
|
|
:: [s0; ]
|
|
:: [s0; ]
|
|
:: [s0; ]
|
|
:: [s0; ]
|
|
:: [s0; ]
|
|
:: [s0; ]
|
|
::l17/25r17/4t17/0b17/0@7-2 [s0; [^topic`:`/`/Core`/src`/Stream`$en`-us`#`:`:MemStream`:`:class MemStream^1 MemStre
|
|
am]]
|
|
::l0/25r0/25t0/15b0/15@2-1 [s0;%- ]
|
|
:: [s0;%- ]
|
|
::r/4t/0b/0 [s0; ]
|
|
:: [s0; ]
|
|
:: [s0; ]
|
|
:: [s0; ]
|
|
:: [s0; ]
|
|
:: [s0; ]
|
|
:: [s0; ]
|
|
:: [s0; ]
|
|
::l17/25r17/4t17/0b17/0@7-2 [s0; [^topic`:`/`/Core`/src`/Stream`$en`-us`#`:`:MemReadStream`:`:class MemReadStream^1 M
|
|
emReadStream]]
|
|
::l0/25r0/25t0/15b0/15@2-1 [s0;%- ]
|
|
:: [s0;%- ]
|
|
::r/4t/0b/0 [s0; ]
|
|
:: [s0; ]
|
|
:: [s0; ]
|
|
:: [s0; ]
|
|
:: [s0; ]
|
|
:: [s0; ]
|
|
::l17/25r17/4t17/0b17/0@7-2 [s0; [^topic`:`/`/Core`/src`/Stream`$en`-us`#`:`:BufferStream`:`:class BufferStream^1 B
|
|
ufferStream]]
|
|
::l0/25r0/25t0/15b0/15@2-1 [s0;%- ]
|
|
:: [s0;%- ]
|
|
::r/4t/0b/0 [s0; ]
|
|
:: [s0; ]
|
|
:: [s0; ]
|
|
:: [s0; ]
|
|
:: [s0; ]
|
|
:: [s0; ]
|
|
:: [s0; ]
|
|
:: [s0; ]
|
|
::l17/25r17/4t17/0b17/0@7-2 [s0; [^topic`:`/`/Core`/src`/Stream`$en`-us`#`:`:BlockStream`:`:class BlockStream^1 Blo
|
|
ckStream]]
|
|
::l0/25r0/25t0/15b0/15@2-1 [s0;%- ]
|
|
:: [s0;%- ]
|
|
::r/4t/0b/0 [s0; ]
|
|
:: [s0; ]
|
|
:: [s0; ]
|
|
:: [s0; ]
|
|
:: [s0; ]
|
|
:: [s0; ]
|
|
:: [s0; ]
|
|
:: [s0; ]
|
|
::l17/25r17/4t17/0b17/0@7-2 [s0; [^topic`:`/`/Core`/src`/Stream`$en`-us`#`:`:FileStream`:`:class FileStream^1 FileS
|
|
tream]]
|
|
::l0/25r0/25t0/15b0/15@2-1 [s0;%- ]
|
|
:: [s0;%- ]
|
|
::r/4t/0b/0 [s0; ]
|
|
:: [s0; ]
|
|
:: [s0; ]
|
|
:: [s0; ]
|
|
:: [s0; ]
|
|
:: [s0; ]
|
|
:: [s0; ]
|
|
:: [s0; ]
|
|
::l17/25r17/4t17/0b17/0@7-2 [s0; [^topic`:`/`/Core`/src`/Stream`$en`-us`#`:`:FileIn`:`:class FileIn^1 FileIn]]
|
|
::l0/25r0/25t0/15b0/15@2-1 [s0;%- ]
|
|
:: [s0;%- ]
|
|
::r/4t/0b/0 [s0; ]
|
|
:: [s0; ]
|
|
:: [s0; ]
|
|
:: [s0; ]
|
|
:: [s0; ]
|
|
:: [s0; ]
|
|
:: [s0; ]
|
|
::l17/25r17/4t17/0b17/0@7-2 [s0; [^topic`:`/`/Core`/src`/Stream`$en`-us`#`:`:FileOut`:`:class FileOut^1 FileOut]]
|
|
::l0/25r0/25t0/15b0/15@2-1 [s0;%- ]
|
|
:: [s0;%- ]
|
|
::r/4t/0b/0 [s0; ]
|
|
:: [s0; ]
|
|
:: [s0; ]
|
|
:: [s0; ]
|
|
:: [s0; ]
|
|
:: [s0; ]
|
|
:: [s0; ]
|
|
::l17/25r17/4t17/0b17/0@7-2 [s0; [^topic`:`/`/Core`/src`/Stream`$en`-us`#`:`:FileAppend`:`:class FileAppend^1 FileA
|
|
ppend]]
|
|
::l0/25r0/25t0/15b0/15@2-1 [s0;%- ]
|
|
:: [s0;%- ]
|
|
::r/4t/0b/0 [s0; ]
|
|
:: [s0; ]
|
|
:: [s0; ]
|
|
:: [s0; ]
|
|
:: [s0; ]
|
|
::l17/25r17/4t17/0b17/0@7-2 [s0; [^topic`:`/`/Core`/src`/Stream`$en`-us`#`:`:SizeStream`:`:class SizeStream^1 SizeS
|
|
tream]]
|
|
::l0/25r0/25t0/15b0/15@2-1 [s0;%- ]
|
|
:: [s0;%- ]
|
|
::r/4t/0b/0 [s0; ]
|
|
:: [s0; ]
|
|
:: [s0; ]
|
|
:: [s0; ]
|
|
:: [s0; ]
|
|
:: [s0; ]
|
|
:: [s0; ]
|
|
::l17/25r17/4t17/0b17/0@7-2 [s0; [^topic`:`/`/Core`/src`/Stream`$en`-us`#`:`:CompareStream`:`:class CompareStream^1 C
|
|
ompareStream]]
|
|
::l0/25r0/25t0/15b0/15@2-1 [s0;%- ]
|
|
:: [s0;%- ]
|
|
::r/4t/0b/0 [s0; ]
|
|
:: [s0; ]
|
|
:: [s0; ]
|
|
:: [s0; ]
|
|
:: [s0; ]}}&]
|
|
[s0; &]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) class][@(64) _]Stream&]
|
|
[s2; &]
|
|
[s2; Stream is the base class of all U`+`+ streams.&]
|
|
[s2; U`+`+ streams generally serve in two different roles:&]
|
|
[s2;i150;O0; As basic raw binary streams, which includes text input
|
|
and output.&]
|
|
[s2;i150;O0; As binary serialization target/source. This mainly needs
|
|
to store flag indicating serialization direction.&]
|
|
[s2; In order to achieve optimal performance of buffered stream operations,
|
|
the most frequent operations have a little bit more complicated
|
|
implementation that demands proper definition of virtual methods,
|
|
as they must correctly adjust some protected data members of
|
|
Stream. Therefore the implementation of some method can be considered
|
|
a part of interface definition:&]
|
|
[s0; &]
|
|
[s0; [*C@5 void Stream`::Put(int c)]&]
|
|
[s0; [*C@5 `{]&]
|
|
[s0; [*C@5 -|if(ptr < wrlim)]&]
|
|
[s0; [*C@5 -|-|`*ptr`+`+ `= c;]&]
|
|
[s0; [*C@5 -|else]&]
|
|
[s0; [*C@5 -|-|`_Put(c);]&]
|
|
[s0; [*C@5 `}]&]
|
|
[s0;*C@5 &]
|
|
[s0; [*C@5 int Stream`::Term()]&]
|
|
[s0; [*C@5 `{]&]
|
|
[s0; [*C@5 -|return ptr < rdlim ? `*ptr : `_Term();]&]
|
|
[s0; [*C@5 `}]&]
|
|
[s0;*C@5 &]
|
|
[s0; [*C@5 int Stream`::Get()]&]
|
|
[s0; [*C@5 `{]&]
|
|
[s0; [*C@5 -|return ptr < rdlim ? `*ptr`+`+ : `_Get();]&]
|
|
[s0; [*C@5 `}]&]
|
|
[s0;*C@5 &]
|
|
[s0; [*C@5 int64 Stream`::GetPos() const]&]
|
|
[s0; [*C@5 `{]&]
|
|
[s0; [*C@5 -|return dword(ptr `- buffer) `+ pos;]&]
|
|
[s0; [*C@5 `}]&]
|
|
[s0; &]
|
|
[s0; &]
|
|
[s0;%- Protected members for Stream implementation&]
|
|
[s0; &]
|
|
[s5;K%- [^`:`:int64^ int64]_pos&]
|
|
[s0;%- Protected.&]
|
|
[s2; Position of buffer in the stream.&]
|
|
[s0; &]
|
|
[s5;K%- [^`:`:byte^ byte]_`*buffer&]
|
|
[s0; Protected.&]
|
|
[s2; Pointer to beginning of buffer.&]
|
|
[s0; &]
|
|
[s5;K%- [^`:`:byte^ byte]_`*ptr&]
|
|
[s0; Protected.&]
|
|
[s2; Pointer to current input/output byte.&]
|
|
[s0; &]
|
|
[s5;K%- [^`:`:byte^ byte]_`*rdlim&]
|
|
[s0; Protected.&]
|
|
[s2; Read limit. [* Get] method returns values from buffer as long
|
|
as [* ptr < rdlim].&]
|
|
[s0; &]
|
|
[s5;K%- [^`:`:byte^ byte]_`*wrlim&]
|
|
[s0; Protected.&]
|
|
[s2; Write limit. [* Put] method returns values from buffer as long
|
|
as [* ptr < wrlim].&]
|
|
[s0; &]
|
|
[s5;K%- virtual [@(0.0.255) void][@(64) _]`_Put[@(64) (][@(0.0.255) int][@(64) _][@3 w][@(64) )]&]
|
|
[s2; Called by [* Put] method in case that output byte cannot be stored
|
|
into buffer ([* ptr >`= wrlim]). If Stream wants to use buffering,
|
|
this method should adjust [* buffer], [* ptr] and [* wrlim].&]
|
|
[s7; [%-*C@3 w]-|Byte to store.&]
|
|
[s0; &]
|
|
[s5;K%- virtual [@(0.0.255) int][@(64) _]`_Term[@(64) ()]&]
|
|
[s2; Called by [* Term] method in case that input byte is not in buffer
|
|
([* ptr >`= rdlim]). If Stream wants to use buffering, this method
|
|
should adjust [* buffer], [* ptr] and [* rdlim].&]
|
|
[s7; [*/ Return value]-|Value at current position in the stream. Current
|
|
position is not advanced.&]
|
|
[s0; &]
|
|
[s5;K%- virtual [@(0.0.255) int][@(64) _]`_Get[@(64) ()]&]
|
|
[s2; Called by [* Get] method in case that input byte is not in buffer
|
|
([* ptr >`= rdlim]). If Stream wants to use buffering, this method
|
|
should adjust [* buffer], [* ptr] and [* rdlim].&]
|
|
[s7; [*/ Return value]-|Value read from the stream.&]
|
|
[s0; &]
|
|
[s5;K%- virtual [@(0.0.255) void][@(64) _]`_Put[@(64) (][@(0.0.255) const][@(64) _][@(0.0.255) vo
|
|
id][@(64) _`*][@3 data][@(64) , ][^`:`:dword^@(64) dword][@(64) _][@3 size][@(64) )]&]
|
|
[s2; Directly called by [* Put] method. Writes a block of binary data.&]
|
|
[s7; [%-*C@3 data]-|Pointer to data.&]
|
|
[s7; [%-*C@3 size]-|Size.&]
|
|
[s0; &]
|
|
[s5;K%- virtual [^`:`:dword^ dword]_`_Get[@(64) (][@(0.0.255) void][@(64) _`*][@3 data][@(64) ,
|
|
][^`:`:dword^@(64) dword][@(64) _][@3 size][@(64) )]&]
|
|
[s2; Directly called by [* Get] method. &]
|
|
[s7; [%-*C@3 data]-|&]
|
|
[s7; [%-*C@3 size]-|&]
|
|
[s7; [*/ Return value]-|&]
|
|
[s2; &]
|
|
[s0; Raw stream&]
|
|
[s0; &]
|
|
[s5;K%- virtual [@(0.0.255) void][@(64) _]Seek[@(64) (][^`:`:int64^@(64) int64][@(64) _][@3 pos][@(64) )
|
|
]&]
|
|
[s2; Seeks to given position.&]
|
|
[s7; [%-*C@3 pos]-|Position.&]
|
|
[s0; &]
|
|
[s5;K%- virtual [^`:`:int64^ int64]_GetSize[@(64) ()_][@(0.0.255) const]&]
|
|
[s7; [*/ Return value]-|Size of stream.&]
|
|
[s0; &]
|
|
[s5;K%- virtual [@(0.0.255) void][@(64) _]SetSize[@(64) (][^`:`:int64^@(64) int64][@(64) _][@3 si
|
|
ze][@(64) )]&]
|
|
[s2; Alters the size of the stream.&]
|
|
[s7; [%-*C@3 size]-|New size.&]
|
|
[s0; &]
|
|
[s5;K%- virtual [@(0.0.255) void][@(64) _]Flush[@(64) ()]&]
|
|
[s2; If stream has any internal buffers (like FileStream), writes
|
|
these bufers to OS.&]
|
|
[s0; &]
|
|
[s5;K%- virtual [@(0.0.255) void][@(64) _]Close[@(64) ()]&]
|
|
[s2; Closes stream.&]
|
|
[s0; &]
|
|
[s5;K%- virtual [@(0.0.255) bool][@(64) _]IsOpen[@(64) ()_][@(0.0.255) const][@(64) _`=_][@3 0]&]
|
|
[s7; [*/ Return value]-|true if stream is open.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) bool][@(64) _]IsError[@(64) ()_][@(0.0.255) const]&]
|
|
[s7; [*/ Return value]-|true if error was encountered during stream
|
|
operations since opening it or last ClearError call `- error
|
|
code is non`-zero.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) bool][@(64) _]IsOK[@(64) ()_][@(0.0.255) const]&]
|
|
[s7; [*/ Return value]-|!IsError().&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) void][@(64) _]SetError[@(64) (][@(0.0.255) int][@(64) _][@3 c][@(64) _`=_][@3 0][@(64) )
|
|
]&]
|
|
[s2; Sets stream error code.&]
|
|
[s7; [%-*C@3 c]-|Error code.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) void][@(64) _]SetLastError[@(64) ()]&]
|
|
[s2; Sets stream error to last OS`-specific error (obtained e.g.
|
|
by GetLastError call in Win32 or in errno in Posix). This error
|
|
can be interpreted by GetErrorMessage function.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) int][@(64) _]GetError[@(64) ()_][@(0.0.255) const]&]
|
|
[s7; [*/ Return value]-|Current error`-code. Zero indicates no error.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) void][@(64) _]ClearError[@(64) ()]&]
|
|
[s2; Clears error code.&]
|
|
[s0; &]
|
|
[s5;K%- [^`:`:int64^ int64]_GetPos[@(64) ()_][@(0.0.255) const]&]
|
|
[s7; [*/ Return value]-|Current position in the stream.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) bool][@(64) _]IsEof[@(64) ()_][@(0.0.255) const]&]
|
|
[s7; [*/ Return value]-|There are no more byte to be read from the stream.
|
|
Is also true in case of error.&]
|
|
[s0; &]
|
|
[s5;K%- [^`:`:int64^ int64]_GetLeft[@(64) ()_][@(0.0.255) const]&]
|
|
[s7; [*/ Return value]-|Bytes between current position and the end of
|
|
stream `- equivalent to GetSize() `- GetPos().&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) void][@(64) _]SeekEnd[@(64) (][^`:`:int64^@(64) int64][@(64) _][@3 rel][@(64) _
|
|
`=_][@3 0][@(64) )]&]
|
|
[s2; Sets current position in the stream relative to the end of stream.
|
|
Same as Seek(GetSize() `+ rel).&]
|
|
[s7; [%-*C@3 rel]-|Position `- should be less or equal to zero.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) void][@(64) _]SeekCur[@(64) (][^`:`:int64^@(64) int64][@(64) _][@3 rel][@(64) )
|
|
]&]
|
|
[s2; Sets current position in the stream relative to the current
|
|
position. Same as Seek(GetPos() `+ rel).&]
|
|
[s7; [%-*C@3 rel]-|Relative offset.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) void][@(64) _]Put[@(64) (][@(0.0.255) int][@(64) _][@3 c][@(64) )]&]
|
|
[s2; Puts single byte into the output stream.&]
|
|
[s7; [%-*C@3 c]-|Byte.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) int][@(64) _]Term[@(64) ()]&]
|
|
[s2; Peeks byte from input stream not advancing current position.
|
|
If there are no more bytes in input stream or error occurred,
|
|
negative value is returned.&]
|
|
[s7; [*/ Return value]-|Byte at current position in the stream.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) int][@(64) _]Get[@(64) ()]&]
|
|
[s2; Reads single byte from input stream, advancing current position.
|
|
If there are no more bytes in input stream or error occurred,
|
|
negative value is returned.&]
|
|
[s7; [*/ Return value]-|Byte read from input stream.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) void][@(64) _]Put[@(64) (][@(0.0.255) const][@(64) _][@(0.0.255) void][@(64) _`*
|
|
][@3 data][@(64) , ][^`:`:dword^@(64) dword][@(64) _][@3 size][@(64) )]&]
|
|
[s2; Writes a block of raw binary data to the output stream.&]
|
|
[s7; [%-*C@3 data]-|Pointer to data.&]
|
|
[s7; [%-*C@3 size]-|Number of bytes to write.&]
|
|
[s0; &]
|
|
[s5;K%- [^`:`:dword^ dword]_Get[@(64) (][@(0.0.255) void][@(64) _`*][@3 data][@(64) ,
|
|
][^`:`:dword^@(64) dword][@(64) _][@3 size][@(64) )]&]
|
|
[s2; Reads a block of raw binary data from the input stream.&]
|
|
[s7; [%-*C@3 data]-|Pointer to buffer to receive the data.&]
|
|
[s7; [%-*C@3 size]-|Number of bytes to read.&]
|
|
[s7; [*/ Return value]-|Number of bytes actually read (lower or equal
|
|
to the requested [*@3 size]).&]
|
|
[s0; &]
|
|
[s5;K:`:`:Stream`:`:Get`(`:`:dword`):%- [^`:`:String^ String]_Get[@(64) (][^`:`:dword^@(64) d
|
|
word][@(64) _][@3 size][@(64) )]&]
|
|
[s2; Reads a block of raw binary data from the input stream. The
|
|
number of bytes read is the length of String.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) void][@(64) _]LoadThrowing[@(64) ()]&]
|
|
[s2; Sets stream into the mode that throws LoadingError exception
|
|
when LoadError is invoked. This mode is typical for serialization
|
|
usage of stream.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) void][@(64) _]LoadError[@(64) ()]&]
|
|
[s2; Performs SetError(ERROR`_LOADING`_FAILED). If Stream set to
|
|
the LoadThrowing mode (by LoadThrowing() method), LoadingError
|
|
exception is thrown.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) bool][@(64) _]GetAll[@(64) (][@(0.0.255) void][@(64) _`*][@3 data][@(64) ,
|
|
][^`:`:dword^@(64) dword][@(64) _][@3 size][@(64) )]&]
|
|
[s2; Reads a block of raw binary data from the stream. If there is
|
|
not enough data in the stream, LoadError is invoked (that in
|
|
turn might throw an exception).&]
|
|
[s7; [%-*C@3 data]-|Pointer to buffer to receive the data.&]
|
|
[s7; [%-*C@3 size]-|Number of bytes to read.&]
|
|
[s7; [*/ Return value]-|true if required number of bytes was read.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) int][@(64) _]Get8[@(64) ()]&]
|
|
[s2; Reads a single byte from the stream. If there is not enough
|
|
data in the stream, LoadError is invoked (that in turn might
|
|
throw an exception) `- this is the difference from Get() method.&]
|
|
[s7; [*/ Return value]-|Byte from stream or `-1.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) int][@(64) _]Get16[@(64) ()]&]
|
|
[s2; Reads 16`-bit value from the stream in platform specific format
|
|
(either little`-endian or big`-endian). If there is not enough
|
|
data in the stream, LoadError is invoked (that in turn might
|
|
throw an exception).&]
|
|
[s7; [*/ Return value]-|16`-bit value.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) int][@(64) _]Get32[@(64) ()]&]
|
|
[s2; Reads 32`-bit value from the stream in platform specific format
|
|
(either little`-endian or big`-endian). If there is not enough
|
|
data in the stream, LoadError is invoked (that in turn might
|
|
throw an exception).&]
|
|
[s7; [*/ Return value]-|32`-bit value.&]
|
|
[s0; &]
|
|
[s5;K%- [^`:`:int64^ int64]_Get64[@(64) ()]&]
|
|
[s2; Reads 64`-bit value from the stream in platform specific format
|
|
(either little`-endian or big`-endian). If there is not enough
|
|
data in the stream, LoadError is invoked (that in turn might
|
|
throw an exception).&]
|
|
[s7; [*/ Return value]-|64`-bit value.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) int][@(64) _]Get16le[@(64) ()]&]
|
|
[s2; Reads 16`-bit value from the stream in the little`-endian mode.
|
|
If there is not enough data in the stream, LoadError is invoked
|
|
(that in turn might throw an exception).&]
|
|
[s7; [*/ Return value]-|16`-bit value.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) int][@(64) _]Get32le[@(64) ()]&]
|
|
[s2; Reads 32`-bit value from the stream in the little`-endian mode.
|
|
If there is not enough data in the stream, LoadError is invoked
|
|
(that in turn might throw an exception).&]
|
|
[s7; [*/ Return value]-|32`-bit value.&]
|
|
[s0; &]
|
|
[s5;K%- [^`:`:int64^ int64]_Get64le[@(64) ()]&]
|
|
[s2; Reads 64`-bit value from the stream in the little`-endian mode.
|
|
If there is not enough data in the stream, LoadError is invoked
|
|
(that in turn might throw an exception).&]
|
|
[s7; [*/ Return value]-|64`-bit value.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) int][@(64) _]Get16be[@(64) ()]&]
|
|
[s2; Reads 16`-bit value from the stream in the big`-endian mode.
|
|
If there is not enough data in the stream, LoadError is invoked
|
|
(that in turn might throw an exception).&]
|
|
[s7; [*/ Return value]-|16`-bit value.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) int][@(64) _]Get32be[@(64) ()]&]
|
|
[s2; Reads 32`-bit value from the stream in the big`-endian mode.
|
|
If there is not enough data in the stream, LoadError is invoked
|
|
(that in turn might throw an exception).&]
|
|
[s7; [*/ Return value]-|32`-bit value.&]
|
|
[s0; &]
|
|
[s5;K%- [^`:`:int64^ int64]_Get64be[@(64) ()]&]
|
|
[s2; Reads 32`-bit value from the stream in the big`-endian mode.
|
|
If there is not enough data in the stream, LoadError is invoked
|
|
(that in turn might throw an exception).&]
|
|
[s7; [*/ Return value]-|64`-bit value.&]
|
|
[s0; &]
|
|
[s5;K%- [^`:`:String^ String]_GetLine[@(64) ()]&]
|
|
[s2; Reads single line from the stream. Line is delimited by `'`\n`'
|
|
character or the end of file (or error). `'`\r`' characters are
|
|
ignored.&]
|
|
[s7; [*/ Return value]-|Line from the stream.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) int][@(64) _]GetUtf8[@(64) ()]&]
|
|
[s2; Reads single utf`-8 encoded value from the stream.&]
|
|
[s7; [*/ Return value]-|Utf`-8 value.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) void][@(64) _]Put16[@(64) (][^word^@(64) word][@(64) _][@3 q][@(64) )]&]
|
|
[s2; Writes 16`-bit value in platform specific format (either little`-endian
|
|
or big`-endian).&]
|
|
[s7; [%-*C@3 q]-|Value to write.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) void][@(64) _]Put32[@(64) (][@(0.0.255) int][@(64) _][@3 q][@(64) )]&]
|
|
[s2; Writes 32`-bit value in platform specific format (either little`-endian
|
|
or big`-endian).&]
|
|
[s7; [%-*C@3 q]-|Value to write.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) void][@(64) _]Put64[@(64) (][^`:`:int64^@(64) int64][@(64) _][@3 q][@(64) )]&]
|
|
[s2; Writes 64`-bit value in platform specific format (either little`-endian
|
|
or big`-endian).&]
|
|
[s7; [%-*C@3 q]-|Value to write.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) void][@(64) _]Put16le[@(64) (][^word^@(64) word][@(64) _][@3 q][@(64) )]&]
|
|
[s2; Writes 16`-bit value in little`-endian mode.&]
|
|
[s7; [%-*C@3 q]-|Value to write.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) void][@(64) _]Put32le[@(64) (][@(0.0.255) int][@(64) _][@3 q][@(64) )]&]
|
|
[s2; Writes 32`-bit value in little`-endian mode.&]
|
|
[s7; [%-*C@3 q]-|Value to write.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) void][@(64) _]Put64le[@(64) (][^`:`:int64^@(64) int64][@(64) _][@3 q][@(64) )]&]
|
|
[s2; Writes 64`-bit value in little`-endian mode.&]
|
|
[s7; [%-*C@3 q]-|Value to write.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) void][@(64) _]Put16be[@(64) (][^word^@(64) word][@(64) _][@3 q][@(64) )]&]
|
|
[s2; Writes 16`-bit value in big`-endian mode.&]
|
|
[s7; [%-*C@3 q]-|Value to write.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) void][@(64) _]Put32be[@(64) (][@(0.0.255) int][@(64) _][@3 q][@(64) )]&]
|
|
[s2; Writes 32`-bit value in big`-endian mode.&]
|
|
[s7; [%-*C@3 q]-|Value to write.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) void][@(64) _]Put64be[@(64) (][^`:`:int64^@(64) int64][@(64) _][@3 q][@(64) )]&]
|
|
[s2; Writes 64`-bit value in big`-endian mode.&]
|
|
[s7; [%-*C@3 q]-|Value to write.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) void][@(64) _]PutUtf8[@(64) (][@(0.0.255) int][@(64) _][@3 c][@(64) )]&]
|
|
[s2; Puts a single utf`-8 value to the stream.&]
|
|
[s7; [%-*C@3 c]-|Value.&]
|
|
[s0; &]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) void][@(64) _]Put[@(64) (][@(0.0.255) const][@(64) _][@(0.0.255) char][@(64) _`*
|
|
][@3 s][@(64) )]&]
|
|
[s2; Writes zero terminated string to the stream (zero is not written).&]
|
|
[s7; [%-*C@3 s]-|String to write.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) void][@(64) _]Put[@(64) (][@(0.0.255) const][@(64) _][^`:`:String^@(64) Strin
|
|
g][@(64) `&_][@3 s][@(64) )]&]
|
|
[s2; Writes String to the the stream. String can contain zero characters.&]
|
|
[s7; [%-*C@3 s]-|String to write.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) void][@(64) _]Put[@(64) (][@(0.0.255) int][@(64) _][@3 c][@(64) ,
|
|
][@(0.0.255) int][@(64) _][@3 count][@(64) )]&]
|
|
[s2; Writes single byte to the stream requested number of times.&]
|
|
[s7; [%-*C@3 c]-|Byte to write.&]
|
|
[s7; [%-*C@3 count]-|Repeat count.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) void][@(64) _]Put0[@(64) (][@(0.0.255) int][@(64) _][@3 count][@(64) )]&]
|
|
[s2; Writes zero byte to the stream requested number of times. This
|
|
variation is mainly provided because Put(0, count) causes ambiguity
|
|
as 0 is considered as NULL pointer too...&]
|
|
[s7; [%-*C@3 count]-|Repeat count.&]
|
|
[s0; &]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) void][@(64) _]PutW[@(64) (][@(0.0.255) const][@(64) _][^`:`:wchar^@(64) wchar
|
|
][@(64) _`*][@3 s][@(64) , ][@(0.0.255) int][@(64) _][@3 count][@(64) )]&]
|
|
[s2; Writes a specified number of wchars (16`-bit character values)
|
|
to the stream in platform specific format (little`-endian or
|
|
big`-endian).&]
|
|
[s7; [%-*C@3 s]-|String to write.&]
|
|
[s7; [%-*C@3 count]-|Length of string.&]
|
|
[s0; &]
|
|
[s5;K%- [^`:`:dword^ dword]_GetW[@(64) (][^`:`:wchar^@(64) wchar][@(64) _`*][@3 s][@(64) ,
|
|
][@(0.0.255) int][@(64) _][@3 count][@(64) )]&]
|
|
[s2; Reads a specified number of wchars (16`-bit character values)
|
|
from the stream in platform specific format.&]
|
|
[s7; [%-*C@3 s]-|Pointer to buffer to receive wchars.&]
|
|
[s7; [%-*C@3 count]-|Number of wchars.&]
|
|
[s7; [*/ Return value]-|Number of wchars actually read.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) bool][@(64) _]GetAllW[@(64) (][^`:`:wchar^@(64) wchar][@(64) _`*][@3 s][@(64) ,
|
|
][@(0.0.255) int][@(64) _][@3 count][@(64) )]&]
|
|
[s2; Reads a specified number of wchars (16`-bit character values)
|
|
from the stream in platform specific format. If there is not
|
|
enough data in the stream, LoadError is invoked (that in turn
|
|
might throw an exception).&]
|
|
[s7; [%-*C@3 s]-|&]
|
|
[s7; [%-*C@3 count]-|&]
|
|
[s7; [*/ Return value]-|&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) void][@(64) _]PutCrLf[@(64) ()]&]
|
|
[s2; Writes CR`-LF pair to the stream. &]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) void][@(64) _]PutEol[@(64) ()]&]
|
|
[s2; Writes platform specific `"end of line`" to the stream. It is
|
|
CR`-LF pair on Win32 platform or single LF on Posix platform.&]
|
|
[s0; &]
|
|
[s5;K:`:`:Stream`:`:operator`<`<`(EOLenum`):%- [^`:`:Stream^ Stream]`&_operator<<[@(64) (
|
|
][^EOLenum^@(64) EOLenum][@(64) )]&]
|
|
[s2; This is the same as PutEol. EOLenum contains single value, EOL.
|
|
This is operator allows more convenient way to express PutEol
|
|
in the chain of << operators.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) void][@(64) _]PutLine[@(64) (][@(0.0.255) const][@(64) _][@(0.0.255) char][@(64) _
|
|
`*][@3 s][@(64) )]&]
|
|
[s2; Writes a line to stream `- equivalent of Put(s); PutEol();&]
|
|
[s7; [%-*C@3 s]-|Zero`-terminated string.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) void][@(64) _]PutLine[@(64) (][@(0.0.255) const][@(64) _][^`:`:String^@(64) S
|
|
tring][@(64) `&_][@3 s][@(64) )]&]
|
|
[s2; Writes a line to stream `- equivalent of Put(s); PutEol();&]
|
|
[s7; [%-*C@3 s]-|String.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) void][@(64) _]Put[@(64) (][^`:`:Stream^@(64) Stream][@(64) `&_][@3 s][@(64) ,
|
|
][^`:`:int64^@(64) int64][@(64) _][@3 size][@(64) _`=_INT64`_MAX, ][^`:`:dword^@(64) dword][@(64) _
|
|
][@3 click][@(64) _`=_][@3 4096][@(64) )]&]
|
|
[s2; Writes a content of specified stream to the stream.&]
|
|
[s7; [%-*C@3 s]-|Input stream.&]
|
|
[s7; [%-*C@3 size]-|Maximum number of bytes to write. Default value
|
|
INT64`_MAX means whole input stream from current position to
|
|
the end is written.&]
|
|
[s7; [%-*C@3 click]-|Size of buffer used for copying.&]
|
|
[s0; Formated output&]
|
|
[s0; &]
|
|
[s0; Serialization support:&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) void][@(64) _]SetLoading[@(64) ()]&]
|
|
[s2; Sets the stream into the loading mode.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) void][@(64) _]SetStoring[@(64) ()]&]
|
|
[s2; Sets the stream into the storing mode.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) bool][@(64) _]IsLoading[@(64) ()]&]
|
|
[s7; [*/ Return value]-|true if stream is in loading mode.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) bool][@(64) _]IsStoring[@(64) ()]&]
|
|
[s7; [*/ Return value]-|true if stream is in storing mode.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) void][@(64) _]SerializeRaw[@(64) (][^`:`:byte^@(64) byte][@(64) _`*][@3 data][@(64) ,
|
|
][^`:`:dword^@(64) dword][@(64) _][@3 count][@(64) )]&]
|
|
[s2; Serializes raw 8`-bit data. Might invoke LoadError if there
|
|
is not enough data to load.&]
|
|
[s7; [%-*C@3 data]-|Pointer to data to store or buffer to receive loaded
|
|
data.&]
|
|
[s7; [%-*C@3 count]-|Number of bytes to load/store.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) void][@(64) _]SerializeRaw[@(64) (][^word^@(64) word][@(64) _`*][@3 data][@(64) ,
|
|
][^`:`:dword^@(64) dword][@(64) _][@3 count][@(64) )]&]
|
|
[s2; Serializes raw 16`-bit data. Might invoke LoadError if there
|
|
is not enough data to load.&]
|
|
[s7; [%-*C@3 data]-|Pointer to data to store or buffer to receive loaded
|
|
data.&]
|
|
[s7; [%-*C@3 count]-|Number of values to load/store.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) void][@(64) _]SerializeRaw[@(64) (][^`:`:dword^@(64) dword][@(64) _`*][@3 dat
|
|
a][@(64) , ][^`:`:dword^@(64) dword][@(64) _][@3 count][@(64) )]&]
|
|
[s2; Serializes raw 32`-bit data. Might invoke LoadError if there
|
|
is not enough data to load.&]
|
|
[s7; [%-*C@3 data]-|Pointer to data to store or buffer to receive loaded
|
|
data.&]
|
|
[s7; [%-*C@3 count]-|Number of values to load/store.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) void][@(64) _]SerializeRaw[@(64) (][^`:`:uint64^@(64) uint64][@(64) _`*][@3 d
|
|
ata][@(64) , ][^`:`:dword^@(64) dword][@(64) _][@3 count][@(64) )]&]
|
|
[s2; Serializes raw 64`-bit data. Might invoke LoadError if there
|
|
is not enough data to load.&]
|
|
[s7; [%-*C@3 data]-|Pointer to data to store or buffer to receive loaded
|
|
data.&]
|
|
[s7; [%-*C@3 count]-|Number of values to load/store.&]
|
|
[s0; &]
|
|
[s5;K%- [^`:`:Stream^ Stream]`&_operator%[@(64) (][@(0.0.255) bool][@(64) `&_][@3 d][@(64) )]&]
|
|
[s2; Serializes bool variable. Might invoke LoadError if there is
|
|
not enough data to load.&]
|
|
[s7; [%-*C@3 d]-|Variable to serialize.&]
|
|
[s7; [*/ Return value]-|`*this for chaining.&]
|
|
[s0; &]
|
|
[s5;K%- [^`:`:Stream^ Stream]`&_operator%[@(64) (][@(0.0.255) char][@(64) `&_][@3 d][@(64) )]&]
|
|
[s2; Serializes char variable. Might invoke LoadError if there is
|
|
not enough data to load.&]
|
|
[s7; [%-*C@3 d]-|Variable to serialize.&]
|
|
[s7; [*/ Return value]-|`*this for chaining.&]
|
|
[s0; &]
|
|
[s5;K%- [^`:`:Stream^ Stream]`&_operator%[@(64) (][@(0.0.255) signed][@(64) _][@(0.0.255) char][@(64) `&
|
|
_][@3 d][@(64) )]&]
|
|
[s2; Serializes signed char variable. Might invoke LoadError if there
|
|
is not enough data to load.&]
|
|
[s7; [%-*C@3 d]-|Variable to serialize.&]
|
|
[s7; [*/ Return value]-|`*this for chaining.&]
|
|
[s0; &]
|
|
[s5;K%- [^`:`:Stream^ Stream]`&_operator%[@(64) (][@(0.0.255) unsigned][@(64) _][@(0.0.255) cha
|
|
r][@(64) `&_][@3 d][@(64) )]&]
|
|
[s2; Serializes unsigned char variable. Might invoke LoadError if
|
|
there is not enough data to load.&]
|
|
[s7; [%-*C@3 d]-|Variable to serialize.&]
|
|
[s7; [*/ Return value]-|`*this for chaining.&]
|
|
[s0; &]
|
|
[s5;K%- [^`:`:Stream^ Stream]`&_operator%[@(64) (][@(0.0.255) short][@(64) `&_][@3 d][@(64) )]&]
|
|
[s2; Serializes short variable. Might invoke LoadError if there is
|
|
not enough data to load.&]
|
|
[s7; [%-*C@3 d]-|Variable to serialize.&]
|
|
[s7; [*/ Return value]-|`*this for chaining.&]
|
|
[s0; &]
|
|
[s5;K%- [^`:`:Stream^ Stream]`&_operator%[@(64) (][@(0.0.255) unsigned][@(64) _][@(0.0.255) sho
|
|
rt][@(64) `&_][@3 d][@(64) )]&]
|
|
[s2; Serializes unsigned short variable. Might invoke LoadError if
|
|
there is not enough data to load.&]
|
|
[s7; [%-*C@3 d]-|Variable to serialize.&]
|
|
[s7; [*/ Return value]-|`*this for chaining.&]
|
|
[s0; &]
|
|
[s5;K%- [^`:`:Stream^ Stream]`&_operator%[@(64) (][@(0.0.255) int][@(64) `&_][@3 d][@(64) )]&]
|
|
[s2; Serializes int variable. Might invoke LoadError if there is
|
|
not enough data to load.&]
|
|
[s7; [%-*C@3 d]-|Variable to serialize.&]
|
|
[s7; [*/ Return value]-|`*this for chaining.&]
|
|
[s0; &]
|
|
[s5;K%- [^`:`:Stream^ Stream]`&_operator%[@(64) (][@(0.0.255) unsigned][@(64) _][@(0.0.255) int
|
|
][@(64) `&_][@3 d][@(64) )]&]
|
|
[s2; Serializes unsigned int variable. Might invoke LoadError if
|
|
there is not enough data to load.&]
|
|
[s7; [%-*C@3 d]-|Variable to serialize.&]
|
|
[s7; [*/ Return value]-|`*this for chaining.&]
|
|
[s0; &]
|
|
[s5;K%- [^`:`:Stream^ Stream]`&_operator%[@(64) (][@(0.0.255) long][@(64) `&_][@3 d][@(64) )]&]
|
|
[s2; Serializes long variable. Might invoke LoadError if there is
|
|
not enough data to load.&]
|
|
[s7; [%-*C@3 d]-|Variable to serialize.&]
|
|
[s7; [*/ Return value]-|`*this for chaining.&]
|
|
[s0; &]
|
|
[s5;K%- [^`:`:Stream^ Stream]`&_operator%[@(64) (][@(0.0.255) unsigned][@(64) _][@(0.0.255) lon
|
|
g][@(64) `&_][@3 d][@(64) )]&]
|
|
[s2; Serializes unsigned long variable. Might invoke LoadError if
|
|
there is not enough data to load.&]
|
|
[s7; [%-*C@3 d]-|Variable to serialize.&]
|
|
[s7; [*/ Return value]-|`*this for chaining.&]
|
|
[s0; &]
|
|
[s5;K%- [^`:`:Stream^ Stream]`&_operator%[@(64) (][@(0.0.255) float][@(64) `&_][@3 d][@(64) )]&]
|
|
[s2; Serializes float variable. Might invoke LoadError if there is
|
|
not enough data to load.&]
|
|
[s7; [%-*C@3 d]-|Variable to serialize.&]
|
|
[s7; [*/ Return value]-|`*this for chaining.&]
|
|
[s0; &]
|
|
[s5;K%- [^`:`:Stream^ Stream]`&_operator%[@(64) (][@(0.0.255) double][@(64) `&_][@3 d][@(64) )]&]
|
|
[s2; Serializes double variable. Might invoke LoadError if there
|
|
is not enough data to load.&]
|
|
[s7; [%-*C@3 d]-|Variable to serialize.&]
|
|
[s7; [*/ Return value]-|`*this for chaining.&]
|
|
[s0; &]
|
|
[s5;K%- [^`:`:Stream^ Stream]`&_operator%[@(64) (][^`:`:int64^@(64) int64][@(64) `&_][@3 d][@(64) )
|
|
]&]
|
|
[s2; Serializes int64 variable. Might invoke LoadError if there is
|
|
not enough data to load.&]
|
|
[s7; [%-*C@3 d]-|Variable to serialize.&]
|
|
[s7; [*/ Return value]-|`*this for chaining.&]
|
|
[s0; &]
|
|
[s5;K%- [^`:`:Stream^ Stream]`&_operator%[@(64) (][^`:`:uint64^@(64) uint64][@(64) `&_][@3 d][@(64) )
|
|
]&]
|
|
[s2; Serializes uint64 variable. Might invoke LoadError if there
|
|
is not enough data to load.&]
|
|
[s7; [%-*C@3 d]-|Variable to serialize.&]
|
|
[s7; [*/ Return value]-|`*this for chaining.&]
|
|
[s0; &]
|
|
[s5;K%- [^`:`:Stream^ Stream]`&_operator%[@(64) (][^`:`:String^@(64) String][@(64) `&_][@3 s][@(64) )
|
|
]&]
|
|
[s2; Serializes String variable. Might invoke LoadError if there
|
|
is not enough data to load or input data are invalid.&]
|
|
[s7; [%-*C@3 d]-|Variable to serialize.&]
|
|
[s7; [*/ Return value]-|`*this for chaining.&]
|
|
[s0; &]
|
|
[s5;K%- [^`:`:Stream^ Stream]`&_operator/[@(64) (][^`:`:String^@(64) String][@(64) `&_][@3 s][@(64) )
|
|
]&]
|
|
[s2; Serializes String variable using RLE compression and packed
|
|
format for length. Might invoke LoadError if there is not enough
|
|
data to load or input data are invalid.&]
|
|
[s7; [%-*C@3 s]-|Variable to serialize.&]
|
|
[s7; [*/ Return value]-|`*this for chaining.&]
|
|
[s0; &]
|
|
[s5;K%- [^`:`:Stream^ Stream]`&_operator%[@(64) (][^`:`:WString^@(64) WString][@(64) `&_][@3 s][@(64) )
|
|
]&]
|
|
[s2; Serializes WString variable. Might invoke LoadError if there
|
|
is not enough data to load or input data are invalid.&]
|
|
[s7; [%-*C@3 d]-|Variable to serialize.&]
|
|
[s7; [*/ Return value]-|`*this for chaining.&]
|
|
[s0; &]
|
|
[s5;K%- [^`:`:Stream^ Stream]`&_operator/[@(64) (][^`:`:WString^@(64) WString][@(64) `&_][@3 s][@(64) )
|
|
]&]
|
|
[s2; Serializes String variable using RLE compression and packed
|
|
format for length. Might invoke LoadError if there is not enough
|
|
data to load or input data are invalid.&]
|
|
[s7; [%-*C@3 s]-|Variable to serialize.&]
|
|
[s7; [*/ Return value]-|`*this for chaining.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) void][@(64) _]Pack[@(64) (][^`:`:dword^@(64) dword][@(64) `&_][@3 i][@(64) )]&]
|
|
[s2; Serializes dword value using format optimized for storing small
|
|
values. Values 0..254 are stored as serializes as single byte,
|
|
other values result in 5 bytes. Might invoke LoadError if there
|
|
is not enough data to load or input data are invalid.&]
|
|
[s7; [%-*C@3 i]-|Variable to serialize.&]
|
|
[s0; &]
|
|
[s5;K%- [^`:`:Stream^ Stream]`&_operator/[@(64) (][@(0.0.255) int][@(64) `&_][@3 i][@(64) )]&]
|
|
[s2; Serializes int value using format optimized for storing small
|
|
values. Might invoke LoadError if there is not enough data to
|
|
load or input data are invalid.&]
|
|
[s7; [%-*C@3 i]-|Variable to serialize.&]
|
|
[s7; [*/ Return value]-|`*this for chaining.&]
|
|
[s0; &]
|
|
[s5;K%- [^`:`:Stream^ Stream]`&_operator/[@(64) (][@(0.0.255) unsigned][@(64) _][@(0.0.255) int
|
|
][@(64) `&_][@3 i][@(64) )]&]
|
|
[s2; Serializes unsigned int value using format optimized for storing
|
|
small values. Might invoke LoadError if there is not enough data
|
|
to load or input data are invalid.&]
|
|
[s7; [%-*C@3 i]-|Variable to serialize.&]
|
|
[s7; [*/ Return value]-|`*this for chaining.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) void][@(64) _]Magic[@(64) (][^`:`:dword^@(64) dword][@(64) _][@3 magic][@(64) _
|
|
`=_][@3 0][@(64) x7d674d7b)]&]
|
|
[s2; Serializes `"magic value`" to ensure stream integrity. When
|
|
loading, this value is loaded and checked `- mismatch results
|
|
in invoking LoadError.&]
|
|
[s7; [%-*C@3 magic]-|Magic value.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) void][@(64) _]Pack[@(64) (][@(0.0.255) bool][@(64) `&_][@3 a][@(64) ,
|
|
][@(0.0.255) bool][@(64) `&_][@3 b][@(64) , ][@(0.0.255) bool][@(64) `&_][@3 c][@(64) ,
|
|
][@(0.0.255) bool][@(64) `&_][@3 d][@(64) , ][@(0.0.255) bool][@(64) `&_][@3 e][@(64) ,
|
|
][@(0.0.255) bool][@(64) `&_][@3 f][@(64) , ][@(0.0.255) bool][@(64) `&_][@3 g][@(64) ,
|
|
][@(0.0.255) bool][@(64) `&_][@3 h][@(64) )]&]
|
|
[s2; Serializes a set of boolean values compressed into single byte.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) void][@(64) _]Pack[@(64) (][@(0.0.255) bool][@(64) `&_][@3 a][@(64) ,
|
|
][@(0.0.255) bool][@(64) `&_][@3 b][@(64) , ][@(0.0.255) bool][@(64) `&_][@3 c][@(64) ,
|
|
][@(0.0.255) bool][@(64) `&_][@3 d][@(64) , ][@(0.0.255) bool][@(64) `&_][@3 e][@(64) ,
|
|
][@(0.0.255) bool][@(64) `&_][@3 f][@(64) , ][@(0.0.255) bool][@(64) `&_][@3 g][@(64) )]&]
|
|
[s2; Serializes a set of boolean values compressed into single byte.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) void][@(64) _]Pack[@(64) (][@(0.0.255) bool][@(64) `&_][@3 a][@(64) ,
|
|
][@(0.0.255) bool][@(64) `&_][@3 b][@(64) , ][@(0.0.255) bool][@(64) `&_][@3 c][@(64) ,
|
|
][@(0.0.255) bool][@(64) `&_][@3 d][@(64) , ][@(0.0.255) bool][@(64) `&_][@3 e][@(64) ,
|
|
][@(0.0.255) bool][@(64) `&_][@3 f][@(64) )]&]
|
|
[s2; Serializes a set of boolean values compressed into single byte.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) void][@(64) _]Pack[@(64) (][@(0.0.255) bool][@(64) `&_][@3 a][@(64) ,
|
|
][@(0.0.255) bool][@(64) `&_][@3 b][@(64) , ][@(0.0.255) bool][@(64) `&_][@3 c][@(64) ,
|
|
][@(0.0.255) bool][@(64) `&_][@3 d][@(64) , ][@(0.0.255) bool][@(64) `&_][@3 e][@(64) )]&]
|
|
[s2; Serializes a set of boolean values compressed into single byte.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) void][@(64) _]Pack[@(64) (][@(0.0.255) bool][@(64) `&_][@3 a][@(64) ,
|
|
][@(0.0.255) bool][@(64) `&_][@3 b][@(64) , ][@(0.0.255) bool][@(64) `&_][@3 c][@(64) ,
|
|
][@(0.0.255) bool][@(64) `&_][@3 d][@(64) )]&]
|
|
[s2; Serializes a set of boolean values compressed into single byte.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) void][@(64) _]Pack[@(64) (][@(0.0.255) bool][@(64) `&_][@3 a][@(64) ,
|
|
][@(0.0.255) bool][@(64) `&_][@3 b][@(64) , ][@(0.0.255) bool][@(64) `&_][@3 c][@(64) )]&]
|
|
[s2; Serializes a set of boolean values compressed into single byte.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) void][@(64) _]Pack[@(64) (][@(0.0.255) bool][@(64) `&_][@3 a][@(64) ,
|
|
][@(0.0.255) bool][@(64) `&_][@3 b][@(64) )]&]
|
|
[s2; Serializes a set of boolean values compressed into single byte.&]
|
|
[s0; &]
|
|
[s0;:`:`:Stream`:`:Stream`(`): [* Stream]()&]
|
|
[s2; Constructor. Sets stream into Loading serialization mode and
|
|
zero level indentation. All protected variables are set to 0
|
|
/ NULL.&]
|
|
[s0; &]
|
|
[s0;:`:`:Stream`:`:`~Stream`(`): `~[* Stream]()&]
|
|
[s2; Destructor.&]
|
|
[s0; &]
|
|
[s0; &]
|
|
[s0; &]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) class][@(64) _]StringStream[@(64) _:_][@(0.0.255) public][@(64) _][^`:`:Stream^@(64) S
|
|
tream]&]
|
|
[s0;* &]
|
|
[s2; StringStream is stream that uses String as storage medium.&]
|
|
[s2; &]
|
|
[s0;%- [%%/ Derived from][%% ][^topic`:`/`/Core`/src`/Stream`$en`-us`#`:`:Stream`:`:class Stream^ S
|
|
tream]&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) void][@(64) _]Open[@(64) (][@(0.0.255) const][@(64) _][^`:`:String^@(64) Stri
|
|
ng][@(64) `&_][@3 data][@(64) )]&]
|
|
[s2;%- Sets the content of stream to specified String and sets it
|
|
into the Loading serialization mode.&]
|
|
[s7; [%-*C@3 data]-|Content of stream.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) void][@(64) _]Create[@(64) ()]&]
|
|
[s2; Creates empty StringStream and sets it into Storing serialization
|
|
mode.&]
|
|
[s0; &]
|
|
[s5;K%- [^`:`:String^ String]_GetResult[@(64) ()]&]
|
|
[s2; Returns resulting String.&]
|
|
[s7; [*/ Return value]-|Result.&]
|
|
[s0; &]
|
|
[s5;K%- operator_String()&]
|
|
[s7; [*/ Return value]-|GetResult().&]
|
|
[s0; &]
|
|
[s0;:`:`:StringStream`:`:StringStream`(`):%- [* StringStream]()&]
|
|
[s2; Consructs empty stream and sets it into Storing serialization
|
|
mode (like [* Create]).&]
|
|
[s0; &]
|
|
[s0;:`:`:StringStream`:`:StringStream`(const`:`:String`&`):%- [* StringStream](const_St
|
|
ring`&_[*@3 data])&]
|
|
[s2; Constructs stream with specified content and sets it into Loading
|
|
serialization mode (like [* Open]).&]
|
|
[s7; [%-*C@3 data]-|Content of stream.&]
|
|
[s0; &]
|
|
[s0; &]
|
|
[s0; &]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) class][@(64) _]MemStream[@(64) _:_][@(0.0.255) public][@(64) _][^`:`:Stream^@(64) S
|
|
tream]&]
|
|
[s2; &]
|
|
[s2; Stream that is using raw memory as its content.&]
|
|
[s2; &]
|
|
[s0;%- [%%/ Derived from][%% ][^topic`:`/`/Core`/src`/Stream`$en`-us`#`:`:Stream`:`:class Stream^ S
|
|
tream]&]
|
|
[s0; &]
|
|
[s0;:`:`:MemStream`:`:MemStream`(void`*`,int`):%- [* MemStream](void_`*[*@3 data],
|
|
int_[*@3 size])&]
|
|
[s2; Constructs [* MemStream] at specified memory buffer.&]
|
|
[s7; [%-*C@3 data]-|Pointer to the stream content.&]
|
|
[s7; [%-*C@3 size]-|Size.&]
|
|
[s0; &]
|
|
[s0; &]
|
|
[s0; &]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) class][@(64) _]MemReadStream[@(64) _:_][@(0.0.255) public][@(64) _][^`:`:MemStream^@(64) M
|
|
emStream]&]
|
|
[s2; &]
|
|
[s2; Read`-only stream using raw memory as content.&]
|
|
[s2; &]
|
|
[s0;%- [%%/ Derived from][%% ][^topic`:`/`/Core`/src`/Stream`$en`-us`#`:`:MemStream`:`:class MemStream^ M
|
|
emStream]&]
|
|
[s0; &]
|
|
[s0;:`:`:MemReadStream`:`:MemReadStream`(const void`*`,int`):%- [* MemReadStream](const
|
|
_void_`*[*@3 data], int_[*@3 size])&]
|
|
[s2; Constructs [* MemStream] at specified memory buffer.&]
|
|
[s7; [%-*C@3 data]-|Pointer to the stream content.&]
|
|
[s7; [%-*C@3 size]-|Size.&]
|
|
[s0; &]
|
|
[s0; &]
|
|
[s0; &]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) class][@(64) _]BlockStream[@(64) _:_][@(0.0.255) public][@(64) _][^`:`:Stream^@(64) S
|
|
tream]&]
|
|
[s2; &]
|
|
[s2; BlockStream implements operations needed to manage streams that
|
|
are able to read or write a block of data at random positon.
|
|
BlockStream provides buffered implementation of such stream.
|
|
It implements all virtual methods of Stream, with exception of
|
|
[* IsOpen] and [* Close], using new virtual methods [* Read], [* Write]
|
|
and [* SetStreamSize].&]
|
|
[s2; &]
|
|
[s0;%- [%%/ Derived from][%% ][^topic`:`/`/Core`/src`/Stream`$en`-us`#`:`:BufferStream`:`:class BufferStream^ B
|
|
ufferStream]&]
|
|
[s0; &]
|
|
[s0;%- enum_`{_[*@3 READ], [*@3 CREATE], [*@3 APPEND], [*@3 READWRITE], [*@3 NOWRITESHARE],
|
|
[*@3 DELETESHARE], [*@3 NOREADSHARE], [*@3 SHAREMASK]_`}&]
|
|
[s2; This enum defines basic operation modes of BlockStream (used
|
|
combined with binary or).&]
|
|
[s7;:`:`:BlockStream`:`:READ: [%-*C@3 READ]-|Read mode.&]
|
|
[s7;:`:`:BlockStream`:`:CREATE: [%-*C@3 CREATE]-|Write mode.&]
|
|
[s7;:`:`:BlockStream`:`:APPEND: [%-*C@3 APPEND]-|Append mode `- means
|
|
that initial position in the stream is at the end of it.&]
|
|
[s7;:`:`:BlockStream`:`:READWRITE: [%-*C@3 READWRITE]-|Enables subsequent
|
|
streams full access to stream.&]
|
|
[s7;:`:`:BlockStream`:`:NOWRITESHARE: [%-*C@3 NOWRITESHARE]-|Disables
|
|
subsequent streams to write to the stream.&]
|
|
[s7;:`:`:BlockStream`:`:DELETESHARE: [%-*C@3 DELETESHARE]-|Enables subsequent
|
|
streams to delete the stream.&]
|
|
[s7;:`:`:BlockStream`:`:NOREADSHARE: [%-*C@3 NOREADSHARE]-|Disables
|
|
subsequent streams to read the stream.&]
|
|
[s0; &]
|
|
[s5;K%- virtual [^`:`:dword^ dword]_Read[@(64) (][^`:`:int64^@(64) int64][@(64) _][@3 at][@(64) ,
|
|
][@(0.0.255) void][@(64) _`*][@3 ptr][@(64) , ][^`:`:dword^@(64) dword][@(64) _][@3 size][@(64) )
|
|
]&]
|
|
[s0;%- Protected.&]
|
|
[s2; Implementation of this virtual method in derived class should
|
|
read a block of data at specified position in media.&]
|
|
[s7; [%-*C@3 at]-|Position in media.&]
|
|
[s7; [%-*C@3 ptr]-|Pointer to buffer to receive data.&]
|
|
[s7; [%-*C@3 size]-|Requested size of data.&]
|
|
[s7; [*/ Return value]-|Size of data read.&]
|
|
[s0; &]
|
|
[s5;K%- virtual [@(0.0.255) void][@(64) _]Write[@(64) (][^`:`:int64^@(64) int64][@(64) _][@3 at][@(64) ,
|
|
][@(0.0.255) const][@(64) _][@(0.0.255) void][@(64) _`*][@3 data][@(64) ,
|
|
][^`:`:dword^@(64) dword][@(64) _][@3 size][@(64) )]&]
|
|
[s0; Protected.&]
|
|
[s2; Implementation of this virtual method in derived method should
|
|
write a block of data at specified position in media.&]
|
|
[s7; [%-*C@3 at]-|Position in media.&]
|
|
[s7; [%-*C@3 data]-|Pointer to data.&]
|
|
[s7; [%-*C@3 size]-|Size of data.&]
|
|
[s0; &]
|
|
[s5;K%- virtual [@(0.0.255) void][@(64) _]SetStreamSize[@(64) (][^`:`:int64^@(64) int64][@(64) _
|
|
][@3 size][@(64) )]&]
|
|
[s0; Protected.&]
|
|
[s2; Implementation of this virtual method in derived class should
|
|
adjust the size of media.&]
|
|
[s7; [%-*C@3 size]-|Requested new size of media.&]
|
|
[s0; &]
|
|
[s5;K%- [^`:`:int64^ int64]_GetStreamSize[@(64) ()_][@(0.0.255) const]&]
|
|
[s0; Protected.&]
|
|
[s2; Returns current media size. Note that this might be different
|
|
from current GetSize() `- media size adjustment can be deffered
|
|
to flushing the buffer.&]
|
|
[s7; [*/ Return value]-|Current media size.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) void][@(64) _]OpenInit[@(64) (][^`:`:dword^@(64) dword][@(64) _][@3 mode][@(64) ,
|
|
][^`:`:int64^@(64) int64][@(64) _][@3 file`_size][@(64) )]&]
|
|
[s0; Protected.&]
|
|
[s2; Initializes the BlockStream to specified mode and actual media
|
|
size.&]
|
|
[s7; [%-*C@3 mode]-|Mode.&]
|
|
[s7; [%-*C@3 file`_size]-|Actual media size.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) void][@(64) _]SetBufferSize[@(64) (][^`:`:dword^@(64) dword][@(64) _][@3 news
|
|
ize][@(64) )]&]
|
|
[s2; Sets a new size of internal buffer.&]
|
|
[s7; [%-*C@3 newsize]-|The new size of buffer.&]
|
|
[s0; &]
|
|
[s5;K%- [^`:`:dword^ dword]_GetBufferSize[@(64) ()_][@(0.0.255) const]&]
|
|
[s7; [*/ Return value]-|Size of buffer.&]
|
|
[s0; &]
|
|
[s0; &]
|
|
[s0; &]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) class][@(64) _]FileStream[@(64) _:_][@(0.0.255) public][@(64) _][^`:`:BlockStream^@(64) B
|
|
lockStream]&]
|
|
[s2; &]
|
|
[s2; Classical file stream.&]
|
|
[s2; &]
|
|
[s0;%- [%%/ Derived from][%% ][^topic`:`/`/Core`/src`/Stream`$en`-us`#`:`:BlockStream`:`:class BlockStream^ B
|
|
lockStream]&]
|
|
[s0; &]
|
|
[s0;:`:`:FileStream`:`:FileStream`(const char`*`,`:`:dword`):%- [* FileStream](const_ch
|
|
ar_`*[*@3 filename], dword_[*@3 mode])&]
|
|
[s2; Opens file stream in specified mode (as defined in BlockStream).&]
|
|
[s7; [%-*C@3 filename]-|The name of the file.&]
|
|
[s7; [%-*C@3 mode]-|Open mode.&]
|
|
[s0; &]
|
|
[s0;:`:`:FileStream`:`:FileStream`(const char`*`,`:`:dword`,mode`_t`):%- [* FileStream](
|
|
const_char_`*[*@3 filename], dword_[*@3 mode], mode`_t_[*@3 acm]_`=_[@3 0644])&]
|
|
[s0;%- Posix specific.&]
|
|
[s2; Opens file stream in specified mode (as defined in BlockStream)
|
|
and specific POSIX access rights.&]
|
|
[s7; [%-*C@3 filename]-|The name of the file.&]
|
|
[s7; [%-*C@3 mode]-|Open mode.&]
|
|
[s7; [%-*C@3 acm]-|Access rights.&]
|
|
[s0; &]
|
|
[s0;:`:`:FileStream`:`:FileStream`(int`):%- [* FileStream](int_[*@3 std`_handle])&]
|
|
[s0; Posix specific.&]
|
|
[s2; Assigns existing file handle to FileStream.&]
|
|
[s7; [%-*C@3 std`_handle]-|File handle of open file. FileStream takes
|
|
ownership of this handle.&]
|
|
[s0; &]
|
|
[s0;:`:`:FileStream`:`:FileStream`(`):%- [* FileStream]()&]
|
|
[s2; Creates empty unopened FileStream.&]
|
|
[s0; &]
|
|
[s5;K%- operator_[@(0.0.255) bool][@(64) ()_][@(0.0.255) const]&]
|
|
[s7; [*/ Return value]-|True if stream is open.&]
|
|
[s0; &]
|
|
[s5;K%- [^`:`:FileTime^ FileTime]_GetTime[@(64) ()_][@(0.0.255) const]&]
|
|
[s2; Returns last`-write time of stream.&]
|
|
[s7; [*/ Return value]-|Time.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) void][@(64) _]SetTime[@(64) (][@(0.0.255) const][@(64) _][^`:`:FileTime^@(64) F
|
|
ileTime][@(64) `&_][@3 tm][@(64) )]&]
|
|
[s2; Opens file stream in specified mode (as defined in BlockStream).&]
|
|
[s7; [%-*C@3 filename]-|The name of the file.&]
|
|
[s2; [%-*C@3 mode]-|Open mode.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) bool][@(64) _]Open[@(64) (][@(0.0.255) const][@(64) _][@(0.0.255) char][@(64) _
|
|
`*][@3 filename][@(64) , ][^`:`:dword^@(64) dword][@(64) _][@3 mode][@(64) ,
|
|
][^mode`_t^@(64) mode`_t][@(64) _][@3 acm][@(64) _`=_][@3 0644][@(64) )]&]
|
|
[s0;%- Posix specific.&]
|
|
[s2; Opens file stream in specified mode (as defined in BlockStream)
|
|
and specific POSIX access rights.&]
|
|
[s7; [%-*C@3 filename]-|The name of the file.&]
|
|
[s7; [%-*C@3 mode]-|Open mode.&]
|
|
[s2; [%-*C@3 acm]-|Access rights.&]
|
|
[s0; &]
|
|
[s5;K%- [^HANDLE^ HANDLE]_GetHandle[@(64) ()_][@(0.0.255) const]&]
|
|
[s0; Win32 specific.&]
|
|
[s7; [*/ Return value]-|File handle.&]
|
|
[s0; &]
|
|
[s5;K%- [^HANDLE^ HANDLE]_GetHandle[@(64) ()_][@(0.0.255) const]&]
|
|
[s0; Posix specific.&]
|
|
[s7; [*/ Return value]-|File handle.&]
|
|
[s0; &]
|
|
[s0; &]
|
|
[s0; &]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) class][@(64) _]FileIn[@(64) _:_][@(0.0.255) public][@(64) _][^`:`:FileStream^@(64) F
|
|
ileStream]&]
|
|
[s2; &]
|
|
[s2; Simple helper class that represents FileStream in read mode.&]
|
|
[s2; &]
|
|
[s0;%- [%%/ Derived from][%% ][^topic`:`/`/Core`/src`/Stream`$en`-us`#`:`:FileStream`:`:class FileStream^ F
|
|
ileStream]&]
|
|
[s0; &]
|
|
[s0;:`:`:FileIn`:`:FileIn`(const char`*`):%- [* FileIn](const_char_`*[*@3 fn])&]
|
|
[s2; Opens file for reading.&]
|
|
[s7; [%-*C@3 fn]-|File name.&]
|
|
[s0; &]
|
|
[s0;:`:`:FileIn`:`:FileIn`(`):%- [* FileIn]()&]
|
|
[s2; Constructs empty FileStream.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) bool][@(64) _]Open[@(64) (][@(0.0.255) const][@(64) _][@(0.0.255) char][@(64) _
|
|
`*][@3 fn][@(64) )]&]
|
|
[s2; Opens file for reading.&]
|
|
[s7; [%-*C@3 fn]-|File name.&]
|
|
[s7; [*/ Return value]-|True if open was successful.&]
|
|
[s0; &]
|
|
[s0; &]
|
|
[s0; &]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) class][@(64) _]FileOut[@(64) _:_][@(0.0.255) public][@(64) _][^`:`:FileStream^@(64) F
|
|
ileStream]&]
|
|
[s2; &]
|
|
[s2; Simple helper class that represents FileStream in write mode.&]
|
|
[s2; &]
|
|
[s0;%- [%%/ Derived from][%% ][^topic`:`/`/Core`/src`/Stream`$en`-us`#`:`:FileStream`:`:class FileStream^ F
|
|
ileStream]&]
|
|
[s0; &]
|
|
[s0;:`:`:FileOut`:`:FileOut`(const char`*`):%- [* FileOut](const_char_`*[*@3 fn])&]
|
|
[s2; Opens file for writing.&]
|
|
[s7; [%-*C@3 fn]-|File name.&]
|
|
[s0; &]
|
|
[s0;:`:`:FileOut`:`:FileOut`(`):%- [* FileOut]()&]
|
|
[s2;%- Constructs non`-opened FileStream.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) bool][@(64) _]Open[@(64) (][@(0.0.255) const][@(64) _][@(0.0.255) char][@(64) _
|
|
`*][@3 fn][@(64) , ][^mode`_t^@(64) mode`_t][@(64) _][@3 acm][@(64) _`=_][@3 0644][@(64) )]&]
|
|
[s2; Opens file for writing.&]
|
|
[s7; [%-*C@3 fn]-|File name.&]
|
|
[s7; [*/ Return value]-|True if open was successful.&]
|
|
[s0; &]
|
|
[s0; &]
|
|
[s0; &]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) class][@(64) _]FileAppend[@(64) _:_][@(0.0.255) public][@(64) _][^`:`:FileStream^@(64) F
|
|
ileStream]&]
|
|
[s2; &]
|
|
[s2; Simple helper class that represents FileStream in append mode
|
|
`- that in fact means in write mode with current position at
|
|
the end of the file.&]
|
|
[s2; &]
|
|
[s0;%- [%%/ Derived from][%% ]FileStream&]
|
|
[s0; &]
|
|
[s0;:`:`:FileAppend`:`:FileAppend`(const char`*`):%- [* FileAppend](const_char_`*[*@3 fn])
|
|
&]
|
|
[s2; Opens file in append mode.&]
|
|
[s7; [%-*C@3 fn]-|File name.&]
|
|
[s0; &]
|
|
[s0;:`:`:FileAppend`:`:FileAppend`(`):%- [* FileAppend]()&]
|
|
[s2; Constructs empty FileStream.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) bool][@(64) _]Open[@(64) (][@(0.0.255) const][@(64) _][@(0.0.255) char][@(64) _
|
|
`*][@3 fn][@(64) )]&]
|
|
[s2; Opens file in append mode.&]
|
|
[s7; [%-*C@3 fn]-|File name.&]
|
|
[s7; [*/ Return value]-|true when Open was successful.&]
|
|
[s0; &]
|
|
[s0; &]
|
|
[s0; &]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) class][@(64) _]SizeStream[@(64) _:_][@(0.0.255) public][@(64) _][^`:`:Stream^@(64) S
|
|
tream]&]
|
|
[s2; &]
|
|
[s2; Special output stream that in fact does not store output data,
|
|
only counts the total number of bytes written.&]
|
|
[s2; &]
|
|
[s0;%- [%%/ Derived from][%% ][^topic`:`/`/Core`/src`/Stream`$en`-us`#`:`:BufferStream`:`:class BufferStream^ B
|
|
ufferStream]&]
|
|
[s0; &]
|
|
[s0;:`:`:SizeStream`:`:SizeStream`(`):%- [* SizeStream]()&]
|
|
[s2; Constructor `- co&]
|
|
[s0; &]
|
|
[s5;K%- virtual [@(0.0.255) void][@(64) _]`_Put[@(64) (][@(0.0.255) int][@(64) _][@3 w][@(64) )]&]
|
|
[s7; [*/ Return value]-|Current number of bytes written.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) void][@(64) _]Open[@(64) ()]&]
|
|
[s2; Reopens data `- resets the counter of output bytes.&]
|
|
[s0; &]
|
|
[s0; &]
|
|
[s0; &]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) class][@(64) _]CompareStream[@(64) _:_][@(0.0.255) public][@(64) _][^`:`:Stream^@(64) S
|
|
tream]&]
|
|
[s2; &]
|
|
[s2; Special output stream that instead of storing data performs
|
|
their comparison to the data of another stream.&]
|
|
[s2; &]
|
|
[s0;%- [%%/ Derived from][%% ][^topic`:`/`/Core`/src`/Stream`$en`-us`#`:`:BufferStream`:`:class BufferStream^ B
|
|
ufferStream]&]
|
|
[s0; &]
|
|
[s0;:`:`:CompareStream`:`:CompareStream`(`):%- [* CompareStream]()&]
|
|
[s2; Constructs closed CompareStream.&]
|
|
[s0; &]
|
|
[s0;:`:`:CompareStream`:`:CompareStream`(`:`:Stream`&`):%- [* CompareStream](Stream`&_[*@3 a
|
|
Stream])&]
|
|
[s2; Constructors CompareStream opened for comparison with specified
|
|
stream.&]
|
|
[s7; [%-*C@3 aStream]-|Stream to compare with.&]
|
|
[s0; &]
|
|
[s5;K%- virtual [@(0.0.255) void][@(64) _]`_Put[@(64) (][@(0.0.255) int][@(64) _][@3 w][@(64) )]&]
|
|
[s2; Opens CompareStream for comparison with the specified stream.&]
|
|
[s7; [%-*C@3 aStream]-|Stream to compare with.&]
|
|
[s0; &]
|
|
[s5;K%- [@(0.0.255) bool][@(64) _]IsEqual[@(64) ()]&]
|
|
[s7; [*/ Return value]-|true if all bytes written so far match those
|
|
in comparison stream.&]
|
|
[s0; &]
|
|
[s5;K%- operator_[@(0.0.255) bool][@(64) ()]&]
|
|
[s7; [*/ Return value]-|IsEqual().&]
|
|
[s0; ] |