mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-05-17 06:06:00 -06:00
1264 lines
No EOL
49 KiB
C++
1264 lines
No EOL
49 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;a4;*@5;1 $$6,6#70004532496200323422659154056402:requirement]
|
|
[l288;i1121;b17;O9;~~~.1408;2 $$7,0#10431211400427159095818037425705:param]
|
|
[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam]
|
|
[b42;2 $$9,9#13035079074754324216151401829390:normal]
|
|
[{_}%EN-US
|
|
[s0; [*@3;4 Stream]&]
|
|
[s1;:Stream`:`:class:%- [@(0.0.255)3 class][3 _][*3 Stream]&]
|
|
[s0;%- &]
|
|
[s0; Stream is the base class of all U`+`+ streams.&]
|
|
[s0; U`+`+ streams generally serve in two different roles:&]
|
|
[s0;i150;O0; As basic raw binary streams, which includes text input
|
|
and output.&]
|
|
[s0;i150;O0; As binary serialization target/source. This mainly needs
|
|
to store flag indicating serialization direction.&]
|
|
[s0; &]
|
|
[s0; While Stream offers a basic interface for stream based operations,
|
|
more specific operations are handled by one of the following
|
|
classes derived from Stream:&]
|
|
[s0; &]
|
|
[ {{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; ]}}&]
|
|
[s3; &]
|
|
[s0; &]
|
|
[s0; 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; &]
|
|
[ {{10000F(128)G(128)@1 [s0; [* Protected members]]}}&]
|
|
[s3;%- &]
|
|
[s5;:Stream`:`:pos:%- [_^int64^ int64]_[* pos]&]
|
|
[s6;%- Protected.&]
|
|
[s2; Position of buffer in the stream.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:buffer:%- [_^byte^ byte]_`*[* buffer]&]
|
|
[s6; Protected.&]
|
|
[s2; Pointer to beginning of buffer.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:ptr:%- [_^byte^ byte]_`*[* ptr]&]
|
|
[s6; Protected.&]
|
|
[s2; Pointer to current input/output byte.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:rdlim:%- [_^byte^ byte]_`*[* rdlim]&]
|
|
[s6; Protected.&]
|
|
[s2; Read limit. [* Get] method returns values from buffer as long
|
|
as [* ptr < rdlim].&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:wrlim:%- [_^byte^ byte]_`*[* wrlim]&]
|
|
[s6; Protected.&]
|
|
[s2; Write limit. [* Put] method returns values from buffer as long
|
|
as [* ptr < wrlim].&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:`_Put`(int`):%- [@(0.0.255) virtual] [@(0.0.255) void]_[* `_Put]([@(0.0.255) i
|
|
nt]_[*@3 w])&]
|
|
[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.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:`_Term`(`):%- [@(0.0.255) virtual] [@(0.0.255) int]_[* `_Term]()&]
|
|
[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.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:`_Get`(`):%- [@(0.0.255) virtual] [@(0.0.255) int]_[* `_Get]()&]
|
|
[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.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:`_Put`(const void`*`,dword`):%- [@(0.0.255) virtual]
|
|
[@(0.0.255) void]_[* `_Put]([@(0.0.255) const]_[@(0.0.255) void]_`*[*@3 data],
|
|
[_^dword^ dword]_[*@3 size])&]
|
|
[s2; Directly called by [* Put] method. Writes a block of binary data.&]
|
|
[s7; [%-*C@3 data]-|Pointer to data.&]
|
|
[s7; [%-*C@3 size]-|Size.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:`_Get`(void`*`,dword`):%- [@(0.0.255) virtual] [_^dword^ dword]_[* `_Get]([@(0.0.255) v
|
|
oid]_`*[*@3 data], [_^dword^ dword]_[*@3 size])&]
|
|
[s2; Directly called by [* Get] method. &]
|
|
[s7; [%-*C@3 data]-|&]
|
|
[s7; [%-*C@3 size]-|&]
|
|
[s7; [*/ Return value]-|&]
|
|
[s3; &]
|
|
[s0; &]
|
|
[ {{10000F(128)G(128)@1 [s0; [* Constructor Detail]]}}&]
|
|
[s3; &]
|
|
[s5;:Stream`:`:Stream`(`):%- [* Stream]()&]
|
|
[s2; Default constructor. Sets stream into Loading serialization
|
|
mode and zero level indentation. All protected variables are
|
|
set to 0 / NULL.&]
|
|
[s3;%- &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:Stream`(const Stream`&`):%- [* Stream]([@(0.0.255) const]_[* Stream][@(0.0.255) `&
|
|
]_[*@3 s])&]
|
|
[s2; Default copy constructor.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:`~Stream`(`):%- [@(0.0.255) `~][* Stream]()&]
|
|
[s2; Default destructor.&]
|
|
[s3;%- &]
|
|
[s0; &]
|
|
[ {{10000F(128)G(128)@1 [s0; [* Public Member List: Raw Operations]]}}&]
|
|
[s3;%- &]
|
|
[s5;:Stream`:`:Seek`(int64`):%- [@(0.0.255) virtual] [@(0.0.255) void]_[* Seek]([_^int64^ int
|
|
64]_[*@3 pos])&]
|
|
[s2; Seeks to given position.&]
|
|
[s7; [%-*C@3 pos]-|Position.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:GetSize`(`)const:%- [@(0.0.255) virtual] [_^int64^ int64]_[* GetSize]()_[@(0.0.255) c
|
|
onst]&]
|
|
[s7; [* Return value]-|Size of stream.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;K%- [@(0.0.255) virtual] [@(0.0.255) void]_[* SetSize]([_^int64^ int64]_[*@3 size])&]
|
|
[s2; Alters the size of the stream.&]
|
|
[s7; [%-*C@3 size]-|New size.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:Flush`(`):%- [@(0.0.255) virtual] [@(0.0.255) void]_[* Flush]()&]
|
|
[s2; If stream has any internal buffers (like [* FileStream]), writes
|
|
these buffers to OS.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:Close`(`):%- [@(0.0.255) virtual] [@(0.0.255) void]_[* Close]()&]
|
|
[s2; Closes stream.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:IsOpen`(`)const:%- [@(0.0.255) virtual] [@(0.0.255) bool]_[* IsOpen]()_[@(0.0.255) c
|
|
onst]_`=_[@3 0]&]
|
|
[s7; [* Return value]-|true if stream is open.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:IsError`(`)const:%- [@(0.0.255) bool]_[* IsError]()_[@(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.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:IsOK`(`)const:%- [@(0.0.255) bool]_[* IsOK]()_[@(0.0.255) const]&]
|
|
[s7; [*/ Return value]-|!IsError().&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:SetError`(int`):%- [@(0.0.255) void]_[* SetError]([@(0.0.255) int]_[*@3 c]_`=_
|
|
[@3 0])&]
|
|
[s2; Sets stream error code.&]
|
|
[s7; [%-*C@3 c]-|Error code.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:SetLastError`(`):%- [@(0.0.255) void]_[* SetLastError]()&]
|
|
[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.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;K%- [@(0.0.255) int]_[* GetError]()_[@(0.0.255) const]&]
|
|
[s7; [*/ Return value]-|Current error`-code. Zero indicates no error.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:ClearError`(`):%- [@(0.0.255) void]_[* ClearError]()&]
|
|
[s2; Clears error code.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;K%- [_^int64^ int64]_[* GetPos]()_[@(0.0.255) const]&]
|
|
[s7; [*/ Return value]-|Current position in the stream.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:IsEof`(`)const:%- [@(0.0.255) bool]_[* IsEof]()_[@(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.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;K%- [_^int64^ int64]_[* GetLeft]()_[@(0.0.255) const]&]
|
|
[s7; [*/ Return value]-|Bytes between current position and the end of
|
|
stream `- equivalent to GetSize() `- GetPos().&]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:SeekEnd`(int64`):%- [@(0.0.255) void]_[* SeekEnd]([_^int64^ int64]_[*@3 rel]_`=
|
|
_[@3 0])&]
|
|
[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.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:SeekCur`(int64`):%- [@(0.0.255) void]_[* SeekCur]([_^int64^ int64]_[*@3 rel])&]
|
|
[s2; Sets current position in the stream relative to the current
|
|
position. Same as Seek(GetPos() `+ rel).&]
|
|
[s7; [%-*C@3 rel]-|Relative offset.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:Put`(int`):%- [@(0.0.255) void]_[* Put]([@(0.0.255) int]_[*@3 c])&]
|
|
[s2; Puts single byte into the output stream.&]
|
|
[s7; [%-*C@3 c]-|Byte.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:Term`(`):%- [@(0.0.255) int]_[* Term]()&]
|
|
[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.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:Get`(`):%- [@(0.0.255) int]_[* Get]()&]
|
|
[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.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:Put`(const void`*`,dword`):%- [@(0.0.255) void]_[* Put]([@(0.0.255) const]_[@(0.0.255) v
|
|
oid]_`*[*@3 data], [_^dword^ dword]_[*@3 size])&]
|
|
[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.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:Get`(void`*`,dword`):%- [_^dword^ dword]_[* Get]([@(0.0.255) void]_`*[*@3 data
|
|
], [_^dword^ dword]_[*@3 size])&]
|
|
[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]).&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:Get`(dword`):%- [_^String^ String]_[* Get]([_^dword^ dword]_[*@3 size])&]
|
|
[s2; Reads a block of raw binary data from the input stream. The
|
|
number of bytes read is the length of String.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:LoadThrowing`(`):%- [@(0.0.255) void]_[* LoadThrowing]()&]
|
|
[s2; Sets stream into the mode that throws LoadingError exception
|
|
when LoadError is invoked. This mode is typical for serialization
|
|
usage of stream.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:LoadError`(`):%- [@(0.0.255) void]_[* LoadError]()&]
|
|
[s2; Performs SetError(ERROR`_LOADING`_FAILED). If Stream set to
|
|
the LoadThrowing mode (by LoadThrowing() method), LoadingError
|
|
exception is thrown.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:GetAll`(void`*`,dword`):%- [@(0.0.255) bool]_[* GetAll]([@(0.0.255) void]_`*
|
|
[*@3 data], [_^dword^ dword]_[*@3 size])&]
|
|
[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.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:Get8`(`):%- [@(0.0.255) int]_[* Get8]()&]
|
|
[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.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:Get16`(`):%- [@(0.0.255) int]_[* Get16]()&]
|
|
[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.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:Get32`(`):%- [@(0.0.255) int]_[* Get32]()&]
|
|
[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.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:Get64`(`):%- [_^int64^ int64]_[* Get64]()&]
|
|
[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.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:Get16le`(`):%- [@(0.0.255) int]_[* Get16le]()&]
|
|
[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.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:Get32le`(`):%- [@(0.0.255) int]_[* Get32le]()&]
|
|
[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.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:Get64le`(`):%- [_^int64^ int64]_[* Get64le]()&]
|
|
[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.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:Get16be`(`):%- [@(0.0.255) int]_[* Get16be]()&]
|
|
[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.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:Get32be`(`):%- [@(0.0.255) int]_[* Get32be]()&]
|
|
[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.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:Get64be`(`):%- [_^int64^ int64]_[* Get64be]()&]
|
|
[s2; Reads 64`-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.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:GetLine`(`):%- [_^String^ String]_[* GetLine]()&]
|
|
[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.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:GetUtf8`(`):%- [@(0.0.255) int]_[* GetUtf8]()&]
|
|
[s2; Reads single Utf8 encoded value from the stream.&]
|
|
[s7; [*/ Return value]-|Utf`-8 value.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:Put16`(word`):%- [@(0.0.255) void]_[* Put16]([_^word^ word]_[*@3 q])&]
|
|
[s2; Writes 16`-bit value [%-*@3 q ]in platform specific format (either
|
|
little`-endian or big`-endian).&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:Put32`(dword`):%- [@(0.0.255) void]_[* Put32]([_^dword^ dword]_[*@3 q])&]
|
|
[s2; Writes 32`-bit value [%-*@3 q ]in platform specific format (either
|
|
little`-endian or big`-endian).&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:Put64`(int64`):%- [@(0.0.255) void]_[* Put64]([_^int64^ int64]_[*@3 q])&]
|
|
[s2; Writes 64`-bit value [%-*@3 q ]in platform specific format (either
|
|
little`-endian or big`-endian).&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:Put16le`(word`):%- [@(0.0.255) void]_[* Put16le]([_^word^ word]_[*@3 q])&]
|
|
[s2; Writes 16`-bit value [%-*@3 q ]in little`-endian mode.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:Put32le`(dword`):%- [@(0.0.255) void]_[* Put32le]([_^dword^ dword]_[*@3 q])&]
|
|
[s2; Writes 32`-bit value [%-*@3 q ]in little`-endian mode.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:Put64le`(int64`):%- [@(0.0.255) void]_[* Put64le]([_^int64^ int64]_[*@3 q])&]
|
|
[s2; Writes 64`-bit value [%-*@3 q ]in little`-endian mode.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:Put16be`(word`):%- [@(0.0.255) void]_[* Put16be]([_^word^ word]_[*@3 q])&]
|
|
[s2; Writes 16`-bit value [%-*@3 q ]in big`-endian mode.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:Put32be`(dword`):%- [@(0.0.255) void]_[* Put32be]([_^dword^ dword]_[*@3 q])&]
|
|
[s2; Writes 32`-bit value [%-*@3 q ]in big`-endian mode.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:Put64be`(int64`):%- [@(0.0.255) void]_[* Put64be]([_^int64^ int64]_[*@3 q])&]
|
|
[s2; Writes 64`-bit value [%-*@3 q ]in big`-endian mode.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:PutUtf8`(int`):%- [@(0.0.255) void]_[* PutUtf8]([@(0.0.255) int]_[*@3 c])&]
|
|
[s2; Puts a single Utf8 value to the stream.&]
|
|
[s7; [%-*C@3 c]-|Value.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:Put`(const char`*`):%- [@(0.0.255) void]_[* Put]([@(0.0.255) const]_[@(0.0.255) c
|
|
har]_`*[*@3 s])&]
|
|
[s2; Writes zero terminated string to the stream (zero is not written).&]
|
|
[s7; [%-*C@3 s]-|String to write.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:Put`(const String`&`):%- [@(0.0.255) void]_[* Put]([@(0.0.255) const]_[_^String^ S
|
|
tring][@(0.0.255) `&]_[*@3 s])&]
|
|
[s2; Writes String to the the stream. String can contain zero characters.&]
|
|
[s7; [%-*C@3 s]-|String to write.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:Put`(int`,int`):%- [@(0.0.255) void]_[* Put]([@(0.0.255) int]_[*@3 c],
|
|
[@(0.0.255) int]_[*@3 count])&]
|
|
[s2; Writes single byte to the stream requested number of times.&]
|
|
[s7; [%-*C@3 c]-|Byte to write.&]
|
|
[s7; [%-*C@3 count]-|Repeat count.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:Put0`(int`):%- [@(0.0.255) void]_[* Put0]([@(0.0.255) int]_[*@3 count])&]
|
|
[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.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:PutW`(const wchar`*`,int`):%- [@(0.0.255) void]_[* PutW]([@(0.0.255) const]_
|
|
[_^wchar^ wchar]_`*[*@3 s], [@(0.0.255) int]_[*@3 count])&]
|
|
[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.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:GetW`(wchar`*`,int`):%- [_^dword^ dword]_[* GetW]([_^wchar^ wchar]_`*[*@3 s],
|
|
[@(0.0.255) int]_[*@3 count])&]
|
|
[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.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:GetAllW`(wchar`*`,int`):%- [@(0.0.255) bool]_[* GetAllW]([_^wchar^ wchar]_`*
|
|
[*@3 s], [@(0.0.255) int]_[*@3 count])&]
|
|
[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]-|&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:PutCrLf`(`):%- [@(0.0.255) void]_[* PutCrLf]()&]
|
|
[s2; Writes CR`-LF pair to the stream. &]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:PutEol`(`):%- [@(0.0.255) void]_[* PutEol]()&]
|
|
[s2; Writes platform specific `"end of line`" to the stream. It is
|
|
CR`-LF pair on Win32 platform or single LF on Posix platform.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:operator`<`<`(EOLenum`):%- [_^Stream^ Stream][@(0.0.255) `&]_[* operator<<](
|
|
EOLenum)&]
|
|
[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.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:PutLine`(const char`*`):%- [@(0.0.255) void]_[* PutLine]([@(0.0.255) const]_
|
|
[@(0.0.255) char]_`*[*@3 s])&]
|
|
[s2; Writes a line to stream `- equivalent of Put(s); PutEol();&]
|
|
[s7; [%-*C@3 s]-|Zero`-terminated string.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:PutLine`(const String`&`):%- [@(0.0.255) void]_[* PutLine]([@(0.0.255) const
|
|
]_[_^String^ String][@(0.0.255) `&]_[*@3 s])&]
|
|
[s2; Writes a line to stream `- equivalent of Put(s); PutEol();&]
|
|
[s7; [%-*C@3 s]-|String.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:Put`(Stream`&`,int64`,dword`):%- [@(0.0.255) void]_[* Put]([_^Stream^ Stream
|
|
][@(0.0.255) `&]_[*@3 s], [_^int64^ int64]_[*@3 size]_`=_INT64`_MAX,
|
|
[_^dword^ dword]_[*@3 click]_`=_[@3 4096])&]
|
|
[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.&]
|
|
[s3; &]
|
|
[s0; &]
|
|
[ {{10000F(128)G(128)@1 [s0; [* Public Member List: Serialization Support]]}}&]
|
|
[s3;%- &]
|
|
[s5;:Stream`:`:SetLoading`(`):%- [@(0.0.255) void]_[* SetLoading]()&]
|
|
[s2; Sets the stream into the loading mode.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:SetStoring`(`):%- [@(0.0.255) void]_[* SetStoring]()&]
|
|
[s2; Sets the stream into the storing mode.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:IsLoading`(`):%- [@(0.0.255) bool]_[* IsLoading]()&]
|
|
[s7; [*/ Return value]-|true if stream is in loading mode.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:IsStoring`(`):%- [@(0.0.255) bool]_[* IsStoring]()&]
|
|
[s7; [*/ Return value]-|true if stream is in storing mode.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:SerializeRaw`(byte`*`,dword`):%- [@(0.0.255) void]_[* SerializeRaw]([_^byte^ b
|
|
yte]_`*[*@3 data], [_^dword^ dword]_[*@3 count])&]
|
|
[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.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:SerializeRaw`(word`*`,dword`):%- [@(0.0.255) void]_[* SerializeRaw]([_^word^ w
|
|
ord]_`*[*@3 data], [_^dword^ dword]_[*@3 count])&]
|
|
[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.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:SerializeRaw`(dword`*`,dword`):%- [@(0.0.255) void]_[* SerializeRaw]([_^dword^ d
|
|
word]_`*[*@3 data], [_^dword^ dword]_[*@3 count])&]
|
|
[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.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:SerializeRaw`(uint64`*`,dword`):%- [@(0.0.255) void]_[* SerializeRaw]([_^uint64^ u
|
|
int64]_`*[*@3 data], [_^dword^ dword]_[*@3 count])&]
|
|
[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.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:operator`%`(bool`&`):%- [_^Stream^ Stream][@(0.0.255) `&]_[* operator%]([@(0.0.255) b
|
|
ool`&]_[*@3 d])&]
|
|
[s2; Serializes bool variable [%-*@3 d]. Might invoke LoadError if
|
|
there is not enough data to load. Returns [* `*this] for chaining.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:operator`%`(char`&`):%- [_^Stream^ Stream][@(0.0.255) `&]_[* operator%]([@(0.0.255) c
|
|
har`&]_[*@3 d])&]
|
|
[s2; Serializes char variable [%-*@3 d]. Might invoke LoadError if
|
|
there is not enough data to load. Returns [* `*this] for chaining.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:operator`%`(signed char`&`):%- [_^Stream^ Stream][@(0.0.255) `&]_[* operator
|
|
%]([@(0.0.255) signed]_[@(0.0.255) char`&]_[*@3 d])&]
|
|
[s2; Serializes signed char variable [%-*@3 d]. Might invoke LoadError
|
|
if there is not enough data to load. Returns [* `*this] for chaining.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:operator`%`(unsigned char`&`):%- [_^Stream^ Stream][@(0.0.255) `&]_[* operat
|
|
or%]([@(0.0.255) unsigned]_[@(0.0.255) char`&]_[*@3 d])&]
|
|
[s2; Serializes unsigned char variable [%-*@3 d]. Might invoke LoadError
|
|
if there is not enough data to load. Returns [* `*this] for chaining.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:operator`%`(short`&`):%- [_^Stream^ Stream][@(0.0.255) `&]_[* operator%]([@(0.0.255) s
|
|
hort`&]_[*@3 d])&]
|
|
[s2; Serializes short variable [%-*@3 d]. Might invoke LoadError if
|
|
there is not enough data to load. Returns [* `*this] for chaining.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:operator`%`(unsigned short`&`):%- [_^Stream^ Stream][@(0.0.255) `&]_[* opera
|
|
tor%]([@(0.0.255) unsigned]_[@(0.0.255) short`&]_[*@3 d])&]
|
|
[s2; Serializes unsigned short variable [%-*@3 d]. Might invoke LoadError
|
|
if there is not enough data to load. Returns [* `*this] for chaining.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:operator`%`(int`&`):%- [_^Stream^ Stream][@(0.0.255) `&]_[* operator%]([@(0.0.255) i
|
|
nt`&]_[*@3 d])&]
|
|
[s2; Serializes int variable [%-*@3 d]. Might invoke LoadError if there
|
|
is not enough data to load. Returns [* `*this] for chaining.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:operator`%`(unsigned int`&`):%- [_^Stream^ Stream][@(0.0.255) `&]_[* operato
|
|
r%]([@(0.0.255) unsigned]_[@(0.0.255) int`&]_[*@3 d])&]
|
|
[s2; Serializes unsigned int variable [%-*@3 d]. Might invoke LoadError
|
|
if there is not enough data to load. Returns [* `*this] for chaining.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:operator`%`(long`&`):%- [_^Stream^ Stream][@(0.0.255) `&]_[* operator%]([@(0.0.255) l
|
|
ong`&]_[*@3 d])&]
|
|
[s2; Serializes long variable [%-*@3 d]. Might invoke LoadError if
|
|
there is not enough data to load. Returns [* `*this] for chaining.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:operator`%`(unsigned long`&`):%- [_^Stream^ Stream][@(0.0.255) `&]_[* operat
|
|
or%]([@(0.0.255) unsigned]_[@(0.0.255) long`&]_[*@3 d])&]
|
|
[s2; Serializes unsigned long variable [%-*@3 d]. Might invoke LoadError
|
|
if there is not enough data to load. Returns [* `*this] for chaining.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:operator`%`(float`&`):%- [_^Stream^ Stream][@(0.0.255) `&]_[* operator%]([@(0.0.255) f
|
|
loat`&]_[*@3 d])&]
|
|
[s2; Serializes float variable [%-*@3 d]. Might invoke LoadError if
|
|
there is not enough data to load. Returns [* `*this] for chaining.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:operator`%`(double`&`):%- [_^Stream^ Stream][@(0.0.255) `&]_[* operator%]([@(0.0.255) d
|
|
ouble`&]_[*@3 d])&]
|
|
[s2; Serializes double variable [%-*@3 d]. Might invoke LoadError if
|
|
there is not enough data to load. Returns [* `*this] for chaining.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:operator`%`(int64`&`):%- [_^Stream^ Stream][@(0.0.255) `&]_[* operator%]([_^int64^ i
|
|
nt64][@(0.0.255) `&]_[*@3 d])&]
|
|
[s2; Serializes int64 variable [%-*@3 d]. Might invoke LoadError if
|
|
there is not enough data to load. Returns [* `*this] for chaining.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:operator`%`(uint64`&`):%- [_^Stream^ Stream][@(0.0.255) `&]_[* operator%]([_^uint64^ u
|
|
int64][@(0.0.255) `&]_[*@3 d])&]
|
|
[s2; Serializes uint64 variable [%-*@3 d]. Might invoke LoadError if
|
|
there is not enough data to load. Returns [* `*this] for chaining.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:operator`%`(String`&`):%- [_^Stream^ Stream][@(0.0.255) `&]_[* operator%]([_^String^ S
|
|
tring][@(0.0.255) `&]_[*@3 s])&]
|
|
[s2; Serializes String variable [%-*@3 s]. Might invoke LoadError if
|
|
there is not enough data to load or input data are invalid. Returns
|
|
[* `*this] for chaining.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:operator`/`(String`&`):%- [_^Stream^ Stream][@(0.0.255) `&]_[* operator/]([_^String^ S
|
|
tring][@(0.0.255) `&]_[*@3 s])&]
|
|
[s2; Serializes String variable [%-*@3 s ]using RLE compression and
|
|
packed format for length. Might invoke LoadError if there is
|
|
not enough data to load or input data are invalid. Returns [* `*this]
|
|
for chaining.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:operator`%`(WString`&`):%- [_^Stream^ Stream][@(0.0.255) `&]_[* operator%]([_^WString^ W
|
|
String][@(0.0.255) `&]_[*@3 s])&]
|
|
[s2; Serializes WString variable. Might invoke LoadError if there
|
|
is not enough data to load or input data are invalid. Returns
|
|
[* `*this] for chaining.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:operator`/`(WString`&`):%- [_^Stream^ Stream][@(0.0.255) `&]_[* operator/]([_^WString^ W
|
|
String][@(0.0.255) `&]_[*@3 s])&]
|
|
[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. Returns [* `*this] for
|
|
chaining.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:Pack`(dword`&`):%- [@(0.0.255) void]_[* Pack]([_^dword^ dword][@(0.0.255) `&]_
|
|
[*@3 i])&]
|
|
[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.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:operator`/`(int`&`):%- [_^Stream^ Stream][@(0.0.255) `&]_[* operator/]([@(0.0.255) i
|
|
nt`&]_[*@3 i])&]
|
|
[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.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:operator`/`(unsigned int`&`):%- [_^Stream^ Stream][@(0.0.255) `&]_[* operato
|
|
r/]([@(0.0.255) unsigned]_[@(0.0.255) int`&]_[*@3 i])&]
|
|
[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.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:Magic`(dword`):%- [@(0.0.255) void]_[* Magic]([_^dword^ dword]_[*@3 magic]_`=_
|
|
[@3 0]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.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:Pack`(bool`&`,bool`&`,bool`&`,bool`&`,bool`&`,bool`&`,bool`&`,bool`&`):%- [@(0.0.255) v
|
|
oid]_[* Pack]([@(0.0.255) bool`&]_[*@3 a], [@(0.0.255) bool`&]_[*@3 b],
|
|
[@(0.0.255) bool`&]_[*@3 c], [@(0.0.255) bool`&]_[*@3 d], [@(0.0.255) bool`&]_[*@3 e],
|
|
[@(0.0.255) bool`&]_[*@3 f], [@(0.0.255) bool`&]_[*@3 g], [@(0.0.255) bool`&]_[*@3 h])&]
|
|
[s2; Serializes a set of boolean values compressed into single byte.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:Pack`(bool`&`,bool`&`,bool`&`,bool`&`,bool`&`,bool`&`,bool`&`):%- [@(0.0.255) v
|
|
oid]_[* Pack]([@(0.0.255) bool`&]_[*@3 a], [@(0.0.255) bool`&]_[*@3 b],
|
|
[@(0.0.255) bool`&]_[*@3 c], [@(0.0.255) bool`&]_[*@3 d], [@(0.0.255) bool`&]_[*@3 e],
|
|
[@(0.0.255) bool`&]_[*@3 f], [@(0.0.255) bool`&]_[*@3 g])&]
|
|
[s2; Serializes a set of boolean values compressed into single byte.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:Pack`(bool`&`,bool`&`,bool`&`,bool`&`,bool`&`,bool`&`):%- [@(0.0.255) vo
|
|
id]_[* Pack]([@(0.0.255) bool`&]_[*@3 a], [@(0.0.255) bool`&]_[*@3 b],
|
|
[@(0.0.255) bool`&]_[*@3 c], [@(0.0.255) bool`&]_[*@3 d], [@(0.0.255) bool`&]_[*@3 e],
|
|
[@(0.0.255) bool`&]_[*@3 f])&]
|
|
[s2; Serializes a set of boolean values compressed into single byte.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:Pack`(bool`&`,bool`&`,bool`&`,bool`&`,bool`&`):%- [@(0.0.255) void]_[* Pac
|
|
k]([@(0.0.255) bool`&]_[*@3 a], [@(0.0.255) bool`&]_[*@3 b], [@(0.0.255) bool`&]_[*@3 c],
|
|
[@(0.0.255) bool`&]_[*@3 d], [@(0.0.255) bool`&]_[*@3 e])&]
|
|
[s2; Serializes a set of boolean values compressed into single byte.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:Pack`(bool`&`,bool`&`,bool`&`,bool`&`):%- [@(0.0.255) void]_[* Pack]([@(0.0.255) b
|
|
ool`&]_[*@3 a], [@(0.0.255) bool`&]_[*@3 b], [@(0.0.255) bool`&]_[*@3 c],
|
|
[@(0.0.255) bool`&]_[*@3 d])&]
|
|
[s2; Serializes a set of boolean values compressed into single byte.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:Pack`(bool`&`,bool`&`,bool`&`):%- [@(0.0.255) void]_[* Pack]([@(0.0.255) boo
|
|
l`&]_[*@3 a], [@(0.0.255) bool`&]_[*@3 b], [@(0.0.255) bool`&]_[*@3 c])&]
|
|
[s2; Serializes a set of boolean values compressed into single byte.&]
|
|
[s4;%- &]
|
|
[s5;:Stream`:`:Pack`(bool`&`,bool`&`):%- [@(0.0.255) void]_[* Pack]([@(0.0.255) bool`&]_[*@3 a
|
|
], [@(0.0.255) bool`&]_[*@3 b])&]
|
|
[s2; Serializes a set of boolean values compressed into single byte.&]
|
|
[s3; &]
|
|
[s0;3 &]
|
|
[s0;3 &]
|
|
[s0;3 &]
|
|
[s0;3 &]
|
|
[s0; [@3;4 StringStream]&]
|
|
[s1;:StringStream`:`:class:%- [@(0.0.255)3 class][3 _][*3 StringStream][3 _:_][@(0.0.255)3 publi
|
|
c][3 _][*@3;3 Stream]&]
|
|
[s9; StringStream is stream that uses String as storage medium.&]
|
|
[s2; &]
|
|
[s0;%- [%%/ Derived from][%% ][^topic`:`/`/Core`/src`/Stream`$en`-us`#`:`:Stream`:`:class Stream^ S
|
|
tream]&]
|
|
[s3; &]
|
|
[s0;%- &]
|
|
[ {{10000F(128)G(128)@1 [s0; [* Constructor Detail]]}}&]
|
|
[s3;%- &]
|
|
[s5;:StringStream`:`:StringStream`(`):%- [* StringStream]()&]
|
|
[s2; Consructs empty stream and sets it into Storing serialization
|
|
mode (like [* Create]).&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:StringStream`:`:StringStream`(const String`&`):%- [* StringStream]([@(0.0.255) const
|
|
]_[_^String^ String][@(0.0.255) `&]_[*@3 data])&]
|
|
[s2; Constructs stream with specified content and sets it into Loading
|
|
serialization mode (like [* Open]).&]
|
|
[s7; [%-*C@3 data]-|Content of stream.&]
|
|
[s3; &]
|
|
[s0;3 &]
|
|
[s0;%- &]
|
|
[ {{10000F(128)G(128)@1 [s0; [* Public Member List: Serialization Support]]}}&]
|
|
[s3;%- &]
|
|
[s5;:StringStream`:`:Open`(const String`&`):%- [@(0.0.255) void]_[* Open]([@(0.0.255) const
|
|
]_[_^String^ String][@(0.0.255) `&]_[*@3 data])&]
|
|
[s2;%- Sets the content of stream to specified String and sets it
|
|
into the Loading serialization mode.&]
|
|
[s7; [%-*C@3 data]-|Content of stream.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:StringStream`:`:Create`(`):%- [@(0.0.255) void]_[* Create]()&]
|
|
[s2; Creates empty StringStream and sets it into Storing serialization
|
|
mode.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:StringStream`:`:Reserve`(int`):%- [@(0.0.255) void]_[* Reserve]([@(0.0.255) int]_[*@3 n])
|
|
&]
|
|
[s2; Reserves additional [%-*@3 n] bytes of internal storage as optimization
|
|
hint. This might speedup the operation in certain cases if you
|
|
know how much data approximately will be put into StringStream.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:StringStream`:`:GetResult`(`):%- [_^String^ String]_[* GetResult]()&]
|
|
[s2; Returns resulting String.&]
|
|
[s7; [*/ Return value]-|Result.&]
|
|
[s3; &]
|
|
[s4;%- &]
|
|
[s5;:StringStream`:`:operator String`(`):%- [* operator_String]()&]
|
|
[s7; [*/ Return value]-|[^topic`:`/`/Core`/src`/Stream`$en`-us`#StringStream`:`:GetResult`(`)^ G
|
|
etResult]().&]
|
|
[s0;3 &]
|
|
[s0;3 &]
|
|
[s0;3 &]
|
|
[s0;3 &]
|
|
[s0; [*@3;4 MemStream]&]
|
|
[s1;:MemStream`:`:class:%- [@(0.0.255)3 class][3 _][*3 MemStream][3 _:_][@(0.0.255)3 public][3 _][*@3;3 S
|
|
tream]&]
|
|
[s9; Stream that is using raw memory as its content.&]
|
|
[s2; &]
|
|
[s0;%- [%%/ Derived from][%% ][^topic`:`/`/Core`/src`/Stream`$en`-us`#`:`:Stream`:`:class Stream^ S
|
|
tream]&]
|
|
[s3; &]
|
|
[s0; &]
|
|
[ {{10000F(128)G(128)@1 [s0; [* Constructor Detail]]}}&]
|
|
[s3;%- &]
|
|
[s5;:MemStream`:`:MemStream`(void`*`,int`):%- [* MemStream]([@(0.0.255) void]_`*[*@3 data],
|
|
[@(0.0.255) 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;3 &]
|
|
[s0;3 &]
|
|
[s0;3 &]
|
|
[s0;3 &]
|
|
[s0;%- [*@3;4 MemReadStream]&]
|
|
[s1;:MemReadStream`:`:class:%- [@(0.0.255)3 class][3 _][*3 MemReadStream][3 _:_][@(0.0.255)3 pub
|
|
lic][3 _][*@3;3 MemStream]&]
|
|
[s9; Read`-only stream using raw memory as content.&]
|
|
[s2; &]
|
|
[s0;%- [%%/ Derived from][%% ][^topic`:`/`/Core`/src`/Stream`$en`-us`#`:`:MemStream`:`:class MemStream^ M
|
|
emStream]&]
|
|
[s0;3 &]
|
|
[s0;%- &]
|
|
[ {{10000F(128)G(128)@1 [s0; [* Constructor Detail]]}}&]
|
|
[s3; &]
|
|
[s5;:MemReadStream`:`:MemReadStream`(const void`*`,int`):%- [* MemReadStream]([@(0.0.255) c
|
|
onst]_[@(0.0.255) void]_`*[*@3 data], [@(0.0.255) int]_[*@3 size])&]
|
|
[s2; Constructs [* MemStream] at specified memory buffer.&]
|
|
[s7; [%-*C@3 data]-|Pointer to the stream content.&]
|
|
[s7; [%-*C@3 size]-|Size.&]
|
|
[s3; &]
|
|
[s0;3 &]
|
|
[s0;3 &]
|
|
[s0;3 &]
|
|
[s0; [*@3;4 BlockStream]&]
|
|
[s1;:BlockStream`:`:class:%- [@(0.0.255)3 class][3 _][*3 BlockStream][3 _:_][@(0.0.255)3 public][3 _
|
|
][*@3;3 Stream]&]
|
|
[s9; 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;3 &]
|
|
[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;3 &]
|
|
[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;3 &]
|
|
[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;3 &]
|
|
[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;3 &]
|
|
[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;3 &]
|
|
[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;3 &]
|
|
[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;3 &]
|
|
[s5;K%- [^`:`:dword^ dword]_GetBufferSize[@(64) ()_][@(0.0.255) const]&]
|
|
[s7; [*/ Return value]-|Size of buffer.&]
|
|
[s0;3 &]
|
|
[s0;3 &]
|
|
[s0;3 &]
|
|
[s0;3 &]
|
|
[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;3 &]
|
|
[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;3 &]
|
|
[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;3 &]
|
|
[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;3 &]
|
|
[s0;:`:`:FileStream`:`:FileStream`(`):%- [* FileStream]()&]
|
|
[s2; Creates empty unopened FileStream.&]
|
|
[s0;3 &]
|
|
[s5;K%- operator_[@(0.0.255) bool][@(64) ()_][@(0.0.255) const]&]
|
|
[s7; [*/ Return value]-|True if stream is open.&]
|
|
[s0;3 &]
|
|
[s5;K%- [^`:`:FileTime^ FileTime]_GetTime[@(64) ()_][@(0.0.255) const]&]
|
|
[s2; Returns last`-write time of stream.&]
|
|
[s7; [*/ Return value]-|Time.&]
|
|
[s0;3 &]
|
|
[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;3 &]
|
|
[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;3 &]
|
|
[s5;K%- [^HANDLE^ HANDLE]_GetHandle[@(64) ()_][@(0.0.255) const]&]
|
|
[s0; Win32 specific.&]
|
|
[s7; [*/ Return value]-|File handle.&]
|
|
[s0;3 &]
|
|
[s5;K%- [^HANDLE^ HANDLE]_GetHandle[@(64) ()_][@(0.0.255) const]&]
|
|
[s0; Posix specific.&]
|
|
[s7; [*/ Return value]-|File handle.&]
|
|
[s0;3 &]
|
|
[s0;3 &]
|
|
[s0;3 &]
|
|
[s0;3 &]
|
|
[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;3 &]
|
|
[s0;:`:`:FileIn`:`:FileIn`(const char`*`):%- [* FileIn](const_char_`*[*@3 fn])&]
|
|
[s2; Opens file for reading.&]
|
|
[s7; [%-*C@3 fn]-|File name.&]
|
|
[s0;3 &]
|
|
[s0;:`:`:FileIn`:`:FileIn`(`):%- [* FileIn]()&]
|
|
[s2; Constructs empty FileStream.&]
|
|
[s0;3 &]
|
|
[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;3 &]
|
|
[s0;3 &]
|
|
[s0;3 &]
|
|
[s0;3 &]
|
|
[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;3 &]
|
|
[s0;:`:`:FileOut`:`:FileOut`(const char`*`):%- [* FileOut](const_char_`*[*@3 fn])&]
|
|
[s2; Opens file for writing.&]
|
|
[s7; [%-*C@3 fn]-|File name.&]
|
|
[s0;3 &]
|
|
[s0;:`:`:FileOut`:`:FileOut`(`):%- [* FileOut]()&]
|
|
[s2;%- Constructs non`-opened FileStream.&]
|
|
[s0;3 &]
|
|
[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;3 &]
|
|
[s0;3 &]
|
|
[s0;3 &]
|
|
[s0;3 &]
|
|
[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;3 &]
|
|
[s0;:`:`:FileAppend`:`:FileAppend`(const char`*`):%- [* FileAppend](const_char_`*[*@3 fn])
|
|
&]
|
|
[s2; Opens file in append mode.&]
|
|
[s7; [%-*C@3 fn]-|File name.&]
|
|
[s0;3 &]
|
|
[s0;:`:`:FileAppend`:`:FileAppend`(`):%- [* FileAppend]()&]
|
|
[s2; Constructs empty FileStream.&]
|
|
[s0;3 &]
|
|
[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;3 &]
|
|
[s0;3 &]
|
|
[s0;3 &]
|
|
[s0;3 &]
|
|
[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;3 &]
|
|
[s0;:`:`:SizeStream`:`:SizeStream`(`):%- [* SizeStream]()&]
|
|
[s2; Constructor `- co&]
|
|
[s0;3 &]
|
|
[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;3 &]
|
|
[s5;K%- [@(0.0.255) void][@(64) _]Open[@(64) ()]&]
|
|
[s2; Reopens data `- resets the counter of output bytes.&]
|
|
[s0;3 &]
|
|
[s0;3 &]
|
|
[s0;3 &]
|
|
[s0;3 &]
|
|
[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;3 &]
|
|
[s0;:`:`:CompareStream`:`:CompareStream`(`):%- [* CompareStream]()&]
|
|
[s2; Constructs closed CompareStream.&]
|
|
[s0;3 &]
|
|
[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;3 &]
|
|
[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;3 &]
|
|
[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;3 &]
|
|
[s5;K%- operator_[@(0.0.255) bool][@(64) ()]&]
|
|
[s7; [*/ Return value]-|IsEqual().&]
|
|
[s0; ] |