mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-05-21 06:45:39 -06:00
1208 lines
No EOL
54 KiB
C++
1208 lines
No EOL
54 KiB
C++
topic "Streams";[2 $$0,0#00000000000000000000000000000000:Default]
|
|
[i448;a25;kKO9;*@(64)2 $$1,0#37138531426314131252341829483380:class]
|
|
[l288;2 $$2,0#27521748481378242620020725143825:desc]
|
|
[a83;*R6 $$3,0#31310162474203024125188417583966:caption]
|
|
[l288;i1121;b17;O9;~~~.1408;2 $$4,0#10431211400427159095818037425705:param]
|
|
[i448;a25;kKO9;*@(64)2 $$5,0#37138531426314131252341829483370:item]
|
|
[*+117 $$6,6#14700283458701402223321329925657:header]
|
|
[l288;a17;*1 $$7,7#70004532496200323422659154056402:requirement]
|
|
[{_}%EN-US
|
|
[s3; 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;1 ]
|
|
:: [s0;1 ]
|
|
:: [s0;1 ]
|
|
:: [s0;1 ]
|
|
:: [s0;1 ]
|
|
:: [s0;1 ]
|
|
:: [s0;1 ]
|
|
:: [s0;1 ]
|
|
::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;1 ]
|
|
:: [s0;1 ]
|
|
:: [s0;1 ]
|
|
:: [s0;1 ]
|
|
:: [s0;1 ]
|
|
:: [s0;1 ]
|
|
:: [s0;1 ]
|
|
::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;1 ]
|
|
:: [s0;1 ]
|
|
:: [s0;1 ]
|
|
:: [s0;1 ]
|
|
:: [s0;1 ]
|
|
:: [s0;1 ]
|
|
:: [s0;1 ]
|
|
:: [s0;1 ]
|
|
::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;1 ]
|
|
:: [s0;1 ]
|
|
:: [s0;1 ]
|
|
:: [s0;1 ]
|
|
:: [s0;1 ]
|
|
:: [s0;1 ]
|
|
::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;1 ]
|
|
:: [s0;1 ]
|
|
:: [s0;1 ]
|
|
:: [s0;1 ]
|
|
:: [s0;1 ]
|
|
:: [s0;1 ]
|
|
:: [s0;1 ]
|
|
:: [s0;1 ]
|
|
::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;1 ]
|
|
:: [s0;1 ]
|
|
:: [s0;1 ]
|
|
:: [s0;1 ]
|
|
:: [s0;1 ]
|
|
:: [s0;1 ]
|
|
:: [s0;1 ]
|
|
:: [s0;1 ]
|
|
::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;1 ]
|
|
:: [s0;1 ]
|
|
:: [s0;1 ]
|
|
:: [s0;1 ]
|
|
:: [s0;1 ]
|
|
:: [s0;1 ]
|
|
:: [s0;1 ]
|
|
:: [s0;1 ]
|
|
::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;1 ]
|
|
:: [s0;1 ]
|
|
:: [s0;1 ]
|
|
:: [s0;1 ]
|
|
:: [s0;1 ]
|
|
:: [s0;1 ]
|
|
:: [s0;1 ]
|
|
::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;1 ]
|
|
:: [s0;1 ]
|
|
:: [s0;1 ]
|
|
:: [s0;1 ]
|
|
:: [s0;1 ]
|
|
:: [s0;1 ]
|
|
:: [s0;1 ]
|
|
::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;1 ]
|
|
:: [s0;1 ]
|
|
:: [s0;1 ]
|
|
:: [s0;1 ]
|
|
:: [s0;1 ]
|
|
::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;1 ]
|
|
:: [s0;1 ]
|
|
:: [s0;1 ]
|
|
:: [s0;1 ]
|
|
:: [s0;1 ]
|
|
:: [s0;1 ]
|
|
:: [s0;1 ]
|
|
::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;1 ]
|
|
:: [s0;1 ]
|
|
:: [s0;1 ]
|
|
:: [s0;1 ]
|
|
:: [s0;1 ]}}&]
|
|
[s0; &]
|
|
[s0;3 &]
|
|
[s5;K@0 [%00-00@(0.0.255) class][%00-00@(64) _][%00-00 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;3 &]
|
|
[s0; [%00-00 Protected members for Stream implementation]&]
|
|
[s0; &]
|
|
[s5;K@0 [%00-00^`:`:int64^@(64) int64][%00-00@(64) _][%00-00 pos]&]
|
|
[s0; [%00-00 Protected.]&]
|
|
[s2; Position of buffer in the stream.&]
|
|
[s0;3 &]
|
|
[s5;K@0 [%00-00^`:`:byte^@(64) byte][%00-00@(64) _`*][%00-00 buffer]&]
|
|
[s0; Protected.&]
|
|
[s2; Pointer to beginning of buffer.&]
|
|
[s0;3 &]
|
|
[s5;K@0 [%00-00^`:`:byte^@(64) byte][%00-00@(64) _`*][%00-00 ptr]&]
|
|
[s0; Protected.&]
|
|
[s2; Pointer to current input/output byte.&]
|
|
[s0;3 &]
|
|
[s5;K@0 [%00-00^`:`:byte^@(64) byte][%00-00@(64) _`*][%00-00 rdlim]&]
|
|
[s0; Protected.&]
|
|
[s2; Read limit. [* Get] method returns values from buffer as long
|
|
as [* ptr < rdlim].&]
|
|
[s0;3 &]
|
|
[s5;K@0 [%00-00^`:`:byte^@(64) byte][%00-00@(64) _`*][%00-00 wrlim]&]
|
|
[s0; Protected.&]
|
|
[s2; Write limit. [* Put] method returns values from buffer as long
|
|
as [* ptr < wrlim].&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00 virtual ][%00-00@(0.0.255) void][%00-00 _][%00-00@0 `_Put][%00-00 (][%00-00@(0.0.255) i
|
|
nt][%00-00 _][%00-00@3 w][%00-00 )]&]
|
|
[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].&]
|
|
[s4; [%00-00*C@3 w]-|Byte to store.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00 virtual ][%00-00@(0.0.255) int][%00-00 _][%00-00@0 `_Term][%00-00 ()]&]
|
|
[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].&]
|
|
[s4; [*/ Return value]-|Value at current position in the stream. Current
|
|
position is not advanced.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00 virtual ][%00-00@(0.0.255) int][%00-00 _][%00-00@0 `_Get][%00-00 ()]&]
|
|
[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].&]
|
|
[s4; [*/ Return value]-|Value read from the stream.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00 virtual ][%00-00@(0.0.255) void][%00-00 _][%00-00@0 `_Put][%00-00 (][%00-00@(0.0.255) c
|
|
onst][%00-00 _][%00-00@(0.0.255) void][%00-00 _`*][%00-00@3 data][%00-00 ,
|
|
][%00-00^`:`:dword^ dword][%00-00 _][%00-00@3 size][%00-00 )]&]
|
|
[s2; Directly called by [* Put] method. Writes a block of binary data.&]
|
|
[s4; [%00-00*C@3 data]-|Pointer to data.&]
|
|
[s4; [%00-00*C@3 size]-|Size.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00 virtual ][%00-00^`:`:dword^ dword][%00-00 _][%00-00@0 `_Get][%00-00 (][%00-00@(0.0.255) v
|
|
oid][%00-00 _`*][%00-00@3 data][%00-00 , ][%00-00^`:`:dword^ dword][%00-00 _][%00-00@3 size][%00-00 )
|
|
]&]
|
|
[s2; Directly called by [* Get] method. &]
|
|
[s4; [%00-00*C@3 data]-|&]
|
|
[s4; [%00-00*C@3 size]-|&]
|
|
[s4; [*/ Return value]-|&]
|
|
[s2; &]
|
|
[s0; Raw stream&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00 virtual ][%00-00@(0.0.255) void][%00-00 _][%00-00@0 Seek][%00-00 (][%00-00^`:`:int64^ i
|
|
nt64][%00-00 _][%00-00@3 pos][%00-00 )]&]
|
|
[s2; Seeks to given position.&]
|
|
[s4; [%00-00*C@3 pos]-|Position.&]
|
|
[s0;3 &]
|
|
[s5;K@(0.0.255) [%00-00@(64) virtual ][%00-00^`:`:int64^@(64) int64][%00-00@(64) _][%00-00@0 G
|
|
etSize][%00-00@(64) ()_][%00-00 const]&]
|
|
[s4; [*/ Return value]-|Size of stream.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00 virtual ][%00-00@(0.0.255) void][%00-00 _][%00-00@0 SetSize][%00-00 (][%00-00^`:`:int64^ i
|
|
nt64][%00-00 _][%00-00@3 size][%00-00 )]&]
|
|
[s2; Alters the size of the stream.&]
|
|
[s4; [%00-00*C@3 size]-|New size.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00 virtual ][%00-00@(0.0.255) void][%00-00 _][%00-00@0 Flush][%00-00 ()]&]
|
|
[s2; If stream has any internal buffers (like FileStream), writes
|
|
these bufers to OS.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00 virtual ][%00-00@(0.0.255) void][%00-00 _][%00-00@0 Close][%00-00 ()]&]
|
|
[s2; Closes stream.&]
|
|
[s0;3 &]
|
|
[s5;K@3 [%00-00@(64) virtual ][%00-00@(0.0.255) bool][%00-00@(64) _][%00-00@0 IsOpen][%00-00@(64) (
|
|
)_][%00-00@(0.0.255) const][%00-00@(64) _`=_][%00-00 0]&]
|
|
[s4; [*/ Return value]-|true if stream is open.&]
|
|
[s0;3 &]
|
|
[s5;K@(0.0.255) [%00-00 bool][%00-00@(64) _][%00-00@0 IsError][%00-00@(64) ()_][%00-00 const]&]
|
|
[s4; [*/ Return value]-|true if error was encountered during stream
|
|
operations since opening it or last ClearError call `- error
|
|
code is non`-zero.&]
|
|
[s0;3 &]
|
|
[s5;K@(0.0.255) [%00-00 bool][%00-00@(64) _][%00-00@0 IsOK][%00-00@(64) ()_][%00-00 const]&]
|
|
[s4; [*/ Return value]-|!IsError().&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 SetError][%00-00 (][%00-00@(0.0.255) int][%00-00 _
|
|
][%00-00@3 c][%00-00 _`=_][%00-00@3 0][%00-00 )]&]
|
|
[s2; Sets stream error code.&]
|
|
[s4; [%00-00*C@3 c]-|Error code.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 SetLastError][%00-00 ()]&]
|
|
[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;3 &]
|
|
[s5;K@(0.0.255) [%00-00 int][%00-00@(64) _][%00-00@0 GetError][%00-00@(64) ()_][%00-00 const]&]
|
|
[s4; [*/ Return value]-|Current error`-code. Zero indicates no error.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 ClearError][%00-00 ()]&]
|
|
[s2; Clears error code.&]
|
|
[s0;3 &]
|
|
[s5;K@(0.0.255) [%00-00^`:`:int64^@(64) int64][%00-00@(64) _][%00-00@0 GetPos][%00-00@(64) ()
|
|
_][%00-00 const]&]
|
|
[s4; [*/ Return value]-|Current position in the stream.&]
|
|
[s0;3 &]
|
|
[s5;K@(0.0.255) [%00-00 bool][%00-00@(64) _][%00-00@0 IsEof][%00-00@(64) ()_][%00-00 const]&]
|
|
[s4; [*/ Return value]-|There are no more byte to be read from the stream.
|
|
Is also true in case of error.&]
|
|
[s0;3 &]
|
|
[s5;K@(0.0.255) [%00-00^`:`:int64^@(64) int64][%00-00@(64) _][%00-00@0 GetLeft][%00-00@(64) (
|
|
)_][%00-00 const]&]
|
|
[s4; [*/ Return value]-|Bytes between current position and the end of
|
|
stream `- equivalent to GetSize() `- GetPos().&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 SeekEnd][%00-00 (][%00-00^`:`:int64^ int64][%00-00 _
|
|
][%00-00@3 rel][%00-00 _`=_][%00-00@3 0][%00-00 )]&]
|
|
[s2; Sets current position in the stream relative to the end of stream.
|
|
Same as Seek(GetSize() `+ rel).&]
|
|
[s4; [%00-00*C@3 rel]-|Position `- should be less or equal to zero.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 SeekCur][%00-00 (][%00-00^`:`:int64^ int64][%00-00 _
|
|
][%00-00@3 rel][%00-00 )]&]
|
|
[s2; Sets current position in the stream relative to the current
|
|
position. Same as Seek(GetPos() `+ rel).&]
|
|
[s4; [%00-00*C@3 rel]-|Relative offset.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Put][%00-00 (][%00-00@(0.0.255) int][%00-00 _][%00-00@3 c
|
|
][%00-00 )]&]
|
|
[s2; Puts single byte into the output stream.&]
|
|
[s4; [%00-00*C@3 c]-|Byte.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) int][%00-00 _][%00-00@0 Term][%00-00 ()]&]
|
|
[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.&]
|
|
[s4; [*/ Return value]-|Byte at current position in the stream.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) int][%00-00 _][%00-00@0 Get][%00-00 ()]&]
|
|
[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.&]
|
|
[s4; [*/ Return value]-|Byte read from input stream.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Put][%00-00 (][%00-00@(0.0.255) const][%00-00 _][%00-00@(0.0.255) v
|
|
oid][%00-00 _`*][%00-00@3 data][%00-00 , ][%00-00^`:`:dword^ dword][%00-00 _][%00-00@3 size][%00-00 )
|
|
]&]
|
|
[s2; Writes a block of raw binary data to the output stream.&]
|
|
[s4; [%00-00*C@3 data]-|Pointer to data.&]
|
|
[s4; [%00-00*C@3 size]-|Number of bytes to write.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00^`:`:dword^ dword][%00-00 _][%00-00@0 Get][%00-00 (][%00-00@(0.0.255) void][%00-00 _
|
|
`*][%00-00@3 data][%00-00 , ][%00-00^`:`:dword^ dword][%00-00 _][%00-00@3 size][%00-00 )]&]
|
|
[s2; Reads a block of raw binary data from the input stream.&]
|
|
[s4; [%00-00*C@3 data]-|Pointer to buffer to receive the data.&]
|
|
[s4; [%00-00*C@3 size]-|Number of bytes to read.&]
|
|
[s4; [*/ Return value]-|Number of bytes actually read (lower or equal
|
|
to the requested [*@3 size]).&]
|
|
[s0;3 &]
|
|
[s5;K:`:`:Stream`:`:Get`(`:`:dword`): [%00-00^`:`:String^ String][%00-00 _][%00-00@0 Get][%00-00 (
|
|
][%00-00^`:`:dword^ dword][%00-00 _][%00-00@3 size][%00-00 )]&]
|
|
[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 [%00-00@(0.0.255) void][%00-00 _][%00-00@0 LoadThrowing][%00-00 ()]&]
|
|
[s2; Sets stream into the mode that throws LoadingError exception
|
|
when LoadError is invoked. This mode is typical for serialization
|
|
usage of stream.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 LoadError][%00-00 ()]&]
|
|
[s2; Performs SetError(ERROR`_LOADING`_FAILED). If Stream set to
|
|
the LoadThrowing mode (by LoadThrowing() method), LoadingError
|
|
exception is thrown.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) bool][%00-00 _][%00-00@0 GetAll][%00-00 (][%00-00@(0.0.255) void][%00-00 _
|
|
`*][%00-00@3 data][%00-00 , ][%00-00^`:`:dword^ dword][%00-00 _][%00-00@3 size][%00-00 )]&]
|
|
[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).&]
|
|
[s4; [%00-00*C@3 data]-|Pointer to buffer to receive the data.&]
|
|
[s4; [%00-00*C@3 size]-|Number of bytes to read.&]
|
|
[s4; [*/ Return value]-|true if required number of bytes was read.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) int][%00-00 _][%00-00@0 Get8][%00-00 ()]&]
|
|
[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.&]
|
|
[s4; [*/ Return value]-|Byte from stream or `-1.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) int][%00-00 _][%00-00@0 Get16][%00-00 ()]&]
|
|
[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).&]
|
|
[s4; [*/ Return value]-|16`-bit value.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) int][%00-00 _][%00-00@0 Get32][%00-00 ()]&]
|
|
[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).&]
|
|
[s4; [*/ Return value]-|32`-bit value.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00^`:`:int64^ int64][%00-00 _][%00-00@0 Get64][%00-00 ()]&]
|
|
[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).&]
|
|
[s4; [*/ Return value]-|64`-bit value.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) int][%00-00 _][%00-00@0 Get16le][%00-00 ()]&]
|
|
[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).&]
|
|
[s4; [*/ Return value]-|16`-bit value.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) int][%00-00 _][%00-00@0 Get32le][%00-00 ()]&]
|
|
[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).&]
|
|
[s4; [*/ Return value]-|32`-bit value.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00^`:`:int64^ int64][%00-00 _][%00-00@0 Get64le][%00-00 ()]&]
|
|
[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).&]
|
|
[s4; [*/ Return value]-|64`-bit value.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) int][%00-00 _][%00-00@0 Get16be][%00-00 ()]&]
|
|
[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).&]
|
|
[s4; [*/ Return value]-|16`-bit value.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) int][%00-00 _][%00-00@0 Get32be][%00-00 ()]&]
|
|
[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).&]
|
|
[s4; [*/ Return value]-|32`-bit value.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00^`:`:int64^ int64][%00-00 _][%00-00@0 Get64be][%00-00 ()]&]
|
|
[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).&]
|
|
[s4; [*/ Return value]-|64`-bit value.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00^`:`:String^ String][%00-00 _][%00-00@0 GetLine][%00-00 ()]&]
|
|
[s2; Reads single line from the stream. Line is delimited by `'`\n`'
|
|
character or the end of file (or error). `'`\r`' characters are
|
|
ignored.&]
|
|
[s4; [*/ Return value]-|Line from the stream.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) int][%00-00 _][%00-00@0 GetUtf8][%00-00 ()]&]
|
|
[s2; Reads single utf`-8 encoded value from the stream.&]
|
|
[s4; [*/ Return value]-|Utf`-8 value.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Put16][%00-00 (][%00-00^word^ word][%00-00 _][%00-00@3 q
|
|
][%00-00 )]&]
|
|
[s2; Writes 16`-bit value in platform specific format (either little`-endian
|
|
or big`-endian).&]
|
|
[s4; [%00-00*C@3 q]-|Value to write.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Put32][%00-00 (][%00-00@(0.0.255) int][%00-00 _][%00-00@3 q
|
|
][%00-00 )]&]
|
|
[s2; Writes 32`-bit value in platform specific format (either little`-endian
|
|
or big`-endian).&]
|
|
[s4; [%00-00*C@3 q]-|Value to write.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Put64][%00-00 (][%00-00^`:`:int64^ int64][%00-00 _
|
|
][%00-00@3 q][%00-00 )]&]
|
|
[s2; Writes 64`-bit value in platform specific format (either little`-endian
|
|
or big`-endian).&]
|
|
[s4; [%00-00*C@3 q]-|Value to write.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Put16le][%00-00 (][%00-00^word^ word][%00-00 _][%00-00@3 q
|
|
][%00-00 )]&]
|
|
[s2; Writes 16`-bit value in little`-endian mode.&]
|
|
[s4; [%00-00*C@3 q]-|Value to write.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Put32le][%00-00 (][%00-00@(0.0.255) int][%00-00 _
|
|
][%00-00@3 q][%00-00 )]&]
|
|
[s2; Writes 32`-bit value in little`-endian mode.&]
|
|
[s4; [%00-00*C@3 q]-|Value to write.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Put64le][%00-00 (][%00-00^`:`:int64^ int64][%00-00 _
|
|
][%00-00@3 q][%00-00 )]&]
|
|
[s2; Writes 64`-bit value in little`-endian mode.&]
|
|
[s4; [%00-00*C@3 q]-|Value to write.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Put16be][%00-00 (][%00-00^word^ word][%00-00 _][%00-00@3 q
|
|
][%00-00 )]&]
|
|
[s2; Writes 16`-bit value in big`-endian mode.&]
|
|
[s4; [%00-00*C@3 q]-|Value to write.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Put32be][%00-00 (][%00-00@(0.0.255) int][%00-00 _
|
|
][%00-00@3 q][%00-00 )]&]
|
|
[s2; Writes 32`-bit value in big`-endian mode.&]
|
|
[s4; [%00-00*C@3 q]-|Value to write.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Put64be][%00-00 (][%00-00^`:`:int64^ int64][%00-00 _
|
|
][%00-00@3 q][%00-00 )]&]
|
|
[s2; Writes 64`-bit value in big`-endian mode.&]
|
|
[s4; [%00-00*C@3 q]-|Value to write.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 PutUtf8][%00-00 (][%00-00@(0.0.255) int][%00-00 _
|
|
][%00-00@3 c][%00-00 )]&]
|
|
[s2; Puts a single utf`-8 value to the stream.&]
|
|
[s4; [%00-00*C@3 c]-|Value.&]
|
|
[s0; &]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Put][%00-00 (][%00-00@(0.0.255) const][%00-00 _][%00-00@(0.0.255) c
|
|
har][%00-00 _`*][%00-00@3 s][%00-00 )]&]
|
|
[s2; Writes zero terminated string to the stream (zero is not written).&]
|
|
[s4; [%00-00*C@3 s]-|String to write.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Put][%00-00 (][%00-00@(0.0.255) const][%00-00 _][%00-00^`:`:String^ S
|
|
tring][%00-00 `&_][%00-00@3 s][%00-00 )]&]
|
|
[s2; Writes String to the the stream. String can contain zero characters.&]
|
|
[s4; [%00-00*C@3 s]-|String to write.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Put][%00-00 (][%00-00@(0.0.255) int][%00-00 _][%00-00@3 c
|
|
][%00-00 , ][%00-00@(0.0.255) int][%00-00 _][%00-00@3 count][%00-00 )]&]
|
|
[s2; Writes single byte to the stream requested number of times.&]
|
|
[s4; [%00-00*C@3 c]-|Byte to write.&]
|
|
[s4; [%00-00*C@3 count]-|Repeat count.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Put0][%00-00 (][%00-00@(0.0.255) int][%00-00 _][%00-00@3 c
|
|
ount][%00-00 )]&]
|
|
[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...&]
|
|
[s4; [%00-00*C@3 count]-|Repeat count.&]
|
|
[s0; &]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 PutW][%00-00 (][%00-00@(0.0.255) const][%00-00 _
|
|
][%00-00^`:`:wchar^ wchar][%00-00 _`*][%00-00@3 s][%00-00 , ][%00-00@(0.0.255) int][%00-00 _][%00-00@3 c
|
|
ount][%00-00 )]&]
|
|
[s2; Writes a specified number of wchars (16`-bit character values)
|
|
to the stream in platform specific format (little`-endian or
|
|
big`-endian).&]
|
|
[s4; [%00-00*C@3 s]-|String to write.&]
|
|
[s4; [%00-00*C@3 count]-|Length of string.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00^`:`:dword^ dword][%00-00 _][%00-00@0 GetW][%00-00 (][%00-00^`:`:wchar^ wchar][%00-00 _
|
|
`*][%00-00@3 s][%00-00 , ][%00-00@(0.0.255) int][%00-00 _][%00-00@3 count][%00-00 )]&]
|
|
[s2; Reads a specified number of wchars (16`-bit character values)
|
|
from the stream in platform specific format.&]
|
|
[s4; [%00-00*C@3 s]-|Pointer to buffer to receive wchars.&]
|
|
[s4; [%00-00*C@3 count]-|Number of wchars.&]
|
|
[s4; [*/ Return value]-|Number of wchars actually read.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) bool][%00-00 _][%00-00@0 GetAllW][%00-00 (][%00-00^`:`:wchar^ wchar][%00-00 _
|
|
`*][%00-00@3 s][%00-00 , ][%00-00@(0.0.255) int][%00-00 _][%00-00@3 count][%00-00 )]&]
|
|
[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).&]
|
|
[s4; [%00-00*C@3 s]-|&]
|
|
[s4; [%00-00*C@3 count]-|&]
|
|
[s4; [*/ Return value]-|&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 PutCrLf][%00-00 ()]&]
|
|
[s2; Writes CR`-LF pair to the stream. &]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 PutEol][%00-00 ()]&]
|
|
[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;3 &]
|
|
[s5;K:`:`:Stream`:`:operator`<`<`(EOLenum`): [%00-00^`:`:Stream^ Stream][%00-00 `&_][%00-00@0 o
|
|
perator<<][%00-00 (][%00-00^EOLenum^ EOLenum][%00-00 )]&]
|
|
[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;3 &]
|
|
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 PutLine][%00-00 (][%00-00@(0.0.255) const][%00-00 _
|
|
][%00-00@(0.0.255) char][%00-00 _`*][%00-00@3 s][%00-00 )]&]
|
|
[s2; Writes a line to stream `- equivalent of Put(s); PutEol();&]
|
|
[s4; [%00-00*C@3 s]-|Zero`-terminated string.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 PutLine][%00-00 (][%00-00@(0.0.255) const][%00-00 _
|
|
][%00-00^`:`:String^ String][%00-00 `&_][%00-00@3 s][%00-00 )]&]
|
|
[s2; Writes a line to stream `- equivalent of Put(s); PutEol();&]
|
|
[s4; [%00-00*C@3 s]-|String.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Put][%00-00 (][%00-00^`:`:Stream^ Stream][%00-00 `&
|
|
_][%00-00@3 s][%00-00 , ][%00-00^`:`:int64^ int64][%00-00 _][%00-00@3 size][%00-00 _`=_INT64`_
|
|
MAX, ][%00-00^`:`:dword^ dword][%00-00 _][%00-00@3 click][%00-00 _`=_][%00-00@3 4096][%00-00 )
|
|
]&]
|
|
[s2; Writes a content of specified stream to the stream.&]
|
|
[s4; [%00-00*C@3 s]-|Input stream.&]
|
|
[s4; [%00-00*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.&]
|
|
[s4; [%00-00*C@3 click]-|Size of buffer used for copying.&]
|
|
[s0; Formated output&]
|
|
[s0;3 &]
|
|
[s0; Serialization support:&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 SetLoading][%00-00 ()]&]
|
|
[s2; Sets the stream into the loading mode.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 SetStoring][%00-00 ()]&]
|
|
[s2; Sets the stream into the storing mode.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) bool][%00-00 _][%00-00@0 IsLoading][%00-00 ()]&]
|
|
[s4; [*/ Return value]-|true if stream is in loading mode.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) bool][%00-00 _][%00-00@0 IsStoring][%00-00 ()]&]
|
|
[s4; [*/ Return value]-|true if stream is in storing mode.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 SerializeRaw][%00-00 (][%00-00^`:`:byte^ byte][%00-00 _
|
|
`*][%00-00@3 data][%00-00 , ][%00-00^`:`:dword^ dword][%00-00 _][%00-00@3 count][%00-00 )]&]
|
|
[s2; Serializes raw 8`-bit data. Might invoke LoadError if there
|
|
is not enough data to load.&]
|
|
[s4; [%00-00*C@3 data]-|Pointer to data to store or buffer to receive
|
|
loaded data.&]
|
|
[s4; [%00-00*C@3 count]-|Number of bytes to load/store.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 SerializeRaw][%00-00 (][%00-00^word^ word][%00-00 _
|
|
`*][%00-00@3 data][%00-00 , ][%00-00^`:`:dword^ dword][%00-00 _][%00-00@3 count][%00-00 )]&]
|
|
[s2; Serializes raw 16`-bit data. Might invoke LoadError if there
|
|
is not enough data to load.&]
|
|
[s4; [%00-00*C@3 data]-|Pointer to data to store or buffer to receive
|
|
loaded data.&]
|
|
[s4; [%00-00*C@3 count]-|Number of values to load/store.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 SerializeRaw][%00-00 (][%00-00^`:`:dword^ dwor
|
|
d][%00-00 _`*][%00-00@3 data][%00-00 , ][%00-00^`:`:dword^ dword][%00-00 _][%00-00@3 count][%00-00 )
|
|
]&]
|
|
[s2; Serializes raw 32`-bit data. Might invoke LoadError if there
|
|
is not enough data to load.&]
|
|
[s4; [%00-00*C@3 data]-|Pointer to data to store or buffer to receive
|
|
loaded data.&]
|
|
[s4; [%00-00*C@3 count]-|Number of values to load/store.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 SerializeRaw][%00-00 (][%00-00^`:`:uint64^ uin
|
|
t64][%00-00 _`*][%00-00@3 data][%00-00 , ][%00-00^`:`:dword^ dword][%00-00 _][%00-00@3 count][%00-00 )
|
|
]&]
|
|
[s2; Serializes raw 64`-bit data. Might invoke LoadError if there
|
|
is not enough data to load.&]
|
|
[s4; [%00-00*C@3 data]-|Pointer to data to store or buffer to receive
|
|
loaded data.&]
|
|
[s4; [%00-00*C@3 count]-|Number of values to load/store.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00^`:`:Stream^ Stream][%00-00 `&_][%00-00@0 operator%][%00-00 (][%00-00@(0.0.255) bo
|
|
ol][%00-00 `&_][%00-00@3 d][%00-00 )]&]
|
|
[s2; Serializes bool variable. Might invoke LoadError if there is
|
|
not enough data to load.&]
|
|
[s4; [%00-00*C@3 d]-|Variable to serialize.&]
|
|
[s4; [*/ Return value]-|`*this for chaining.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00^`:`:Stream^ Stream][%00-00 `&_][%00-00@0 operator%][%00-00 (][%00-00@(0.0.255) ch
|
|
ar][%00-00 `&_][%00-00@3 d][%00-00 )]&]
|
|
[s2; Serializes char variable. Might invoke LoadError if there is
|
|
not enough data to load.&]
|
|
[s4; [%00-00*C@3 d]-|Variable to serialize.&]
|
|
[s4; [*/ Return value]-|`*this for chaining.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00^`:`:Stream^ Stream][%00-00 `&_][%00-00@0 operator%][%00-00 (][%00-00@(0.0.255) si
|
|
gned][%00-00 _][%00-00@(0.0.255) char][%00-00 `&_][%00-00@3 d][%00-00 )]&]
|
|
[s2; Serializes signed char variable. Might invoke LoadError if there
|
|
is not enough data to load.&]
|
|
[s4; [%00-00*C@3 d]-|Variable to serialize.&]
|
|
[s4; [*/ Return value]-|`*this for chaining.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00^`:`:Stream^ Stream][%00-00 `&_][%00-00@0 operator%][%00-00 (][%00-00@(0.0.255) un
|
|
signed][%00-00 _][%00-00@(0.0.255) char][%00-00 `&_][%00-00@3 d][%00-00 )]&]
|
|
[s2; Serializes unsigned char variable. Might invoke LoadError if
|
|
there is not enough data to load.&]
|
|
[s4; [%00-00*C@3 d]-|Variable to serialize.&]
|
|
[s4; [*/ Return value]-|`*this for chaining.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00^`:`:Stream^ Stream][%00-00 `&_][%00-00@0 operator%][%00-00 (][%00-00@(0.0.255) sh
|
|
ort][%00-00 `&_][%00-00@3 d][%00-00 )]&]
|
|
[s2; Serializes short variable. Might invoke LoadError if there is
|
|
not enough data to load.&]
|
|
[s4; [%00-00*C@3 d]-|Variable to serialize.&]
|
|
[s4; [*/ Return value]-|`*this for chaining.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00^`:`:Stream^ Stream][%00-00 `&_][%00-00@0 operator%][%00-00 (][%00-00@(0.0.255) un
|
|
signed][%00-00 _][%00-00@(0.0.255) short][%00-00 `&_][%00-00@3 d][%00-00 )]&]
|
|
[s2; Serializes unsigned short variable. Might invoke LoadError if
|
|
there is not enough data to load.&]
|
|
[s4; [%00-00*C@3 d]-|Variable to serialize.&]
|
|
[s4; [*/ Return value]-|`*this for chaining.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00^`:`:Stream^ Stream][%00-00 `&_][%00-00@0 operator%][%00-00 (][%00-00@(0.0.255) in
|
|
t][%00-00 `&_][%00-00@3 d][%00-00 )]&]
|
|
[s2; Serializes int variable. Might invoke LoadError if there is
|
|
not enough data to load.&]
|
|
[s4; [%00-00*C@3 d]-|Variable to serialize.&]
|
|
[s4; [*/ Return value]-|`*this for chaining.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00^`:`:Stream^ Stream][%00-00 `&_][%00-00@0 operator%][%00-00 (][%00-00@(0.0.255) un
|
|
signed][%00-00 _][%00-00@(0.0.255) int][%00-00 `&_][%00-00@3 d][%00-00 )]&]
|
|
[s2; Serializes unsigned int variable. Might invoke LoadError if
|
|
there is not enough data to load.&]
|
|
[s4; [%00-00*C@3 d]-|Variable to serialize.&]
|
|
[s4; [*/ Return value]-|`*this for chaining.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00^`:`:Stream^ Stream][%00-00 `&_][%00-00@0 operator%][%00-00 (][%00-00@(0.0.255) lo
|
|
ng][%00-00 `&_][%00-00@3 d][%00-00 )]&]
|
|
[s2; Serializes long variable. Might invoke LoadError if there is
|
|
not enough data to load.&]
|
|
[s4; [%00-00*C@3 d]-|Variable to serialize.&]
|
|
[s4; [*/ Return value]-|`*this for chaining.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00^`:`:Stream^ Stream][%00-00 `&_][%00-00@0 operator%][%00-00 (][%00-00@(0.0.255) un
|
|
signed][%00-00 _][%00-00@(0.0.255) long][%00-00 `&_][%00-00@3 d][%00-00 )]&]
|
|
[s2; Serializes unsigned long variable. Might invoke LoadError if
|
|
there is not enough data to load.&]
|
|
[s4; [%00-00*C@3 d]-|Variable to serialize.&]
|
|
[s4; [*/ Return value]-|`*this for chaining.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00^`:`:Stream^ Stream][%00-00 `&_][%00-00@0 operator%][%00-00 (][%00-00@(0.0.255) fl
|
|
oat][%00-00 `&_][%00-00@3 d][%00-00 )]&]
|
|
[s2; Serializes float variable. Might invoke LoadError if there is
|
|
not enough data to load.&]
|
|
[s4; [%00-00*C@3 d]-|Variable to serialize.&]
|
|
[s4; [*/ Return value]-|`*this for chaining.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00^`:`:Stream^ Stream][%00-00 `&_][%00-00@0 operator%][%00-00 (][%00-00@(0.0.255) do
|
|
uble][%00-00 `&_][%00-00@3 d][%00-00 )]&]
|
|
[s2; Serializes double variable. Might invoke LoadError if there
|
|
is not enough data to load.&]
|
|
[s4; [%00-00*C@3 d]-|Variable to serialize.&]
|
|
[s4; [*/ Return value]-|`*this for chaining.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00^`:`:Stream^ Stream][%00-00 `&_][%00-00@0 operator%][%00-00 (][%00-00^`:`:int64^ i
|
|
nt64][%00-00 `&_][%00-00@3 d][%00-00 )]&]
|
|
[s2; Serializes int64 variable. Might invoke LoadError if there is
|
|
not enough data to load.&]
|
|
[s4; [%00-00*C@3 d]-|Variable to serialize.&]
|
|
[s4; [*/ Return value]-|`*this for chaining.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00^`:`:Stream^ Stream][%00-00 `&_][%00-00@0 operator%][%00-00 (][%00-00^`:`:uint64^ u
|
|
int64][%00-00 `&_][%00-00@3 d][%00-00 )]&]
|
|
[s2; Serializes uint64 variable. Might invoke LoadError if there
|
|
is not enough data to load.&]
|
|
[s4; [%00-00*C@3 d]-|Variable to serialize.&]
|
|
[s4; [*/ Return value]-|`*this for chaining.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00^`:`:Stream^ Stream][%00-00 `&_][%00-00@0 operator%][%00-00 (][%00-00^`:`:String^ S
|
|
tring][%00-00 `&_][%00-00@3 s][%00-00 )]&]
|
|
[s2; Serializes String variable. Might invoke LoadError if there
|
|
is not enough data to load or input data are invalid.&]
|
|
[s4; [%00-00*C@3 d]-|Variable to serialize.&]
|
|
[s4; [*/ Return value]-|`*this for chaining.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00^`:`:Stream^ Stream][%00-00 `&_][%00-00@0 operator/][%00-00 (][%00-00^`:`:String^ S
|
|
tring][%00-00 `&_][%00-00@3 s][%00-00 )]&]
|
|
[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.&]
|
|
[s4; [%00-00*C@3 s]-|Variable to serialize.&]
|
|
[s4; [*/ Return value]-|`*this for chaining.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00^`:`:Stream^ Stream][%00-00 `&_][%00-00@0 operator%][%00-00 (][%00-00^`:`:WString^ W
|
|
String][%00-00 `&_][%00-00@3 s][%00-00 )]&]
|
|
[s2; Serializes WString variable. Might invoke LoadError if there
|
|
is not enough data to load or input data are invalid.&]
|
|
[s4; [%00-00*C@3 d]-|Variable to serialize.&]
|
|
[s4; [*/ Return value]-|`*this for chaining.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00^`:`:Stream^ Stream][%00-00 `&_][%00-00@0 operator/][%00-00 (][%00-00^`:`:WString^ W
|
|
String][%00-00 `&_][%00-00@3 s][%00-00 )]&]
|
|
[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.&]
|
|
[s4; [%00-00*C@3 s]-|Variable to serialize.&]
|
|
[s4; [*/ Return value]-|`*this for chaining.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Pack][%00-00 (][%00-00^`:`:dword^ dword][%00-00 `&
|
|
_][%00-00@3 i][%00-00 )]&]
|
|
[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.&]
|
|
[s4; [%00-00*C@3 i]-|Variable to serialize.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00^`:`:Stream^ Stream][%00-00 `&_][%00-00@0 operator/][%00-00 (][%00-00@(0.0.255) in
|
|
t][%00-00 `&_][%00-00@3 i][%00-00 )]&]
|
|
[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.&]
|
|
[s4; [%00-00*C@3 i]-|Variable to serialize.&]
|
|
[s4; [*/ Return value]-|`*this for chaining.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00^`:`:Stream^ Stream][%00-00 `&_][%00-00@0 operator/][%00-00 (][%00-00@(0.0.255) un
|
|
signed][%00-00 _][%00-00@(0.0.255) int][%00-00 `&_][%00-00@3 i][%00-00 )]&]
|
|
[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.&]
|
|
[s4; [%00-00*C@3 i]-|Variable to serialize.&]
|
|
[s4; [*/ Return value]-|`*this for chaining.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Magic][%00-00 (][%00-00^`:`:dword^ dword][%00-00 _
|
|
][%00-00@3 magic][%00-00 _`=_][%00-00@3 0][%00-00 x7d674d7b)]&]
|
|
[s2; Serializes `"magic value`" to ensure stream integrity. When
|
|
loading, this value is loaded and checked `- mismatch results
|
|
in invoking LoadError.&]
|
|
[s4; [%00-00*C@3 magic]-|Magic value.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Pack][%00-00 (][%00-00@(0.0.255) bool][%00-00 `&
|
|
_][%00-00@3 a][%00-00 , ][%00-00@(0.0.255) bool][%00-00 `&_][%00-00@3 b][%00-00 ,
|
|
][%00-00@(0.0.255) bool][%00-00 `&_][%00-00@3 c][%00-00 , ][%00-00@(0.0.255) bool][%00-00 `&_
|
|
][%00-00@3 d][%00-00 , ][%00-00@(0.0.255) bool][%00-00 `&_][%00-00@3 e][%00-00 ,
|
|
][%00-00@(0.0.255) bool][%00-00 `&_][%00-00@3 f][%00-00 , ][%00-00@(0.0.255) bool][%00-00 `&_
|
|
][%00-00@3 g][%00-00 , ][%00-00@(0.0.255) bool][%00-00 `&_][%00-00@3 h][%00-00 )]&]
|
|
[s2; Serializes a set of boolean values compressed into single byte.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Pack][%00-00 (][%00-00@(0.0.255) bool][%00-00 `&
|
|
_][%00-00@3 a][%00-00 , ][%00-00@(0.0.255) bool][%00-00 `&_][%00-00@3 b][%00-00 ,
|
|
][%00-00@(0.0.255) bool][%00-00 `&_][%00-00@3 c][%00-00 , ][%00-00@(0.0.255) bool][%00-00 `&_
|
|
][%00-00@3 d][%00-00 , ][%00-00@(0.0.255) bool][%00-00 `&_][%00-00@3 e][%00-00 ,
|
|
][%00-00@(0.0.255) bool][%00-00 `&_][%00-00@3 f][%00-00 , ][%00-00@(0.0.255) bool][%00-00 `&_
|
|
][%00-00@3 g][%00-00 )]&]
|
|
[s2; Serializes a set of boolean values compressed into single byte.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Pack][%00-00 (][%00-00@(0.0.255) bool][%00-00 `&
|
|
_][%00-00@3 a][%00-00 , ][%00-00@(0.0.255) bool][%00-00 `&_][%00-00@3 b][%00-00 ,
|
|
][%00-00@(0.0.255) bool][%00-00 `&_][%00-00@3 c][%00-00 , ][%00-00@(0.0.255) bool][%00-00 `&_
|
|
][%00-00@3 d][%00-00 , ][%00-00@(0.0.255) bool][%00-00 `&_][%00-00@3 e][%00-00 ,
|
|
][%00-00@(0.0.255) bool][%00-00 `&_][%00-00@3 f][%00-00 )]&]
|
|
[s2; Serializes a set of boolean values compressed into single byte.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Pack][%00-00 (][%00-00@(0.0.255) bool][%00-00 `&
|
|
_][%00-00@3 a][%00-00 , ][%00-00@(0.0.255) bool][%00-00 `&_][%00-00@3 b][%00-00 ,
|
|
][%00-00@(0.0.255) bool][%00-00 `&_][%00-00@3 c][%00-00 , ][%00-00@(0.0.255) bool][%00-00 `&_
|
|
][%00-00@3 d][%00-00 , ][%00-00@(0.0.255) bool][%00-00 `&_][%00-00@3 e][%00-00 )]&]
|
|
[s2; Serializes a set of boolean values compressed into single byte.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Pack][%00-00 (][%00-00@(0.0.255) bool][%00-00 `&
|
|
_][%00-00@3 a][%00-00 , ][%00-00@(0.0.255) bool][%00-00 `&_][%00-00@3 b][%00-00 ,
|
|
][%00-00@(0.0.255) bool][%00-00 `&_][%00-00@3 c][%00-00 , ][%00-00@(0.0.255) bool][%00-00 `&_
|
|
][%00-00@3 d][%00-00 )]&]
|
|
[s2; Serializes a set of boolean values compressed into single byte.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Pack][%00-00 (][%00-00@(0.0.255) bool][%00-00 `&
|
|
_][%00-00@3 a][%00-00 , ][%00-00@(0.0.255) bool][%00-00 `&_][%00-00@3 b][%00-00 ,
|
|
][%00-00@(0.0.255) bool][%00-00 `&_][%00-00@3 c][%00-00 )]&]
|
|
[s2; Serializes a set of boolean values compressed into single byte.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Pack][%00-00 (][%00-00@(0.0.255) bool][%00-00 `&
|
|
_][%00-00@3 a][%00-00 , ][%00-00@(0.0.255) bool][%00-00 `&_][%00-00@3 b][%00-00 )]&]
|
|
[s2; Serializes a set of boolean values compressed into single byte.&]
|
|
[s0;3 &]
|
|
[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;3 &]
|
|
[s0;:`:`:Stream`:`:`~Stream`(`): `~[* Stream]()&]
|
|
[s2; Destructor.&]
|
|
[s0;3 &]
|
|
[s0;3 &]
|
|
[s0;3 &]
|
|
[s0;3 &]
|
|
[s5;K^`:`:Stream^ [%00-00^^@(0.0.255) class][%00-00^^ _][%00-00^^@0 StringStream][%00-00^^ _:_
|
|
][%00-00^^@(0.0.255) public][%00-00^^ _][%00-00 Stream]&]
|
|
[s0;* &]
|
|
[s2; StringStream is stream that uses String as storage medium.&]
|
|
[s2; &]
|
|
[s0;^topic`:`/`/Core`/src`/Stream`$en`-us`#`:`:Stream`:`:class Stream^ [/^^ Derived
|
|
from][^^ ][%00-00 Stream]&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Open][%00-00 (][%00-00@(0.0.255) const][%00-00 _
|
|
][%00-00^`:`:String^ String][%00-00 `&_][%00-00@3 data][%00-00 )]&]
|
|
[s2; [%00-00 Sets the content of stream to specified String and sets
|
|
it into the Loading serialization mode.]&]
|
|
[s4; [%00-00*C@3 data]-|Content of stream.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Create][%00-00 ()]&]
|
|
[s2; Creates empty StringStream and sets it into Storing serialization
|
|
mode.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00^`:`:String^ String][%00-00 _][%00-00@0 GetResult][%00-00 ()]&]
|
|
[s2; Returns resulting String.&]
|
|
[s4; [*/ Return value]-|Result.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00 operator_String()]&]
|
|
[s4; [*/ Return value]-|GetResult().&]
|
|
[s0;3 &]
|
|
[s0;:`:`:StringStream`:`:StringStream`(`): [%00-00* StringStream][%00-00 ()]&]
|
|
[s2; Consructs empty stream and sets it into Storing serialization
|
|
mode (like [* Create]).&]
|
|
[s0;3 &]
|
|
[s0;:`:`:StringStream`:`:StringStream`(const`:`:String`&`): [%00-00* StringStream][%00-00 (
|
|
const_String`&_][%00-00*@3 data][%00-00 )]&]
|
|
[s2; Constructs stream with specified content and sets it into Loading
|
|
serialization mode (like [* Open]).&]
|
|
[s4; [%00-00*C@3 data]-|Content of stream.&]
|
|
[s0;3 &]
|
|
[s0;3 &]
|
|
[s0;3 &]
|
|
[s0;3 &]
|
|
[s5;K^`:`:Stream^ [%00-00^^@(0.0.255) class][%00-00^^ _][%00-00^^@0 MemStream][%00-00^^ _:_][%00-00^^@(0.0.255) p
|
|
ublic][%00-00^^ _][%00-00 Stream]&]
|
|
[s2; &]
|
|
[s2; Stream that is using raw memory as its content.&]
|
|
[s2; &]
|
|
[s0;^topic`:`/`/Core`/src`/Stream`$en`-us`#`:`:Stream`:`:class Stream^ [/^^ Derived
|
|
from][^^ ][%00-00 Stream]&]
|
|
[s0;3 &]
|
|
[s0;:`:`:MemStream`:`:MemStream`(void`*`,int`): [%00-00* MemStream][%00-00 (void_`*][%00-00*@3 d
|
|
ata][%00-00 , int_][%00-00*@3 size][%00-00 )]&]
|
|
[s2; Constructs [* MemStream] at specified memory buffer.&]
|
|
[s4; [%00-00*C@3 data]-|Pointer to the stream content.&]
|
|
[s4; [%00-00*C@3 size]-|Size.&]
|
|
[s0;3 &]
|
|
[s0;3 &]
|
|
[s0;3 &]
|
|
[s0;3 &]
|
|
[s5;K^`:`:MemStream^ [%00-00^^@(0.0.255) class][%00-00^^ _][%00-00^^@0 MemReadStream][%00-00^^ _
|
|
:_][%00-00^^@(0.0.255) public][%00-00^^ _][%00-00 MemStream]&]
|
|
[s2; &]
|
|
[s2; Read`-only stream using raw memory as content.&]
|
|
[s2; &]
|
|
[s0;^topic`:`/`/Core`/src`/Stream`$en`-us`#`:`:MemStream`:`:class MemStream^ [/^^ Deriv
|
|
ed from][^^ ][%00-00 MemStream]&]
|
|
[s0;3 &]
|
|
[s0;:`:`:MemReadStream`:`:MemReadStream`(const void`*`,int`): [%00-00* MemReadStream][%00-00 (
|
|
const_void_`*][%00-00*@3 data][%00-00 , int_][%00-00*@3 size][%00-00 )]&]
|
|
[s2; Constructs [* MemStream] at specified memory buffer.&]
|
|
[s4; [%00-00*C@3 data]-|Pointer to the stream content.&]
|
|
[s4; [%00-00*C@3 size]-|Size.&]
|
|
[s0;3 &]
|
|
[s0;3 &]
|
|
[s0;3 &]
|
|
[s0;3 &]
|
|
[s5;K^`:`:Stream^ [%00-00^^@(0.0.255) class][%00-00^^ _][%00-00^^@0 BlockStream][%00-00^^ _:_][%00-00^^@(0.0.255) p
|
|
ublic][%00-00^^ _][%00-00 Stream]&]
|
|
[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;^topic`:`/`/Core`/src`/Stream`$en`-us`#`:`:BufferStream`:`:class BufferStream^ [/^^ D
|
|
erived from][^^ ][%00-00 BufferStream]&]
|
|
[s0;3 &]
|
|
[s0; [%00-00 enum_`{_][%00-00*@3 READ][%00-00 , ][%00-00*@3 CREATE][%00-00 ,
|
|
][%00-00*@3 APPEND][%00-00 , ][%00-00*@3 READWRITE][%00-00 , ][%00-00*@3 NOWRITESHARE][%00-00 ,
|
|
][%00-00*@3 DELETESHARE][%00-00 , ][%00-00*@3 NOREADSHARE][%00-00 ,
|
|
][%00-00*@3 SHAREMASK][%00-00 _`}]&]
|
|
[s2; This enum defines basic operation modes of BlockStream (used
|
|
combined with binary or).&]
|
|
[s4;:`:`:BlockStream`:`:READ: [%00-00*C@3 READ]-|Read mode.&]
|
|
[s4;:`:`:BlockStream`:`:CREATE: [%00-00*C@3 CREATE]-|Write mode.&]
|
|
[s4;:`:`:BlockStream`:`:APPEND: [%00-00*C@3 APPEND]-|Append mode `-
|
|
means that initial position in the stream is at the end of it.&]
|
|
[s4;:`:`:BlockStream`:`:READWRITE: [%00-00*C@3 READWRITE]-|Enables subsequent
|
|
streams full access to stream.&]
|
|
[s4;:`:`:BlockStream`:`:NOWRITESHARE: [%00-00*C@3 NOWRITESHARE]-|Disables
|
|
subsequent streams to write to the stream.&]
|
|
[s4;:`:`:BlockStream`:`:DELETESHARE: [%00-00*C@3 DELETESHARE]-|Enables
|
|
subsequent streams to delete the stream.&]
|
|
[s4;:`:`:BlockStream`:`:NOREADSHARE: [%00-00*C@3 NOREADSHARE]-|Disables
|
|
subsequent streams to read the stream.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00 virtual ][%00-00^`:`:dword^ dword][%00-00 _][%00-00@0 Read][%00-00 (][%00-00^`:`:int64^ i
|
|
nt64][%00-00 _][%00-00@3 at][%00-00 , ][%00-00@(0.0.255) void][%00-00 _`*][%00-00@3 ptr][%00-00 ,
|
|
][%00-00^`:`:dword^ dword][%00-00 _][%00-00@3 size][%00-00 )]&]
|
|
[s0; [%00-00 Protected.]&]
|
|
[s2; Implementation of this virtual method in derived class should
|
|
read a block of data at specified position in media.&]
|
|
[s4; [%00-00*C@3 at]-|Position in media.&]
|
|
[s4; [%00-00*C@3 ptr]-|Pointer to buffer to receive data.&]
|
|
[s4; [%00-00*C@3 size]-|Requested size of data.&]
|
|
[s4; [*/ Return value]-|Size of data read.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00 virtual ][%00-00@(0.0.255) void][%00-00 _][%00-00@0 Write][%00-00 (][%00-00^`:`:int64^ i
|
|
nt64][%00-00 _][%00-00@3 at][%00-00 , ][%00-00@(0.0.255) const][%00-00 _][%00-00@(0.0.255) vo
|
|
id][%00-00 _`*][%00-00@3 data][%00-00 , ][%00-00^`:`:dword^ dword][%00-00 _][%00-00@3 size][%00-00 )
|
|
]&]
|
|
[s0; Protected.&]
|
|
[s2; Implementation of this virtual method in derived method should
|
|
write a block of data at specified position in media.&]
|
|
[s4; [%00-00*C@3 at]-|Position in media.&]
|
|
[s4; [%00-00*C@3 data]-|Pointer to data.&]
|
|
[s4; [%00-00*C@3 size]-|Size of data.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00 virtual ][%00-00@(0.0.255) void][%00-00 _][%00-00@0 SetStreamSize][%00-00 (][%00-00^`:`:int64^ i
|
|
nt64][%00-00 _][%00-00@3 size][%00-00 )]&]
|
|
[s0; Protected.&]
|
|
[s2; Implementation of this virtual method in derived class should
|
|
adjust the size of media.&]
|
|
[s4; [%00-00*C@3 size]-|Requested new size of media.&]
|
|
[s0;3 &]
|
|
[s5;K@(0.0.255) [%00-00^`:`:int64^@(64) int64][%00-00@(64) _][%00-00@0 GetStreamSize][%00-00@(64) (
|
|
)_][%00-00 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.&]
|
|
[s4; [*/ Return value]-|Current media size.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 OpenInit][%00-00 (][%00-00^`:`:dword^ dword][%00-00 _
|
|
][%00-00@3 mode][%00-00 , ][%00-00^`:`:int64^ int64][%00-00 _][%00-00@3 file`_size][%00-00 )]&]
|
|
[s0; Protected.&]
|
|
[s2; Initializes the BlockStream to specified mode and actual media
|
|
size.&]
|
|
[s4; [%00-00*C@3 mode]-|Mode.&]
|
|
[s4; [%00-00*C@3 file`_size]-|Actual media size.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 SetBufferSize][%00-00 (][%00-00^`:`:dword^ dwo
|
|
rd][%00-00 _][%00-00@3 newsize][%00-00 )]&]
|
|
[s2; Sets a new size of internal buffer.&]
|
|
[s4; [%00-00*C@3 newsize]-|The new size of buffer.&]
|
|
[s0;3 &]
|
|
[s5;K@(0.0.255) [%00-00^`:`:dword^@(64) dword][%00-00@(64) _][%00-00@0 GetBufferSize][%00-00@(64) (
|
|
)_][%00-00 const]&]
|
|
[s4; [*/ Return value]-|Size of buffer.&]
|
|
[s0;3 &]
|
|
[s0;3 &]
|
|
[s0;3 &]
|
|
[s0;3 &]
|
|
[s5;K^`:`:BlockStream^ [%00-00^^@(0.0.255) class][%00-00^^ _][%00-00^^@0 FileStream][%00-00^^ _
|
|
:_][%00-00^^@(0.0.255) public][%00-00^^ _][%00-00 BlockStream]&]
|
|
[s2; &]
|
|
[s2; Classical file stream.&]
|
|
[s2; &]
|
|
[s0;^topic`:`/`/Core`/src`/Stream`$en`-us`#`:`:BlockStream`:`:class BlockStream^ [/^^ D
|
|
erived from][^^ ][%00-00 BlockStream]&]
|
|
[s0;3 &]
|
|
[s0;:`:`:FileStream`:`:FileStream`(const char`*`,`:`:dword`): [%00-00* FileStream][%00-00 (
|
|
const_char_`*][%00-00*@3 filename][%00-00 , dword_][%00-00*@3 mode][%00-00 )]&]
|
|
[s2; Opens file stream in specified mode (as defined in BlockStream).&]
|
|
[s4; [%00-00*C@3 filename]-|The name of the file.&]
|
|
[s4; [%00-00*C@3 mode]-|Open mode.&]
|
|
[s0;3 &]
|
|
[s0;:`:`:FileStream`:`:FileStream`(const char`*`,`:`:dword`,mode`_t`): [%00-00* FileStr
|
|
eam][%00-00 (const_char_`*][%00-00*@3 filename][%00-00 , dword_][%00-00*@3 mode][%00-00 ,
|
|
mode`_t_][%00-00*@3 acm][%00-00 _`=_][%00-00@3 0644][%00-00 )]&]
|
|
[s0; [%00-00 Posix specific.]&]
|
|
[s2; Opens file stream in specified mode (as defined in BlockStream)
|
|
and specific POSIX access rights.&]
|
|
[s4; [%00-00*C@3 filename]-|The name of the file.&]
|
|
[s4; [%00-00*C@3 mode]-|Open mode.&]
|
|
[s4; [%00-00*C@3 acm]-|Access rights.&]
|
|
[s0;3 &]
|
|
[s0;:`:`:FileStream`:`:FileStream`(int`): [%00-00* FileStream][%00-00 (int_][%00-00*@3 std`_
|
|
handle][%00-00 )]&]
|
|
[s0; Posix specific.&]
|
|
[s2; Assigns existing file handle to FileStream.&]
|
|
[s4; [%00-00*C@3 std`_handle]-|File handle of open file. FileStream
|
|
takes ownership of this handle.&]
|
|
[s0;3 &]
|
|
[s0;:`:`:FileStream`:`:FileStream`(`): [%00-00* FileStream][%00-00 ()]&]
|
|
[s2; Creates empty unopened FileStream.&]
|
|
[s0;3 &]
|
|
[s5;K@(0.0.255) [%00-00@(64) operator_][%00-00 bool][%00-00@(64) ()_][%00-00 const]&]
|
|
[s4; [*/ Return value]-|True if stream is open.&]
|
|
[s0;3 &]
|
|
[s5;K@(0.0.255) [%00-00^`:`:FileTime^@(64) FileTime][%00-00@(64) _][%00-00@0 GetTime][%00-00@(64) (
|
|
)_][%00-00 const]&]
|
|
[s2; Returns last`-write time of stream.&]
|
|
[s4; [*/ Return value]-|Time.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 SetTime][%00-00 (][%00-00@(0.0.255) const][%00-00 _
|
|
][%00-00^`:`:FileTime^ FileTime][%00-00 `&_][%00-00@3 tm][%00-00 )]&]
|
|
[s2; Opens file stream in specified mode (as defined in BlockStream).&]
|
|
[s4; [%00-00*C@3 filename]-|The name of the file.&]
|
|
[s2; [%00-00*C@3 mode]-|Open mode.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) bool][%00-00 _][%00-00@0 Open][%00-00 (][%00-00@(0.0.255) const][%00-00 _
|
|
][%00-00@(0.0.255) char][%00-00 _`*][%00-00@3 filename][%00-00 , ][%00-00^`:`:dword^ dword][%00-00 _
|
|
][%00-00@3 mode][%00-00 , ][%00-00^mode`_t^ mode`_t][%00-00 _][%00-00@3 acm][%00-00 _`=_][%00-00@3 0
|
|
644][%00-00 )]&]
|
|
[s0; [%00-00 Posix specific.]&]
|
|
[s2; Opens file stream in specified mode (as defined in BlockStream)
|
|
and specific POSIX access rights.&]
|
|
[s4; [%00-00*C@3 filename]-|The name of the file.&]
|
|
[s4; [%00-00*C@3 mode]-|Open mode.&]
|
|
[s2; [%00-00*C@3 acm]-|Access rights.&]
|
|
[s0;3 &]
|
|
[s5;K@(0.0.255) [%00-00^HANDLE^@(64) HANDLE][%00-00@(64) _][%00-00@0 GetHandle][%00-00@(64) (
|
|
)_][%00-00 const]&]
|
|
[s0; Win32 specific.&]
|
|
[s4; [*/ Return value]-|File handle.&]
|
|
[s0;3 &]
|
|
[s5;K@(0.0.255) [%00-00^HANDLE^@(64) HANDLE][%00-00@(64) _][%00-00@0 GetHandle][%00-00@(64) (
|
|
)_][%00-00 const]&]
|
|
[s0; Posix specific.&]
|
|
[s4; [*/ Return value]-|File handle.&]
|
|
[s0;3 &]
|
|
[s0;3 &]
|
|
[s0;3 &]
|
|
[s0;3 &]
|
|
[s5;K^`:`:FileStream^ [%00-00^^@(0.0.255) class][%00-00^^ _][%00-00^^@0 FileIn][%00-00^^ _:_][%00-00^^@(0.0.255) p
|
|
ublic][%00-00^^ _][%00-00 FileStream]&]
|
|
[s2; &]
|
|
[s2; Simple helper class that represents FileStream in read mode.&]
|
|
[s2; &]
|
|
[s0;^topic`:`/`/Core`/src`/Stream`$en`-us`#`:`:FileStream`:`:class FileStream^ [/^^ Der
|
|
ived from][^^ ][%00-00 FileStream]&]
|
|
[s0;3 &]
|
|
[s0;:`:`:FileIn`:`:FileIn`(const char`*`): [%00-00* FileIn][%00-00 (const_char_`*][%00-00*@3 f
|
|
n][%00-00 )]&]
|
|
[s2; Opens file for reading.&]
|
|
[s4; [%00-00*C@3 fn]-|File name.&]
|
|
[s0;3 &]
|
|
[s0;:`:`:FileIn`:`:FileIn`(`): [%00-00* FileIn][%00-00 ()]&]
|
|
[s2; Constructs empty FileStream.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) bool][%00-00 _][%00-00@0 Open][%00-00 (][%00-00@(0.0.255) const][%00-00 _
|
|
][%00-00@(0.0.255) char][%00-00 _`*][%00-00@3 fn][%00-00 )]&]
|
|
[s2; Opens file for reading.&]
|
|
[s4; [%00-00*C@3 fn]-|File name.&]
|
|
[s4; [*/ Return value]-|True if open was successful.&]
|
|
[s0;3 &]
|
|
[s0;3 &]
|
|
[s0;3 &]
|
|
[s0;3 &]
|
|
[s5;K^`:`:FileStream^ [%00-00^^@(0.0.255) class][%00-00^^ _][%00-00^^@0 FileOut][%00-00^^ _:_][%00-00^^@(0.0.255) p
|
|
ublic][%00-00^^ _][%00-00 FileStream]&]
|
|
[s2; &]
|
|
[s2; Simple helper class that represents FileStream in write mode.&]
|
|
[s2; &]
|
|
[s0;^topic`:`/`/Core`/src`/Stream`$en`-us`#`:`:FileStream`:`:class FileStream^ [/^^ Der
|
|
ived from][^^ ][%00-00 FileStream]&]
|
|
[s0;3 &]
|
|
[s0;:`:`:FileOut`:`:FileOut`(const char`*`): [%00-00* FileOut][%00-00 (const_char_`*][%00-00*@3 f
|
|
n][%00-00 )]&]
|
|
[s2; Opens file for writing.&]
|
|
[s4; [%00-00*C@3 fn]-|File name.&]
|
|
[s0;3 &]
|
|
[s0;:`:`:FileOut`:`:FileOut`(`): [%00-00* FileOut][%00-00 ()]&]
|
|
[s2; [%00-00 Constructs non`-opened FileStream.]&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) bool][%00-00 _][%00-00@0 Open][%00-00 (][%00-00@(0.0.255) const][%00-00 _
|
|
][%00-00@(0.0.255) char][%00-00 _`*][%00-00@3 fn][%00-00 , ][%00-00^mode`_t^ mode`_t][%00-00 _
|
|
][%00-00@3 acm][%00-00 _`=_][%00-00@3 0644][%00-00 )]&]
|
|
[s2; Opens file for writing.&]
|
|
[s4; [%00-00*C@3 fn]-|File name.&]
|
|
[s4; [*/ Return value]-|True if open was successful.&]
|
|
[s0;3 &]
|
|
[s0;3 &]
|
|
[s0;3 &]
|
|
[s0;3 &]
|
|
[s5;K^`:`:FileStream^ [%00-00^^@(0.0.255) class][%00-00^^ _][%00-00^^@0 FileAppend][%00-00^^ _
|
|
:_][%00-00^^@(0.0.255) public][%00-00^^ _][%00-00 FileStream]&]
|
|
[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] [%00-00 FileStream]&]
|
|
[s0;3 &]
|
|
[s0;:`:`:FileAppend`:`:FileAppend`(const char`*`): [%00-00* FileAppend][%00-00 (const_cha
|
|
r_`*][%00-00*@3 fn][%00-00 )]&]
|
|
[s2; Opens file in append mode.&]
|
|
[s4; [%00-00*C@3 fn]-|File name.&]
|
|
[s0;3 &]
|
|
[s0;:`:`:FileAppend`:`:FileAppend`(`): [%00-00* FileAppend][%00-00 ()]&]
|
|
[s2; Constructs empty FileStream.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) bool][%00-00 _][%00-00@0 Open][%00-00 (][%00-00@(0.0.255) const][%00-00 _
|
|
][%00-00@(0.0.255) char][%00-00 _`*][%00-00@3 fn][%00-00 )]&]
|
|
[s2; Opens file in append mode.&]
|
|
[s4; [%00-00*C@3 fn]-|File name.&]
|
|
[s4; [*/ Return value]-|true when Open was successful.&]
|
|
[s0;3 &]
|
|
[s0;3 &]
|
|
[s0;3 &]
|
|
[s0;3 &]
|
|
[s5;K^`:`:Stream^ [%00-00^^@(0.0.255) class][%00-00^^ _][%00-00^^@0 SizeStream][%00-00^^ _:_][%00-00^^@(0.0.255) p
|
|
ublic][%00-00^^ _][%00-00 Stream]&]
|
|
[s2; &]
|
|
[s2; Special output stream that in fact does not store output data,
|
|
only counts the total number of bytes written.&]
|
|
[s2; &]
|
|
[s0;^topic`:`/`/Core`/src`/Stream`$en`-us`#`:`:BufferStream`:`:class BufferStream^ [/^^ D
|
|
erived from][^^ ][%00-00 BufferStream]&]
|
|
[s0;3 &]
|
|
[s0;:`:`:SizeStream`:`:SizeStream`(`): [%00-00* SizeStream][%00-00 ()]&]
|
|
[s2; Constructor `- co&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00 virtual ][%00-00@(0.0.255) void][%00-00 _][%00-00@0 `_Put][%00-00 (][%00-00@(0.0.255) i
|
|
nt][%00-00 _][%00-00@3 w][%00-00 )]&]
|
|
[s4; [*/ Return value]-|Current number of bytes written.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Open][%00-00 ()]&]
|
|
[s2; Reopens data `- resets the counter of output bytes.&]
|
|
[s0;3 &]
|
|
[s0;3 &]
|
|
[s0;3 &]
|
|
[s0;3 &]
|
|
[s5;K^`:`:Stream^ [%00-00^^@(0.0.255) class][%00-00^^ _][%00-00^^@0 CompareStream][%00-00^^ _
|
|
:_][%00-00^^@(0.0.255) public][%00-00^^ _][%00-00 Stream]&]
|
|
[s2; &]
|
|
[s2; Special output stream that instead of storing data performs
|
|
their comparison to the data of another stream.&]
|
|
[s2; &]
|
|
[s0;^topic`:`/`/Core`/src`/Stream`$en`-us`#`:`:BufferStream`:`:class BufferStream^ [/^^ D
|
|
erived from][^^ ][%00-00 BufferStream]&]
|
|
[s0;3 &]
|
|
[s0;:`:`:CompareStream`:`:CompareStream`(`): [%00-00* CompareStream][%00-00 ()]&]
|
|
[s2; Constructs closed CompareStream.&]
|
|
[s0;3 &]
|
|
[s0;:`:`:CompareStream`:`:CompareStream`(`:`:Stream`&`): [%00-00* CompareStream][%00-00 (
|
|
Stream`&_][%00-00*@3 aStream][%00-00 )]&]
|
|
[s2; Constructors CompareStream opened for comparison with specified
|
|
stream.&]
|
|
[s4; [%00-00*C@3 aStream]-|Stream to compare with.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00 virtual ][%00-00@(0.0.255) void][%00-00 _][%00-00@0 `_Put][%00-00 (][%00-00@(0.0.255) i
|
|
nt][%00-00 _][%00-00@3 w][%00-00 )]&]
|
|
[s2; Opens CompareStream for comparison with the specified stream.&]
|
|
[s4; [%00-00*C@3 aStream]-|Stream to compare with.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00@(0.0.255) bool][%00-00 _][%00-00@0 IsEqual][%00-00 ()]&]
|
|
[s4; [*/ Return value]-|true if all bytes written so far match those
|
|
in comparison stream.&]
|
|
[s0;3 &]
|
|
[s5;K [%00-00 operator_][%00-00@(0.0.255) bool][%00-00 ()]&]
|
|
[s4; [*/ Return value]-|IsEqual().&]
|
|
[s0; ] |