mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-07-11 22:03:01 -06:00
Documentation update
git-svn-id: svn://ultimatepp.org/upp/trunk@1984 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
parent
c522a5e4f7
commit
c39f8f40ad
46 changed files with 524 additions and 386 deletions
|
|
@ -10,7 +10,8 @@ topic "AIndex";
|
|||
[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam]
|
||||
[b42;2 $$9,9#13035079074754324216151401829390:normal]
|
||||
[{_}%EN-US
|
||||
[s0;i448;a25;kKO9; [*@3;4 AIndex]&]
|
||||
[ {{10000@(113.42.0) [s0; [*@7;4 AIndex]]}}&]
|
||||
[s3; &]
|
||||
[s1;:noref:%- [@(0.0.255)3 template][3 _<][@(0.0.255)3 class][3 _][*@4;3 T][3 ,
|
||||
][@(0.0.255)3 class][3 _][*@4;3 V][3 , ][@(0.0.255)3 class][3 _][*@4;3 HashFn][@(0.0.255)3 >]&]
|
||||
[s1;:AIndex`:`:class:%- [@(0.0.255) class]_[* AIndex]&]
|
||||
|
|
|
|||
|
|
@ -10,7 +10,8 @@ topic "AMap";
|
|||
[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam]
|
||||
[b42;2 $$9,9#13035079074754324216151401829390:normal]
|
||||
[{_}%EN-US
|
||||
[s5; [*@3;4 AMap]&]
|
||||
[ {{10000@(113.42.0) [s0; [*@7;4 AMap]]}}&]
|
||||
[s3; &]
|
||||
[s1;:noref:%- [@(0.0.255)3 template][3 _<][@(0.0.255)3 class][3 _][*@4;3 K][3 ,
|
||||
][@(0.0.255)3 class][3 _][*@4;3 T][3 , ][@(0.0.255)3 class][3 _][*@4;3 V][3 ,
|
||||
][@(0.0.255)3 class][3 _][*@4;3 HashFn][@(0.0.255)3 >]&]
|
||||
|
|
|
|||
|
|
@ -11,15 +11,16 @@ topic "AProcess and LocalProcess";
|
|||
[b42;2 $$9,9#13035079074754324216151401829390:normal]
|
||||
[{_}
|
||||
[ {{10000@(113.42.0) [s0;%% [*@7;4 AProcess]]}}&]
|
||||
[s4;H0; &]
|
||||
[s3; &]
|
||||
[s1;:AProcess`:`:struct: [@(0.0.255)3 struct][3 _][*3 AProcess][3 _:_][@(0.0.255)3 public][3 _][*@3;3 N
|
||||
oCopy]&]
|
||||
[s2;%% This is an abstract class that represent a controlled child
|
||||
[s9;%% This is an abstract class that represent a controlled child
|
||||
process. Client code can communicate with such process by supplying
|
||||
standard input and reading standard output. Note that while LocalProcess
|
||||
implements AProcess for host OS, some other derived class might
|
||||
choose to e.g. represent a process on remote system.&]
|
||||
[s3; &]
|
||||
[s3;%% &]
|
||||
[s0;%% &]
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* Public Method List]]}}&]
|
||||
[s4;H0; &]
|
||||
[s5;:AProcess`:`:Kill`(`): [@(0.0.255) virtual] [@(0.0.255) void]_[* Kill]()_`=_[@3 0]&]
|
||||
|
|
@ -58,14 +59,14 @@ output of process. If anything went wrong, returns String`::GetVoid().&]
|
|||
[s3; &]
|
||||
[s0; &]
|
||||
[ {{10000@(113.42.0) [s0;%% [*@7;4 LocalProcess]]}}&]
|
||||
[s4;H0; &]
|
||||
[s3; &]
|
||||
[s1;:LocalProcess`:`:class: [@(0.0.255)3 class][3 _][*3 LocalProcess][3 _:_][@(0.0.255)3 public][3 _
|
||||
][*@3;3 AProcess]&]
|
||||
[s2;%% This class implements a child process of host operating system.&]
|
||||
[s9;%% This class implements a child process of host operating system.&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* Public Method List]]}}&]
|
||||
[s3;%% &]
|
||||
[s4;H0; &]
|
||||
[s5;:LocalProcess`:`:Start`(const char`*`,const char`*`): [@(0.0.255) bool]_[* Start]([@(0.0.255) c
|
||||
onst]_[@(0.0.255) char]_`*[*@3 cmdline], [@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 envptr
|
||||
]_`=_NULL)&]
|
||||
|
|
@ -73,6 +74,7 @@ onst]_[@(0.0.255) char]_`*[*@3 cmdline], [@(0.0.255) const]_[@(0.0.255) char]_`*
|
|||
]can provide a new environment for the process, if NULL, then
|
||||
the new process inherits caller`'s environment.&]
|
||||
[s3;%% &]
|
||||
[s0;%% &]
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* Constructor Detail]]}}&]
|
||||
[s4;H0; &]
|
||||
[s5;:LocalProcess`:`:LocalProcess`(`): [* LocalProcess]()&]
|
||||
|
|
@ -87,7 +89,7 @@ onst]_[@(0.0.255) char]_`*[*@3 cmdline], [@(0.0.255) const]_[@(0.0.255) char]_`*
|
|||
[s3; &]
|
||||
[s0; &]
|
||||
[ {{10000@(113.42.0) [s0;%% [*@7;4 Global functions related to LocalProcess]]}}&]
|
||||
[s4;H0; &]
|
||||
[s3; &]
|
||||
[s5;:Sys`(const char`*`,String`&`): [@(0.0.255) int]_[* Sys]([@(0.0.255) const]_[@(0.0.255) c
|
||||
har]_`*[*@3 cmd], [_^String^ String][@(0.0.255) `&]_[*@3 output])&]
|
||||
[s2;%% Runs process defined by [%-*@3 cmd] command line, returns its
|
||||
|
|
@ -100,4 +102,5 @@ md])&]
|
|||
[s2;%% Runs process defined by [%-*@3 cmd] command line. If [%-*@3 cmd]
|
||||
was executed successfully and returned zero exit code, returns
|
||||
its standard output, otherwise returns String`::GetVoid().&]
|
||||
[s3; &]
|
||||
[s0; ]
|
||||
|
|
@ -10,10 +10,11 @@ topic "Any";
|
|||
[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam]
|
||||
[b42;2 $$9,9#13035079074754324216151401829390:normal]
|
||||
[{_}%EN-US
|
||||
[s1;:Any`:`:class:%- [*@3;4 Any]&]
|
||||
[ {{10000@(113.42.0) [s0; [*@7;4 Any]]}}&]
|
||||
[s3;%- &]
|
||||
[s1;:Any`:`:class:%- [@(0.0.255) class]_[* Any]_:_[@(0.0.255) private]_[*@3 Moveable][@(0.0.255) <
|
||||
][* Any][@(0.0.255) >]&]
|
||||
[s0; Any is a special type of container capable of containing none
|
||||
[s9; Any is a special type of container capable of containing none
|
||||
or single element of [/ any] type. It also provides methods for
|
||||
querying the type stored and retrieving the content of specific
|
||||
type.&]
|
||||
|
|
|
|||
|
|
@ -10,14 +10,10 @@ topic "Application & environment utility";
|
|||
[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam]
|
||||
[b42;2 $$9,9#13035079074754324216151401829390:normal]
|
||||
[{_}
|
||||
[s0;%% [@3;4 Application `& environment utility]&]
|
||||
[s0;%% A number of utility functions to obtain information about
|
||||
[ {{10000@(113.42.0) [s0;%% [*@7;4 Application `& environment utility]]}}&]
|
||||
[s9;%% A number of utility functions to obtain information about
|
||||
your application and system environment.&]
|
||||
[s0;+80%% &]
|
||||
[s0;%% [* Implemented in:]&]
|
||||
[s0; [%% -|]Core`\App.[@(0.0.255) h]&]
|
||||
[s0; -|Core`\App.[@(0.0.255) cpp]&]
|
||||
[s3;%% &]
|
||||
[s3; &]
|
||||
[s0;%% &]
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* Function List]]}}&]
|
||||
[s3; &]
|
||||
|
|
@ -140,5 +136,25 @@ onst]_[@(0.0.255) char]_`*[*@3 dir])&]
|
|||
[s2;%% Sets the current user`'s home folder.&]
|
||||
[s2;%% [*@(129.0.0) dir]................................................the
|
||||
URL that will be opened in the browser&]
|
||||
[s3;%% &]
|
||||
[s4; &]
|
||||
[s5;:CpuMMX`(`): [@(0.0.255) bool]_[* CpuMMX]()&]
|
||||
[s2;%% Returns true if CPU has MMX support.&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:CpuSSE`(`): [@(0.0.255) bool]_[* CpuSSE]()&]
|
||||
[s2;%% Returns true if CPU has SSE support.&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:CpuSSE2`(`): [@(0.0.255) bool]_[* CpuSSE2]()&]
|
||||
[s2;%% Returns true if CPU has SSE2 support.&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:CpuSSE3`(`): [@(0.0.255) bool]_[* CpuSSE3]()&]
|
||||
[s2;%% Returns true if CPU has SSE3 support.&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:CPU`_Cores`(`): [@(0.0.255) int]_[* CPU`_Cores]()&]
|
||||
[s2;%% Returns the number of cores the CPU has.&]
|
||||
[s3; &]
|
||||
[s0; ]
|
||||
|
|
@ -10,7 +10,8 @@ topic "Array";
|
|||
[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam]
|
||||
[b42;2 $$9,9#13035079074754324216151401829390:normal]
|
||||
[{_}%EN-US
|
||||
[s0;i448;a25;kKO9;%- [*@3;4 Array]&]
|
||||
[ {{10000@(113.42.0) [s0; [*@7;4 Array]]}}&]
|
||||
[s3;%- &]
|
||||
[s1;:noref:%- [@(0.0.255)3 template][3 _<][@(0.0.255)3 class][3 _][*@4;3 T][@(0.0.255)3 >]&]
|
||||
[s1;:Array`:`:class:%- [@(0.0.255) class]_[* Array]_:_[@(0.0.255) public]_[*@3 MoveableAndDeep
|
||||
CopyOption][@(0.0.255) <]_[* Array][@(0.0.255) <][*@4 T][@(0.0.255) >]_>_&]
|
||||
|
|
|
|||
|
|
@ -10,7 +10,8 @@ topic "ArrayIndex";
|
|||
[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam]
|
||||
[b42;2 $$9,9#13035079074754324216151401829390:normal]
|
||||
[{_}
|
||||
[s1; [*@3;4 ArrayIndex]&]
|
||||
[ {{10000@(113.42.0) [s0;%% [*@7;4 ArrayIndex]]}}&]
|
||||
[s3; &]
|
||||
[s1;:noref: [@(0.0.255) template]_<[@(0.0.255) class]_[*@4 T], [@(0.0.255) class]_[*@4 HashFn]_
|
||||
`=_StdHash[@(0.0.255) <][*@4 T][@(0.0.255) >]_>&]
|
||||
[s1;:ArrayIndex`:`:class: [@(0.0.255) class]_[* ArrayIndex]_:_[@(0.0.255) private]_[*@3 Moveab
|
||||
|
|
|
|||
|
|
@ -10,7 +10,8 @@ topic "ArrayMap";
|
|||
[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam]
|
||||
[b42;2 $$9,9#13035079074754324216151401829390:normal]
|
||||
[{_}%EN-US
|
||||
[s0;:`:`:ArrayMap`:`:class: [*@3;4 ArrayMap]&]
|
||||
[ {{10000@(113.42.0) [s0; [*@7;4 ArrayMap]]}}&]
|
||||
[s3; &]
|
||||
[s1;:noref:%- [@(0.0.255)3 template][3 _<][@(0.0.255)3 class][3 _][*@4;3 K][3 ,
|
||||
][@(0.0.255)3 class][3 _][*@4;3 T][3 , ][@(0.0.255)3 class][3 _][*@4;3 HashFn][3 _`=_StdHash][@(0.0.255)3 <
|
||||
][*@4;3 K][@(0.0.255)3 >][3 _>]&]
|
||||
|
|
|
|||
|
|
@ -10,7 +10,8 @@ topic "BiArray";
|
|||
[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam]
|
||||
[b42;2 $$9,9#13035079074754324216151401829390:normal]
|
||||
[{_}%EN-US
|
||||
[s0;~~~64; [*@3;4 BiArray]&]
|
||||
[ {{10000@(113.42.0) [s0; [*@7;4 BiArray]]}}&]
|
||||
[s3; &]
|
||||
[s1;:noref:%- [@(0.0.255)3 template][3 _<][@(0.0.255)3 class][3 _][*@4;3 T][@(0.0.255)3 >]&]
|
||||
[s1;:BiArray`:`:class:%- [@(0.0.255) class]_[* BiArray]_:_[@(0.0.255) private]_[*@3 MoveableAn
|
||||
dDeepCopyOption][@(0.0.255) <]_[* BiArray][@(0.0.255) <][*@4 T][@(0.0.255) >]_>_&]
|
||||
|
|
|
|||
|
|
@ -10,7 +10,8 @@ topic "BiVector";
|
|||
[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam]
|
||||
[b42;2 $$9,9#13035079074754324216151401829390:normal]
|
||||
[{_}%EN-US
|
||||
[s0;~~~64; [*@3;4 BiVector]&]
|
||||
[ {{10000@(113.42.0) [s0; [*@7;4 BiVector]]}}&]
|
||||
[s3; &]
|
||||
[s1;:noref:%- [@(0.0.255)3 template][3 _<][@(0.0.255)3 class][3 _][*@4;3 T][@(0.0.255)3 >]&]
|
||||
[s1;:BiVector`:`:class:%- [@(0.0.255) class]_[* BiVector]_:_[@(0.0.255) private]_[*@3 Moveable
|
||||
AndDeepCopyOption][@(0.0.255) <]_[* BiVector][@(0.0.255) <][*@4 T][@(0.0.255) >]_>_&]
|
||||
|
|
@ -57,7 +58,7 @@ Vector][@(0.0.255) `&]_[*@3 src], [@(0.0.255) int])&]
|
|||
[s2; Default destructor. Invokes the destructor of every element
|
||||
in the BiVector.&]
|
||||
[s3;%- &]
|
||||
[s0;i448;a25;kKO9;:noref:@(0.0.255)%- &]
|
||||
[s0;i448;a25;kKO9;@(0.0.255)%- &]
|
||||
[ {{10000F(128)G(128)@1 [s0; [* Public Method List]]}}&]
|
||||
[s3;%- &]
|
||||
[s5;:BiVector`:`:AddHead`(`):%- [*@4 T][@(0.0.255) `&]_[* AddHead]()&]
|
||||
|
|
@ -252,7 +253,7 @@ is that [* pos] is range checked in debug mode.&]
|
|||
[s2; Specialization of the generic [* Swap] for BiVectors. Swaps BiVectors
|
||||
in low constant time operation.&]
|
||||
[s3; &]
|
||||
[s0;i448;a25;kKO9;:noref:@(0.0.255)%- &]
|
||||
[s0;i448;a25;kKO9;@(0.0.255)%- &]
|
||||
[ {{10000F(128)G(128)@1 [s0; [* Global Operators]]}}&]
|
||||
[s3; &]
|
||||
[s0;:friend BiVector`& operator`<`<`(BiVector`& b`, const T`& x`): friend
|
||||
|
|
|
|||
|
|
@ -10,7 +10,8 @@ topic "Buffer";
|
|||
[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam]
|
||||
[b42;2 $$9,9#13035079074754324216151401829390:normal]
|
||||
[{_}%EN-US
|
||||
[s0; [*@3;4 Buffer]&]
|
||||
[ {{10000@(113.42.0) [s0; [*@7;4 Buffer]]}}&]
|
||||
[s3; &]
|
||||
[s1;:noref:%- [@(0.0.255) template]_<[@(0.0.255) class]_[*@4 T][@(0.0.255) >]&]
|
||||
[s1;:Buffer`:`:class:%- [@(0.0.255) class]_[* Buffer]_:_[@(0.0.255) private]_[*@3 Moveable][@(0.0.255) <
|
||||
]_[* Buffer][@(0.0.255) <][*@4 T][@(0.0.255) >]_>_&]
|
||||
|
|
|
|||
|
|
@ -351,6 +351,8 @@ nst]&]
|
|||
[s2;%- Returns the actual filename.&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[s0; &]
|
||||
[s0; &]
|
||||
[ {{10000@(113.42.0) [s0; [*@7;4 CParser`::Error]]}}&]
|
||||
[s3;%- &]
|
||||
[s1;:CParser`:`:Error`:`:struct:%- [@(0.0.255)3 struct][3 _][*3 Error][3 _:_][@(0.0.255)3 public
|
||||
|
|
@ -374,6 +376,8 @@ tring] with error description.&]
|
|||
[s2;%- [%% Construct an ][%%* Error][%% with ][*@3 desc] as an error message.&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[s0; &]
|
||||
[s0; &]
|
||||
[ {{10000@(113.42.0) [s0; [*@7;4 CParser`::Pos]]}}&]
|
||||
[s3; &]
|
||||
[s1;:CParser`:`:Pos`:`:struct:%- [@(0.0.255)3 struct][3 _][*3 Pos]&]
|
||||
|
|
@ -406,6 +410,8 @@ tring]_[* fn]&]
|
|||
[s2; Filename.&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[s0; &]
|
||||
[s0; &]
|
||||
[ {{10000@(113.42.0) [s0; [*@7;4 C`-like string literal formatting]]}}&]
|
||||
[s3; &]
|
||||
[s0; [* AsCString] routines produce C`-like literals (compatible with
|
||||
|
|
|
|||
|
|
@ -11,8 +11,7 @@ topic "Character set support";
|
|||
[b42;2 $$9,9#13035079074754324216151401829390:normal]
|
||||
[{_}
|
||||
[ {{10000@(113.42.0) [s0;%% [*@7;4 Character set support]]}}&]
|
||||
[s0;i448;a25;kKO9;@(0.0.255) &]
|
||||
[s0;%% While in ideal world every text resource would be encoded
|
||||
[s9;%% While in ideal world every text resource would be encoded
|
||||
in Unicode or UTF`-8, in practice we have to deal with many 8`-bit
|
||||
encodings. U`+`+ has [^topic`:`/`/Core`/src`/CharSet`$en`-us`#AddCharSet`(const char`*`,const word`*`,byte`)^ e
|
||||
xtensible] support for various encoding (charsets). It directly
|
||||
|
|
@ -45,8 +44,7 @@ defines following constants to express charset (names are self`-explanatory):&]
|
|||
[s0; [* CHARSET`_CP852]&]
|
||||
[s0; [* CHARSET`_MJK]&]
|
||||
[s0; [* CHARSET`_CP850]]}}&]
|
||||
[s5;* &]
|
||||
[s0; There are also some special charset values&]
|
||||
[s9; There are also some special charset values&]
|
||||
[s0; &]
|
||||
[s5;:CHARSET`_DEFAULT: [* CHARSET`_DEFAULT]&]
|
||||
[s2;%% Represents `"default`" charset. Default charset can be set
|
||||
|
|
@ -68,6 +66,7 @@ value of parameter). Guaranteed to be equal to 0.&]
|
|||
[s2;%% This special value is used as result of conversion in place
|
||||
of characters that do not exist in target charset.&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* Function List]]}}&]
|
||||
[s3;^byte^ &]
|
||||
[s5;:GetDefaultCharset`(`): [_^byte^ byte]_[* GetDefaultCharset]()&]
|
||||
|
|
@ -687,4 +686,5 @@ true on success.&]
|
|||
]_[*@3 data])&]
|
||||
[s2; Saves 8`-bit string in default encoding to the file. Returns
|
||||
true on success.&]
|
||||
[s3; &]
|
||||
[s0; ]
|
||||
|
|
@ -11,9 +11,9 @@ topic "CoWork";
|
|||
[b42;2 $$9,9#13035079074754324216151401829390:normal]
|
||||
[{_}
|
||||
[ {{10000@(113.42.0) [s0;%% [*@7;4 CoWork]]}}&]
|
||||
[s4; &]
|
||||
[s3; &]
|
||||
[s1;:CoWork`:`:class: [@(0.0.255)3 class][3 _][*3 CoWork]&]
|
||||
[s2;%% This class is indented as loop`-parallelization tool. Whenever
|
||||
[s9;%% This class is indented as loop`-parallelization tool. Whenever
|
||||
loop iterations are independent (they do not share any data),
|
||||
CoWork can be used to relatively easily spawn loop iterations
|
||||
over thread and thus over CPU cores. CoWork works with fixed`-size
|
||||
|
|
@ -23,9 +23,9 @@ or destroyed during normal work. Nesting of CoWork instances
|
|||
is also possible. Of course, not only loop iterations can be
|
||||
parallelized, whenever there are two or more actions that can
|
||||
run in parallel, you can use CoWork.&]
|
||||
[s2;%% &]
|
||||
[s2;%% Single`-threaded implementation simply performs all actions
|
||||
[s9;%% Single`-threaded implementation simply performs all actions
|
||||
submitted by Do in sequence.&]
|
||||
[s3;%% &]
|
||||
[s0;%% &]
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* Public Method List]]}}&]
|
||||
[s4;H0; &]
|
||||
|
|
@ -42,10 +42,10 @@ allback]_[*@3 cb])&]
|
|||
[s2;%% Waits until all jobs submitted using Do (or operator`&) are
|
||||
finished.&]
|
||||
[s3;%% &]
|
||||
[s0;%% &]
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* Destructor detail]]}}&]
|
||||
[s3; &]
|
||||
[s5;:CoWork`:`:`~CoWork`(`): [@(0.0.255) `~][* CoWork]()&]
|
||||
[s2;%% Invokes Finish().&]
|
||||
[s3; &]
|
||||
[s4;H0; &]
|
||||
[s0; ]
|
||||
|
|
@ -148,17 +148,6 @@ etRaw]().&]
|
|||
[s2; Returns a RGBA structure containing the color information.&]
|
||||
[s3;%- &]
|
||||
[s0; &]
|
||||
[s0;3 &]
|
||||
[s0;:`:`:GrayColor`:`:struct:%- struct_[* GrayColor]&]
|
||||
[s2; &]
|
||||
[s2; This simple utility class provides constructor that sets all
|
||||
components to the same value producing the gray color.&]
|
||||
[s2; &]
|
||||
[s0;%- [%%/ Derived from][%% ]Color&]
|
||||
[s0; &]
|
||||
[s0;:`:`:GrayColor`:`:GrayColor`(int`):%- [* GrayColor](int_[*@3 level])&]
|
||||
[s2; Constructor.&]
|
||||
[s7; [%-*C@3 level]-|Gray intensity.&]
|
||||
[s0; &]
|
||||
[s0;%- &]
|
||||
[ {{10000@(113.42.0) [s0; [*@(229)4 Utility functions]]}}&]
|
||||
|
|
|
|||
|
|
@ -13,11 +13,12 @@ topic "ConditionVariable";
|
|||
[ {{10000t/25b/25@(113.42.0) [s0; [*@7;4 ConditionVariable]]}}&]
|
||||
[s3; &]
|
||||
[s1;:ConditionVariable`:`:class: [@(0.0.255)3 class][3 _][*3 ConditionVariable]&]
|
||||
[s2;%% ConditionVariable allows threads to suspend execution (using
|
||||
[s9;%% ConditionVariable allows threads to suspend execution (using
|
||||
Wait) until they are awaken by another thread (using Signal or
|
||||
Broadcast methods). ConditionVariable has associated Mutex to
|
||||
avoid possible race conditions when entering suspended state.&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* Public Method List]]}}&]
|
||||
[s3; &]
|
||||
[s5;:ConditionVariable`:`:Wait`(Mutex`&`): [@(0.0.255) void]_[* Wait]([_^Mutex^ Mutex][@(0.0.255) `&
|
||||
|
|
@ -34,17 +35,18 @@ and reacquires ][*@3 m].&]
|
|||
[s4;%% &]
|
||||
[s5;:ConditionVariable`:`:Broadcast`(`): [@(0.0.255) void]_[* Broadcast]()&]
|
||||
[s2;%% Resumes execution of all currently waiting threads.&]
|
||||
[s0;%% &]
|
||||
[s3;%% &]
|
||||
[s0;3 &]
|
||||
[ {{10000t/25b/25@(113.42.0) [s0; [*@7;4 StaticConditionVariable]]}}&]
|
||||
[s3;%% &]
|
||||
[s1;:StaticConditionVariable`:`:class: [@(0.0.255)3 class][3 _][*3 StaticConditionVariable]&]
|
||||
[s2; Variant of ConditionVariable that can be used as static or global
|
||||
[s9; Variant of ConditionVariable that can be used as static or global
|
||||
variable without the need of initialization `- it has no constructor
|
||||
and correctly performs the first initialization when any of methods
|
||||
is called. That avoids problems with initialization order or
|
||||
multithreaded initialization issues.&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* Public Method List]]}}&]
|
||||
[s3; &]
|
||||
[s5;:StaticConditionVariable`:`:Get`(`): [_^ConditionVariable^ ConditionVariable][@(0.0.255) `&
|
||||
|
|
@ -59,4 +61,5 @@ Variable`&]()&]
|
|||
[s5;:StaticConditionVariable`:`:Signal`(`): [@(0.0.255) void]_[* Signal]()&]
|
||||
[s5;:StaticConditionVariable`:`:Broadcast`(`): [@(0.0.255) void]_[* Broadcast]()&]
|
||||
[s2;%% Calls respective ConditionVariable methods.&]
|
||||
[s3; &]
|
||||
[s0; ]
|
||||
|
|
@ -20,9 +20,8 @@ direction is represented by the Scan method.&]
|
|||
[s9; If the conversion is not possible (e.g. due to invalid textual
|
||||
representation), convert methods should return `"ErrorValue`"
|
||||
to indicate the problem.&]
|
||||
[s0; &]
|
||||
[s3; &]
|
||||
[s0;%- &]
|
||||
[s0; &]
|
||||
[ {{10000F(128)G(128)@1 [s0; [* Public Member List]]}}&]
|
||||
[s3;%- &]
|
||||
[s5;:Convert`:`:Format`(const Value`&`)const:%- [@(0.0.255) virtual]
|
||||
|
|
|
|||
|
|
@ -11,9 +11,10 @@ topic "Date formatting and scanning";
|
|||
[b42;2 $$9,9#13035079074754324216151401829390:normal]
|
||||
[{_}%EN-US
|
||||
[s0;%- [*@3;4 Date formatting and scanning]&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[ {{10000F(128)G(128)@1 [s0; [* Global functions]]}}&]
|
||||
[s0;%- &]
|
||||
[s3;%- &]
|
||||
[s5;:StrToDate`(Date`&`,const char`*`):%- [@(0.0.255) const]_[@(0.0.255) char]_`*[* StrToDa
|
||||
te]([_^Date^ Date][@(0.0.255) `&]_[*@3 d], [@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 s])&]
|
||||
[s2; Scans a string for a Date. Order of day, month and year is specified
|
||||
|
|
@ -73,4 +74,5 @@ up to next `"amend`" character or `'`\0`' are replaced by it.&]
|
|||
[s2; CharFilterDate would allow letters but not convert them to uppercase,
|
||||
it will allow characters `'[* .]`' and `'/`' and it will convert
|
||||
`'[*@5 ,]`' to `'[* .]`' and `'[*@5 :]`' or `'[*@5 ;]`' to `'[* /]`'.&]
|
||||
[s3; &]
|
||||
[s0; ]
|
||||
|
|
@ -10,10 +10,10 @@ topic "Miscellaneous";
|
|||
[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam]
|
||||
[b42;2 $$9,9#13035079074754324216151401829390:normal]
|
||||
[{_}
|
||||
[s1;%% [*@3;4 Exc]&]
|
||||
[ {{10000@(113.42.0) [s0;%% [*@7;4 Exc]]}}&]
|
||||
[s3;%% &]
|
||||
[s1;:Exc`:`:class: [@(0.0.255)3 class][3 _][*3 Exc][3 _:_][@(0.0.255)3 public][3 _][*@3;3 String]&]
|
||||
[s0; &]
|
||||
[s0;%% This is the preferred root class of U`+`+ exception. It is
|
||||
[s9;%% This is the preferred root class of U`+`+ exception. It is
|
||||
basically a String. The idea is that all kinds of exception can
|
||||
be either managed by specific handlers, or simple Exc handler
|
||||
can be used, displaying textual information to the user.&]
|
||||
|
|
@ -28,5 +28,5 @@ can be used, displaying textual information to the user.&]
|
|||
[s5;:Exc`:`:Exc`(const String`&`): [* Exc]([@(0.0.255) const]_[_^String^ String][@(0.0.255) `&
|
||||
]_[*@3 desc])&]
|
||||
[s2;%% Constructor, error described as [%-*C@3 desc].&]
|
||||
[s1; &]
|
||||
[s3; &]
|
||||
[s0; ]
|
||||
|
|
@ -11,11 +11,12 @@ topic "FindFile";
|
|||
[b42;2 $$9,9#13035079074754324216151401829390:normal]
|
||||
[{_}%EN-US
|
||||
[ {{10000@(113.42.0) [s0; [*@7;4 FindFile]]}}&]
|
||||
[s0;i448;a25;kKO9;@(0.0.255)%- &]
|
||||
[s3;%- &]
|
||||
[s1;:FindFile`:`:class:%- [@(0.0.255)3 class][3 _][*3 FindFile]&]
|
||||
[s2; This class serves as platform independent encapsulation of directory
|
||||
[s9; This class serves as platform independent encapsulation of directory
|
||||
enumeration.&]
|
||||
[s0;i448;a25;kKO9;@(0.0.255)%- &]
|
||||
[s3;%- &]
|
||||
[s0;%- &]
|
||||
[ {{10000F(128)G(128)@1 [s0; [* Public Method List]]}}&]
|
||||
[s3;%- &]
|
||||
[s5;:FindFile`:`:Search`(const char`*`):%- [@(0.0.255) bool]_[* Search]([@(0.0.255) const]_
|
||||
|
|
@ -139,4 +140,5 @@ this is used as condition to the loop that enumerates directory.&]
|
|||
[s5;:FindFile`:`:FindFile`(const char`*`):%- [* FindFile]([@(0.0.255) const]_[@(0.0.255) ch
|
||||
ar]_`*[*@3 name])&]
|
||||
[s2; Initializes and performs Search([%-*@3 name]).&]
|
||||
[s3; &]
|
||||
[s0; ]
|
||||
|
|
@ -408,5 +408,5 @@ terNullFormatter]([@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 id],
|
|||
Formatter_[*@3 f])&]
|
||||
[s2; Registers formatter [%-*@3 id] to be applied when the Value argument
|
||||
is Void (Value()) or ErrorValue.&]
|
||||
[s1; &]
|
||||
[s3; &]
|
||||
[s0; ]
|
||||
|
|
@ -11,9 +11,10 @@ topic "Formatting functions";
|
|||
[b42;2 $$9,9#13035079074754324216151401829390:normal]
|
||||
[{_}%EN-US
|
||||
[s0; [*@3;4 Formatting functions]&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[ {{10000F(128)G(128)@1 [s0; [* Global functions]]}}&]
|
||||
[s4;H0;%- &]
|
||||
[s3;%- &]
|
||||
[s5;:FormatInt`(int`):%- [_^String^ String]_[* FormatInt]([@(0.0.255) int]_[*@3 i])&]
|
||||
[s2; Outputs decimally formatted signed integer [%-*@3 i] without `+
|
||||
or any paddings. Supposed to be quite fast. Equivalent to FormatIntBase(i,
|
||||
|
|
@ -198,5 +199,5 @@ nt]_[*@3 i], [@(0.0.255) int]_[*@3 base], [@(0.0.255) int]_[*@3 width]_`=_[@3 0]
|
|||
[%-*@3 base] with left padding to given [%-*@3 width] with a given
|
||||
[%-*@3 lpad] character. If [*@3 sign ]is `+1 `= always prepend `'`+`'/`-,
|
||||
if 0 `= auto (`'`-`' only), if `-1, format as unsigned.&]
|
||||
[s1; &]
|
||||
[s3; &]
|
||||
[s0; ]
|
||||
|
|
@ -10,7 +10,8 @@ topic "Index";
|
|||
[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam]
|
||||
[b42;2 $$9,9#13035079074754324216151401829390:normal]
|
||||
[{_}%EN-US
|
||||
[s0;~~~64; [*@3;4 Index]&]
|
||||
[ {{10000@(113.42.0) [s0; [*@7;4 Index]]}}&]
|
||||
[s3; &]
|
||||
[s1;:noref:%- [@(0.0.255)3 template][3 _<][@(0.0.255)3 class][3 _][*@4;3 T][3 ,
|
||||
][@(0.0.255)3 class][3 _][*@4;3 HashFn][3 _`=_StdHash][@(0.0.255)3 <][*@4;3 T][@(0.0.255)3 >][3 _
|
||||
>]&]
|
||||
|
|
@ -40,8 +41,8 @@ picked Index is logic error with exception of&]
|
|||
[s0; [C+75 void ][*C+75 Clear][C+75 ()]&]
|
||||
[s0; [C+75 bool ][*C+75 IsPicked][C+75 () const]&]
|
||||
[s9; Optional deep copy operator is inherited from AIndex class.
|
||||
Pick operator is implicitly defined by composition&]
|
||||
[s0; .&]
|
||||
Pick operator is implicitly defined by composition.&]
|
||||
[s0; &]
|
||||
[s0; [* Base class]&]
|
||||
[s0; [^topic`:`/`/Core`/src`/AIndex`$en`-us`#AIndex`:`:class^ AIndex<T,
|
||||
Vector<T>, HashFn>]&]
|
||||
|
|
|
|||
|
|
@ -12,8 +12,8 @@ topic "LazyUpdate";
|
|||
[{_}
|
||||
[ {{10000@(113.42.0) [s0;%% [*@7;4 LazyUpdate]]}}&]
|
||||
[s3; &]
|
||||
[s1; [@(0.0.255)3 class][3 _][*3 LazyUpdate]&]
|
||||
[s2;%% LazyUpdate class provides thread`-safe means for lazy evaluation.
|
||||
[s1;:LazyUpdate`:`:class: [@(0.0.255)3 class][3 _][*3 LazyUpdate]&]
|
||||
[s9;%% LazyUpdate class provides thread`-safe means for lazy evaluation.
|
||||
Typically it is used in connection with mutable member variable
|
||||
cache. Mutating operations on such class set LazyUpdate to `"invalid`"
|
||||
state. When any method is called to obtain evaluated value, it
|
||||
|
|
@ -21,13 +21,14 @@ first checks LazyUpdate whether cache is valid using BeginUpdate.(such
|
|||
method is usually const, that is why the cache needs to be mutable).
|
||||
If BeginUpdate returns true, cache has to be updated. At the
|
||||
end of update, EndUpdate has to be called.&]
|
||||
[s2;%% BeginUpdate also blocks any other thread once update is in
|
||||
[s9;%% BeginUpdate also blocks any other thread once update is in
|
||||
progress.&]
|
||||
[s2;%% That way, many threads are allowed to invoke read methods
|
||||
[s9;%% That way, many threads are allowed to invoke read methods
|
||||
simultaneously while updates are performed and serialized correctly.
|
||||
Of course, client code of such class still needs to serialize
|
||||
access to instance, just like for any other object.&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* Public Method List]]}}&]
|
||||
[s3; &]
|
||||
[s5;:LazyUpdate`:`:Invalidate`(`): [@(0.0.255) void]_[* Invalidate]()&]
|
||||
|
|
@ -45,8 +46,10 @@ false, as cache is already updated).&]
|
|||
[s5;:LazyUpdate`:`:EndUpdate`(`)const: [@(0.0.255) void]_[* EndUpdate]()_[@(0.0.255) const]&]
|
||||
[s2;%% Signals that the cache was updated.&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* Constructor Detail]]}}&]
|
||||
[s3; &]
|
||||
[s5;:LazyUpdate`:`:LazyUpdate`(`): [* LazyUpdate]()&]
|
||||
[s2;%% Sets LazyUpdate into invalid state.&]
|
||||
[s3; &]
|
||||
[s0; ]
|
||||
|
|
@ -10,11 +10,13 @@ topic "Math utility";
|
|||
[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam]
|
||||
[b42;2 $$9,9#13035079074754324216151401829390:normal]
|
||||
[{_}
|
||||
[s0; [*@3;4 Math utility]&]
|
||||
[ {{10000@(113.42.0) [s0;%% [*@7;4 Math utility]]}}&]
|
||||
[s3; &]
|
||||
[s0;%% A number of mathematical functions and constants.&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* Constant List]]}}&]
|
||||
[s0; &]
|
||||
[s3; &]
|
||||
[s5;:M`_E: [* M`_E]&]
|
||||
[s2;%% [/ e-|-|-|]2.71828182845904523536&]
|
||||
[s3;%% &]
|
||||
|
|
@ -73,10 +75,10 @@ topic "Math utility";
|
|||
[s4; &]
|
||||
[s5;:M`_2PI: [* M`_2PI]&]
|
||||
[s2;%% [/ 2Pi]&]
|
||||
[s1; &]
|
||||
[s3; &]
|
||||
[s0;%% &]
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* Function List]]}}&]
|
||||
[s0; &]
|
||||
[s3; &]
|
||||
[s5;:Random`(`): [_^dword^ dword]_[* Random]()&]
|
||||
[s2;%% Returns the next random generated number. MT safe and efficient
|
||||
variant of Merssene twister MT19937 by Takuji Nishimura and Makoto
|
||||
|
|
@ -213,5 +215,5 @@ numerator:&]
|
|||
[@(0.0.255) int]_[*@3 nDigits])&]
|
||||
[s2;%% [%- Returns the string representation of ][%-*@3 x][%- with] [%-*@3 nDigits][%-
|
||||
precision].&]
|
||||
[s1; &]
|
||||
[s3; &]
|
||||
[s0; ]
|
||||
|
|
@ -12,9 +12,10 @@ topic "Thread synchronization primitives";
|
|||
[*C1 $$10,10#39751211140134154172026758035355:code]
|
||||
[{_}
|
||||
[ {{10000@(113.42.0) [s0;%% [*@7;4 Thread synchronization primitives]]}}&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[ {{10000t/25b/25@1 [s0; [* Function List]]}}&]
|
||||
[s4; &]
|
||||
[s3; &]
|
||||
[s5;:AssertST`(`): [@(0.0.255) void]_[* AssertST]()&]
|
||||
[s2;%% This operation can be used only DEBUG mode. If any Thread
|
||||
was started prior to calling AssertST, it will stop the execution
|
||||
|
|
@ -64,7 +65,7 @@ call can be performed before calling it.&]
|
|||
[s2;%% This is the integer type that can be used as argument of AtomicXAdd
|
||||
function. It is compatible with `'int`' `- it has the same value
|
||||
range and it can be converted to `'int`'.&]
|
||||
[s0;%% &]
|
||||
[s3;%% &]
|
||||
[s4; &]
|
||||
[s5;:AtomicXAdd`(volatile Atomic`&`,int`): [@(0.0.255) int]_[* AtomicXAdd]([@(0.0.255) vola
|
||||
tile]_[_^Atomic^ Atomic][@(0.0.255) `&]_[*@3 t], [@(0.0.255) int]_[*@3 incr])&]
|
||||
|
|
@ -93,20 +94,21 @@ st]_[@(0.0.255) volatile]_[_^Atomic^ Atomic][@(0.0.255) `&]_[*@3 t])&]
|
|||
[s5;:AtomicWrite`(volatile Atomic`&`,int`): [@(0.0.255) void]_[* AtomicWrite]([@(0.0.255) v
|
||||
olatile]_[_^Atomic^ Atomic][@(0.0.255) `&]_[*@3 t], [@(0.0.255) int]_[*@3 val])&]
|
||||
[s2;%% Same as BarrierWrite(t, val).&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[ {{10000t/25b/25@1 [s0; [* Macro List]]}}&]
|
||||
[s4; &]
|
||||
[s3; &]
|
||||
[s5;:INTERLOCKED: [* INTERLOCKED]&]
|
||||
[s2;%% This macro adds static Mutex to the block. For example:&]
|
||||
[s10;%% -|INTERLOCKED `{&]
|
||||
[s10;%% -|-|Foo();&]
|
||||
[s10;%% -|`}&]
|
||||
[s0;%% -|is equivalent to&]
|
||||
[s10;%% -|`{-|static StaticMutex [/ uniquename];&]
|
||||
[s10;%% -|-|[/ uniquename].Enter();&]
|
||||
[s10;%% -|-|Foo();&]
|
||||
[s10;%% -|-|[/ uniquename].Leave();&]
|
||||
[s10;%% -|`}&]
|
||||
[s2;%% [C1 -|-|INTERLOCKED `{]&]
|
||||
[s2;%% [C1 -|-|-|Foo();]&]
|
||||
[s2;%% [C1 -|-|`}]&]
|
||||
[s2;%% -|is equivalent to&]
|
||||
[s2;%% [C1 -|-|`{-|static StaticMutex ][/C1 uniquename][C1 ;]&]
|
||||
[s2;%% [C1 -|-|-|][/C1 uniquename][C1 .Enter();]&]
|
||||
[s2;%% [C1 -|-|-|Foo();]&]
|
||||
[s2;%% [C1 -|-|-|][/C1 uniquename][C1 .Leave();]&]
|
||||
[s2;%% [C1 -|-|`}]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:INTERLOCKED`_`(cs`): [* INTERLOCKED`_]([*@3 cs])&]
|
||||
|
|
@ -118,9 +120,9 @@ static Mutex it uses explicit Mutex [%-*@3 cs].&]
|
|||
[s2;%% Designates block that only gets performed at first run, taking
|
||||
into account all multi`-threading issues. In single threaded
|
||||
environment&]
|
||||
[s10;%% -|ONCELOCK `{ Foo(); `}&]
|
||||
[s0;%% -|is equivalent to&]
|
||||
[s10;%% -|`{ static bool x; if(!x) `{ x `= true; Foo(); `} `}.&]
|
||||
[s2;%% -|-|[C1 ONCELOCK `{ Foo(); `}]&]
|
||||
[s2;%% -|is equivalent to&]
|
||||
[s2;%% [C1 -|-|`{ static bool x; if(!x) `{ x `= true; Foo(); `} `}.]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:ONCELOCK`_`(o`_b`_`): [* ONCELOCK`_]([*@3 o`_b`_])&]
|
||||
|
|
@ -136,4 +138,5 @@ NULL, [%-*@3 init] should return a non`-NULL value assignable to
|
|||
[%-*@3 init] is evaluated. After that (when [%-*@3 ptr] is non`-NULL)
|
||||
only ReadMemoryBarrier synchronization primitive is used to check
|
||||
the [%-*@3 ptr], making the operation relatively fast.&]
|
||||
[s3; &]
|
||||
[s0; ]
|
||||
|
|
@ -14,13 +14,14 @@ topic "Mutex";
|
|||
[s3; &]
|
||||
[s1;:Mutex`:`:class: [@(0.0.255)3 class][3 _][*3 Mutex][3 _:_][@(0.0.255)3 private][3 _][*@3;3 NoCop
|
||||
y]&]
|
||||
[s2;%% This well know synchronization primitive is usually used to
|
||||
[s9;%% This well know synchronization primitive is usually used to
|
||||
serialize access to shared data or other shared resources. Only
|
||||
single thread can execute the code between calls to Enter and
|
||||
Leave. If any other thread attempts to Enter the protected section
|
||||
while other thread is performing it, it is blocked until performing
|
||||
thread indicates leaving the section by invoking Leave.&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* Public Method List]]}}&]
|
||||
[s3; &]
|
||||
[s5;:Mutex`:`:Enter`(`): [@(0.0.255) void]_[* Enter]()&]
|
||||
|
|
@ -42,12 +43,13 @@ called Enter can invoke Leave.&]
|
|||
[ {{10000@(113.42.0) [s0;%% [*@7;4 StaticMutex]]}}&]
|
||||
[s3; &]
|
||||
[s1;:StaticMutex`:`:class: [@(0.0.255)3 class][3 _][*3 StaticMutex]&]
|
||||
[s2;%% Variant of Mutex that can be used as static or global variable
|
||||
[s9;%% Variant of Mutex that can be used as static or global variable
|
||||
without the need of initialization `- it has no constructor
|
||||
and correctly performs the first initialization when any of methods
|
||||
is called. That avoids problems with initialization order or
|
||||
multithreaded initialization issues.&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* Public Method List]]}}&]
|
||||
[s3; &]
|
||||
[s5;:StaticMutex`:`:Get`(`): [_^Mutex^ Mutex][@(0.0.255) `&]_[* Get]()&]
|
||||
|
|
@ -59,16 +61,17 @@ multithreaded initialization issues.&]
|
|||
[s5;:StaticMutex`:`:Enter`(`): [@(0.0.255) void]_[* Enter]()&]
|
||||
[s5;:StaticMutex`:`:Leave`(`): [@(0.0.255) void]_[* Leave]()&]
|
||||
[s2;%% Calls respective methods of Mutex instance.&]
|
||||
[s0;%% &]
|
||||
[s3;%% &]
|
||||
[s0; &]
|
||||
[ {{10000t/25b/25@(113.42.0) [s0; [*@7;4 Mutex`::Lock]]}}&]
|
||||
[s3; &]
|
||||
[s1;:Mutex`:`:Lock`:`:class: [@(0.0.255)3 class][3 _][*3 Mutex`::Lock]&]
|
||||
[s2;%% This nested class automates calls to Mutex`::Enter / Mutex`::Leave
|
||||
[s9;%% This nested class automates calls to Mutex`::Enter / Mutex`::Leave
|
||||
for block of code using C`+`+ constructor / destructor rules.
|
||||
Using [* operator StaticMutex`::Mutex], it can be used with StaticMutex
|
||||
as well.&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* Constructor / Destructor detail]]}}&]
|
||||
[s3; &]
|
||||
[s5;:Mutex`:`:Lock`:`:Lock`(Mutex`&`): [* Lock]([_^Mutex^ Mutex][@(0.0.255) `&]_[*@3 s])&]
|
||||
|
|
@ -77,4 +80,5 @@ as well.&]
|
|||
[s4; &]
|
||||
[s5;:Mutex`:`:Lock`:`:`~Lock`(`): [@(0.0.255) `~][* Lock]()&]
|
||||
[s2; [%% Performs ][*@3 s].Enter() where [*@3 s] is the constructor parameter.&]
|
||||
[s3; ]
|
||||
[s3; &]
|
||||
[s0; ]
|
||||
|
|
@ -10,12 +10,12 @@ topic "NetNode";
|
|||
[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam]
|
||||
[b42;2 $$9,9#13035079074754324216151401829390:normal]
|
||||
[{_}
|
||||
[s0; [*@3;4 NetNode]&]
|
||||
[ {{10000@(113.42.0) [s0;%% [*@7;4 NetNode]]}}&]
|
||||
[s3; &]
|
||||
[s1;:NetNode`:`:class: [@(0.0.255)3 class][3 _][*3 NetNode][3 _:_][@(0.0.255)3 private][3 _][*@3;3 M
|
||||
oveable][@(0.0.255)3 <][*3 NetNode][@(0.0.255)3 >][3 _]&]
|
||||
[s6;l0;%% WIN32 specific&]
|
||||
[s6;l0;%% &]
|
||||
[s0;%% This class represents single network node (network resource).
|
||||
[s9;%% This class represents single network node (network resource).
|
||||
It is [^topic`:`/`/Core`/srcdoc`/Moveable`$en`-us^ moveable] and
|
||||
has deep copy.&]
|
||||
[s3;%% &]
|
||||
|
|
|
|||
|
|
@ -9,145 +9,147 @@ topic "One";
|
|||
[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 One]&]
|
||||
[s1;:noref:%- [@(0.0.255)3 template][3 _<][@(0.0.255)3 class][3 _][*@4;3 T][@(0.0.255)3 >]&]
|
||||
[s1;:One`:`:class:%- [@(0.0.255) class]_[* One]_:_[@(0.0.255) private]_[*@3 MoveableAndDeepCop
|
||||
yOption][@(0.0.255) <]_[* One][@(0.0.255) <][*@4 T][@(0.0.255) >]_>_&]
|
||||
[s8; [%-*C@4 T]-|Type or base class of element stored in One.&]
|
||||
[s0; &]
|
||||
[s0; One is a container capable of containing none or single element
|
||||
[{_}
|
||||
[ {{10000@(113.42.0) [s0;%% [*@7;4 One]]}}&]
|
||||
[s3; &]
|
||||
[s1;:noref: [@(0.0.255)3 template][3 _<][@(0.0.255)3 class][3 _][*@4;3 T][@(0.0.255)3 >]&]
|
||||
[s1;:One`:`:class: [@(0.0.255) class]_[* One]_:_[@(0.0.255) private]_[*@3 MoveableAndDeepCopyO
|
||||
ption][@(0.0.255) <]_[* One][@(0.0.255) <][*@4 T][@(0.0.255) >]_>_&]
|
||||
[s8;%% [%-*C@4 T]-|Type or base class of element stored in One.&]
|
||||
[s0;%% &]
|
||||
[s9;%% One is a container capable of containing none or single element
|
||||
of type specified as template argument or derived from it.&]
|
||||
[s0; One is [*/^topic`:`/`/Core`/srcdoc`/Moveable`$en`-us^ moveable][*/
|
||||
[s9;%% One is [*/^topic`:`/`/Core`/srcdoc`/Moveable`$en`-us^ moveable][*/
|
||||
]type with [*/^topic`:`/`/Core`/srcdoc`/pick`_`$en`-us^ pick and
|
||||
optional deep copy] transfer semantics. Calling methods of picked
|
||||
One is logic error with exception of:&]
|
||||
[s0; &]
|
||||
[s0; [C+75 void ][*C+75 operator`=][C+75 (pick`_ One`& ][*C@3+75 v][C+75 )]&]
|
||||
[s0; [C+75 void ][*C+75 operator<<`=][C+75 (const One`& ][*C@3+75 v][C+75 )
|
||||
[s0;%% &]
|
||||
[s0;%% [C+75 void ][*C+75 operator`=][C+75 (pick`_ One`& ][*C@3+75 v][C+75 )]&]
|
||||
[s0;%% [C+75 void ][*C+75 operator<<`=][C+75 (const One`& ][*C@3+75 v][C+75 )
|
||||
][/C+75 (defined using DeepCopyOption template base class)]&]
|
||||
[s3;%- &]
|
||||
[s0;%- &]
|
||||
[ {{10000F(128)G(128)@1 [s0; [* Constructor List]]}}&]
|
||||
[s0;0%- &]
|
||||
[s5;:One`:`:One`(`):%- [* One]()&]
|
||||
[s2; Default constructor. Constructs empty One.&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:One`:`:One`(T`*`):%- [* One]([*@4 T]_`*[*@3 newt])&]
|
||||
[s2; Constructs One with content. Content is specified by pointer
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* Constructor List]]}}&]
|
||||
[s0;0 &]
|
||||
[s5;:One`:`:One`(`): [* One]()&]
|
||||
[s2;%% Default constructor. Constructs empty One.&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:One`:`:One`(T`*`): [* One]([*@4 T]_`*[*@3 newt])&]
|
||||
[s2;%% Constructs One with content. Content is specified by pointer
|
||||
to object created using operator new. One takes over ownership
|
||||
of this this object. &]
|
||||
[s7; [%-*@3 newt]-|Object to be added.&]
|
||||
[s3; &]
|
||||
[s4;%- &]
|
||||
[s5;:One`:`:One`(pick`_ One`<T`>`&`):%- [* One]([@(0.128.128) pick`_]_[* One][@(0.0.255) <][*@4 T
|
||||
[s7;%% [%-*@3 newt]-|Object to be added.&]
|
||||
[s3;%% &]
|
||||
[s4; &]
|
||||
[s5;:One`:`:One`(pick`_ One`<T`>`&`): [* One]([@(0.128.128) pick`_]_[* One][@(0.0.255) <][*@4 T
|
||||
][@(0.0.255) >`&]_[*@3 p])&]
|
||||
[s2; Pick constructor. Transfers source [* One] [%-*@3 p ]in low constant
|
||||
[s2;%% Pick constructor. Transfers source [* One] [%-*@3 p ]in low constant
|
||||
time, but destroys it by picking.&]
|
||||
[s3; &]
|
||||
[s4;%- &]
|
||||
[s5;:One`:`:One`(const One`<T`>`&`,int`):%- [* One]([@(0.0.255) const]_[* One][@(0.0.255) <][*@4 T
|
||||
[s3;%% &]
|
||||
[s4; &]
|
||||
[s5;:One`:`:One`(const One`<T`>`&`,int`): [* One]([@(0.0.255) const]_[* One][@(0.0.255) <][*@4 T
|
||||
][@(0.0.255) >`&]_[*@3 p], [@(0.0.255) int])&]
|
||||
[s6; Optional deep copy constructor.&]
|
||||
[s2; Requires T to have deep copy constructor or optional deep copy
|
||||
constructor.&]
|
||||
[s6;%% Optional deep copy constructor.&]
|
||||
[s2;%% Requires T to have deep copy constructor or optional deep
|
||||
copy constructor.&]
|
||||
[s3;%% &]
|
||||
[s4; &]
|
||||
[s5;:One`:`:`~One`(`): [@(0.0.255) `~][* One]()&]
|
||||
[s2;%% Default destructor.&]
|
||||
[s3; &]
|
||||
[s4;%- &]
|
||||
[s5;:One`:`:`~One`(`):%- [@(0.0.255) `~][* One]()&]
|
||||
[s2; Default destructor.&]
|
||||
[s3;%- &]
|
||||
[s1; &]
|
||||
[ {{10000F(128)G(128)@1 [s0; [* Method List]]}}&]
|
||||
[s0;0%- &]
|
||||
[s5;:One`:`:Clear`(`):%- [@(0.0.255) void]_[* Clear]()&]
|
||||
[s2;%- Removes the element stored in [* One].&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:One`:`:IsPicked`(`)const:%- [@(0.0.255) bool]_[* IsPicked]()_[@(0.0.255) const]&]
|
||||
[s2; Returns [* true] if [* One] has been picked.&]
|
||||
[s1;%% &]
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* Method List]]}}&]
|
||||
[s0;0 &]
|
||||
[s5;:One`:`:Clear`(`): [@(0.0.255) void]_[* Clear]()&]
|
||||
[s2; Removes the element stored in [* One].&]
|
||||
[s3; &]
|
||||
[s4;%- &]
|
||||
[s5;:One`:`:Attach`(T`*`):%- [@(0.0.255) void]_[* Attach]([*@4 T]_`*[*@3 data])&]
|
||||
[s2; Assigns element to One. (Note: if there is content in One while
|
||||
[s4; &]
|
||||
[s5;:One`:`:IsPicked`(`)const: [@(0.0.255) bool]_[* IsPicked]()_[@(0.0.255) const]&]
|
||||
[s2;%% Returns [* true] if [* One] has been picked.&]
|
||||
[s3;%% &]
|
||||
[s4; &]
|
||||
[s5;:One`:`:Attach`(T`*`): [@(0.0.255) void]_[* Attach]([*@4 T]_`*[*@3 data])&]
|
||||
[s2;%% Assigns element to One. (Note: if there is content in One while
|
||||
calling this function, it is destroyed).&]
|
||||
[s7; [%-*C@3 data]-|Pointer to the new element created using operator
|
||||
[s7;%% [%-*C@3 data]-|Pointer to the new element created using operator
|
||||
new.&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:One`:`:Detach`(`)pick`_:%- [*@4 T]_`*[* Detach]()_[@(0.128.128) pick`_]&]
|
||||
[s2; Removes content giving up ownership. Client is responsible for
|
||||
deletion of content.&]
|
||||
[s7; [*/ Return value]-|Pointer to the content allocated on the heap.&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:One`:`:operator`-`(`)pick`_:%- [*@4 T]_`*[* operator`-]()_[@(0.128.128) pick`_]&]
|
||||
[s2; Same as Detach() (operator version).&]
|
||||
[s7; [*/ Return value]-|Pointer to the content allocated on the heap.&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:One`:`:operator`=`(T`*`):%- [@(0.0.255) void]_[* operator`=]([*@4 T]_`*[*@3 data])&]
|
||||
[s2; Same as Attach(data) (operator version).&]
|
||||
[s7; [%-*C@3 data]-|Pointer to the new element created using operator
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:One`:`:Detach`(`)pick`_: [*@4 T]_`*[* Detach]()_[@(0.128.128) pick`_]&]
|
||||
[s2;%% Removes content giving up ownership. Client is responsible
|
||||
for deletion of content.&]
|
||||
[s7;%% [*/ Return value]-|Pointer to the content allocated on the heap.&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:One`:`:operator`-`(`)pick`_: [*@4 T]_`*[* operator`-]()_[@(0.128.128) pick`_]&]
|
||||
[s2;%% Same as Detach() (operator version).&]
|
||||
[s7;%% [*/ Return value]-|Pointer to the content allocated on the heap.&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:One`:`:operator`=`(T`*`): [@(0.0.255) void]_[* operator`=]([*@4 T]_`*[*@3 data])&]
|
||||
[s2;%% Same as Attach(data) (operator version).&]
|
||||
[s7;%% [%-*C@3 data]-|Pointer to the new element created using operator
|
||||
new.&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:One`:`:operator`=`(pick`_ One`<T`>`&`):%- [@(0.0.255) void]_[* operator`=]([@(0.128.128) p
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:One`:`:operator`=`(pick`_ One`<T`>`&`): [@(0.0.255) void]_[* operator`=]([@(0.128.128) p
|
||||
ick`_]_[_^One^ One][@(0.0.255) <][*@4 T][@(0.0.255) >`&]_[*@3 d])&]
|
||||
[s2; Pick operator. Transfers source One in low constant time, but
|
||||
destroys it by picking.&]
|
||||
[s7; [%-*C@3 d]-|Source One.&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:One`:`:operator`-`>`(`)const:%- [@(0.0.255) const]_[*@4 T]_`*[* operator`->]()_[@(0.0.255) c
|
||||
onst]&]
|
||||
[s2; Constant content access operator. Illegal if there is no content.&]
|
||||
[s7; [*/ Return value]-|Returns constant pointer to content.&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:One`:`:operator`-`>`(`):%- [*@4 T]_`*[* operator`->]()&]
|
||||
[s2; Content access operator. Illegal if there is no content.&]
|
||||
[s7; [*/ Return value]-|Returns pointer to content.&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:One`:`:operator`~`(`)const:%- [@(0.0.255) const]_[*@4 T]_`*[* operator`~]()_[@(0.0.255) c
|
||||
onst]&]
|
||||
[s2; Constant content pointer access.&]
|
||||
[s7; [*/ Return value]-|Returns constant pointer to content or NULL
|
||||
when there is no content.&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:One`:`:operator`~`(`):%- [*@4 T]_`*[* operator`~]()&]
|
||||
[s2; Content pointer access.&]
|
||||
[s7; [*/ Return value]-|Returns pointer to content or NULL when there
|
||||
is no content.&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:One`:`:operator`*`(`)const:%- [@(0.0.255) const]_[*@4 T][@(0.0.255) `&]_[* operator`*]()
|
||||
_[@(0.0.255) const]&]
|
||||
[s2; Content constant reference access. Illegal if there is no content.&]
|
||||
[s7; [*/ Return value]-|Constant reference to content.&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:One`:`:operator`*`(`):%- [*@4 T][@(0.0.255) `&]_[* operator`*]()&]
|
||||
[s2; Content reference access. Illegal if there is no content.&]
|
||||
[s7; [*/ Return value]-|Reference to content.&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:One`:`:Create`(`):%- [@(0.0.255) template]_<[@(0.0.255) class]_[*@4 TT][@(0.0.255) >]_[*@4 T
|
||||
T][@(0.0.255) `&]_[* Create]()&]
|
||||
[s2; Creates content in One. (Note: if there is content in One while
|
||||
calling this function, it is destroyed).&]
|
||||
[s7; [*C@4 TT]-|Type of content. Must be equal to T or derived from
|
||||
it.&]
|
||||
[s7; [*/ Return value]-|Reference to actual content (of type TT).&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:One`:`:IsEmpty`(`)const:%- [@(0.0.255) bool]_[* IsEmpty]()_[@(0.0.255) const]&]
|
||||
[s2; Returns [* true] if there is no content.&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:One`:`:operator bool`(`)const:%- [* operator_bool]()_[@(0.0.255) const]&]
|
||||
[s2; Returns [* true] if there is content.&]
|
||||
[s2;%% Pick operator. Transfers source One in low constant time,
|
||||
but destroys it by picking.&]
|
||||
[s7;%% [%-*C@3 d]-|Source One.&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:One`:`:operator`-`>`(`)const: [@(0.0.255) const]_[*@4 T]_`*[* operator`->]()_[@(0.0.255) c
|
||||
onst]&]
|
||||
[s2;%% Constant content access operator. Illegal if there is no content.&]
|
||||
[s7;%% [*/ Return value]-|Returns constant pointer to content.&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:One`:`:operator`-`>`(`): [*@4 T]_`*[* operator`->]()&]
|
||||
[s2;%% Content access operator. Illegal if there is no content.&]
|
||||
[s7;%% [*/ Return value]-|Returns pointer to content.&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:One`:`:operator`~`(`)const: [@(0.0.255) const]_[*@4 T]_`*[* operator`~]()_[@(0.0.255) co
|
||||
nst]&]
|
||||
[s2;%% Constant content pointer access.&]
|
||||
[s7;%% [*/ Return value]-|Returns constant pointer to content or NULL
|
||||
when there is no content.&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:One`:`:operator`~`(`): [*@4 T]_`*[* operator`~]()&]
|
||||
[s2;%% Content pointer access.&]
|
||||
[s7;%% [*/ Return value]-|Returns pointer to content or NULL when there
|
||||
is no content.&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:One`:`:operator`*`(`)const: [@(0.0.255) const]_[*@4 T][@(0.0.255) `&]_[* operator`*]()_[@(0.0.255) c
|
||||
onst]&]
|
||||
[s2;%% Content constant reference access. Illegal if there is no
|
||||
content.&]
|
||||
[s7;%% [*/ Return value]-|Constant reference to content.&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:One`:`:operator`*`(`): [*@4 T][@(0.0.255) `&]_[* operator`*]()&]
|
||||
[s2;%% Content reference access. Illegal if there is no content.&]
|
||||
[s7;%% [*/ Return value]-|Reference to content.&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:One`:`:Create`(`): [@(0.0.255) template]_<[@(0.0.255) class]_[*@4 TT][@(0.0.255) >]_[*@4 T
|
||||
T][@(0.0.255) `&]_[* Create]()&]
|
||||
[s2;%% Creates content in One. (Note: if there is content in One while
|
||||
calling this function, it is destroyed).&]
|
||||
[s7;%% [*C@4 TT]-|Type of content. Must be equal to T or derived from
|
||||
it.&]
|
||||
[s7;%% [*/ Return value]-|Reference to actual content (of type TT).&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:One`:`:IsEmpty`(`)const: [@(0.0.255) bool]_[* IsEmpty]()_[@(0.0.255) const]&]
|
||||
[s2;%% Returns [* true] if there is no content.&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:One`:`:operator bool`(`)const: [* operator_bool]()_[@(0.0.255) const]&]
|
||||
[s2;%% Returns [* true] if there is content.&]
|
||||
[s3;%% &]
|
||||
[s0; ]
|
||||
|
|
@ -11,18 +11,21 @@ topic "File path utilities";
|
|||
[b42;2 $$9,9#13035079074754324216151401829390:normal]
|
||||
[{_}
|
||||
[ {{10000@(113.42.0) [s0;%% [*@7;4 File path utilities]]}}&]
|
||||
[s9; &]
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* FileTime]]}}&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[s0; &]
|
||||
[ {{10000@(113.42.0) [s0;%% [*@7;4 FileTime]]}}&]
|
||||
[s3; &]
|
||||
[s1;:FileTime`:`:struct: [@(0.0.255)3 struct][3 _][*3 FileTime][3 _:_][@(0.0.255)3 public][3 _][*@3;3 C
|
||||
ompareRelOps][@(0.0.255)3 <const][3 _][*3 FileTime][@(0.0.255)3 `&][3 ,
|
||||
`&Compare`_FileTime][@(0.0.255)3 >][3 _]&]
|
||||
[s2;%% FileTime is a structure that encapsulates host specific type
|
||||
[s9;%% FileTime is a structure that encapsulates host specific type
|
||||
used for file or directory timestamps.&]
|
||||
[s2;%% It has defined ordering and can be compared to Time. Time
|
||||
[s9;%% It has defined ordering and can be compared to Time. Time
|
||||
has conversion constructor from FileTime and AsFileTime method
|
||||
for backwards conversion.&]
|
||||
[s9;%% &]
|
||||
[s3;%% &]
|
||||
[s0;%% &]
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* Function List]]}}&]
|
||||
[s3; &]
|
||||
[s5;:PatternMatch`(const char`*`,const char`*`): [@(0.0.255) bool]_[* PatternMatch]([@(0.0.255) c
|
||||
|
|
|
|||
|
|
@ -10,8 +10,8 @@ topic "Point";
|
|||
[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam]
|
||||
[b42;2 $$9,9#13035079074754324216151401829390:normal]
|
||||
[{_}%EN-US
|
||||
[s0; [*@3;4 Point`_]&]
|
||||
[s0;*@3 &]
|
||||
[ {{10000@(113.42.0) [s0; [*@7;4 Point`_]]}}&]
|
||||
[s3; &]
|
||||
[s1;:noref:%- [@(0.0.255)3 template][3 _<][@(0.0.255)3 class][3 _][*@4;3 T][@(0.0.255)3 >]&]
|
||||
[s1;:Point`_`:`:struct:%- [@(0.0.255) struct]_[* Point`_]_:_[@(0.0.255) public]_[*@3 Moveable][@(0.0.255) <
|
||||
]_[* Point`_][@(0.0.255) <][*@4 T][@(0.0.255) >]_>_&]
|
||||
|
|
@ -20,7 +20,8 @@ topic "Point";
|
|||
point object. The horizontal coordinate is represented by [*@(154.0.0) x][@(154.0.0)
|
||||
]and the vertical one by [*@(154.0.0) y]. Both coordinates are
|
||||
of type [*@4 T].&]
|
||||
[s1; &]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[s0; To get a specialized version of [* Point`_], use one of the following:&]
|
||||
[s0; &]
|
||||
[s0; [* Point]&]
|
||||
|
|
|
|||
|
|
@ -94,7 +94,7 @@ onst]_[_^Ptr^ Ptr][@(0.0.255) `&]_[*@3 ptr])&]
|
|||
[s5;:Ptr`:`:ToString`(`)const:%- [_^String^ String]_[* ToString]()_[@(0.0.255) const]&]
|
||||
[s2; Converts all information to string for diagnostic purposes&]
|
||||
[s3; &]
|
||||
[s0;i448;a25;kKO9;:noref:@(0.0.255)%- &]
|
||||
[s0;i448;a25;kKO9;@(0.0.255)%- &]
|
||||
[ {{10000F(128)G(128)@1 [s0; [* Global Operators]]}}&]
|
||||
[s3; &]
|
||||
[s5;K%- friend_[@(0.0.255) bool][@(64) _]operator`=`=[@(64) (][@(0.0.255) const][@(64) _][^`:`:Ptr^@(64) P
|
||||
|
|
|
|||
|
|
@ -14,10 +14,11 @@ topic "RWMutex";
|
|||
[s3; &]
|
||||
[s1;:RWMutex`:`:class: [@(0.0.255)3 class][3 _][*3 RWMutex][3 _:_][@(0.0.255)3 private][3 _][*@3;3 N
|
||||
oCopy]&]
|
||||
[s2;%% This class mediates reader`-writer sharing of global data.
|
||||
[s9;%% This class mediates reader`-writer sharing of global data.
|
||||
Only single thread can EnterWrite, but any number of threads
|
||||
can EnterRead.&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* Public Method List]]}}&]
|
||||
[s3; &]
|
||||
[s5;:RWMutex`:`:EnterWrite`(`): [@(0.0.255) void]_[* EnterWrite]()&]
|
||||
|
|
@ -40,14 +41,15 @@ until all reader threads leave using LeaveRead.&]
|
|||
[s3; &]
|
||||
[s0; &]
|
||||
[ {{10000@(113.42.0) [s0;%% [*@7;4 StaticRWMutex]]}}&]
|
||||
[s4; &]
|
||||
[s3; &]
|
||||
[s1;:StaticRWMutex`:`:class: [@(0.0.255)3 class][3 _][*3 StaticRWMutex]&]
|
||||
[s2;%% Variant of RWMutex that can be used as static or global variable
|
||||
[s9;%% Variant of RWMutex that can be used as static or global variable
|
||||
without the need of initialization `- it has no constructor
|
||||
and correctly performs the first initialization when any of methods
|
||||
is called. That avoids problems with initialization order or
|
||||
multithreaded initialization issues.&]
|
||||
[s0;i448;a25;kKO9;:noref:@(0.0.255) &]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* Public Method List]]}}&]
|
||||
[s3; &]
|
||||
[s5;:StaticRWMutex`:`:Get`(`): [_^RWMutex^ RWMutex][@(0.0.255) `&]_[* Get]()&]
|
||||
|
|
@ -63,13 +65,14 @@ multithreaded initialization issues.&]
|
|||
[s3; &]
|
||||
[s0; &]
|
||||
[ {{10000@(113.42.0) [s0;%% [*@7;4 RWMutex`::ReadLock]]}}&]
|
||||
[s4; &]
|
||||
[s3; &]
|
||||
[s1;:RWMutex`:`:ReadLock`:`:class: [@(0.0.255)3 class][3 _][*3 ReadLock]&]
|
||||
[s2;%% This nested class automates calls to Mutex`::EnterRead / Mutex`::LeaveRead
|
||||
[s9;%% This nested class automates calls to Mutex`::EnterRead / Mutex`::LeaveRead
|
||||
for block of code using C`+`+ constructor / destructor rules.
|
||||
Using [* operator StaticRWMutex`::RWMutex], it can be used with
|
||||
StaticRWMutex as well.&]
|
||||
[s3; &]
|
||||
[s3;%% &]
|
||||
[s0;%% &]
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* Constructor / Destructor detail]]}}&]
|
||||
[s3; &]
|
||||
[s5;:RWMutex`:`:ReadLock`:`:ReadLock`(RWMutex`&`): [* ReadLock]([_^RWMutex^ RWMutex][@(0.0.255) `&
|
||||
|
|
@ -84,11 +87,12 @@ StaticRWMutex as well.&]
|
|||
[ {{10000@(113.42.0) [s0;%% [*@7;4 RWMutex`::WriteLock]]}}&]
|
||||
[s3; &]
|
||||
[s1;:RWMutex`:`:WriteLock`:`:class: [@(0.0.255)3 class][3 _][*3 WriteLock]&]
|
||||
[s0;l288; This nested class automates calls to Mutex`::EnterWrite
|
||||
/ Mutex`::LeaveLeave for block of code using C`+`+ constructor
|
||||
/ destructor rules. Using [* operator StaticRWMutex`::RWMutex],
|
||||
it can be used with StaticRWMutex as well.&]
|
||||
[s9; This nested class automates calls to Mutex`::EnterWrite / Mutex`::LeaveLeave
|
||||
for block of code using C`+`+ constructor / destructor rules.
|
||||
Using [* operator StaticRWMutex`::RWMutex], it can be used with
|
||||
StaticRWMutex as well.&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[ {{10000t/25b/25@1 [s0; [* Constructor / Destructor detail]]}}&]
|
||||
[s3; &]
|
||||
[s5;:RWMutex`:`:WriteLock`:`:WriteLock`(RWMutex`&`): [* WriteLock]([_^RWMutex^ RWMutex][@(0.0.255) `&
|
||||
|
|
@ -98,4 +102,5 @@ it can be used with StaticRWMutex as well.&]
|
|||
[s4;%% &]
|
||||
[s5;:RWMutex`:`:WriteLock`:`:`~WriteLock`(`): [@(0.0.255) `~][* WriteLock]()&]
|
||||
[s2;%% Calls [*@3 s].LeaveWrite() where [*@3 s] is the constructor parameter.&]
|
||||
[s3; &]
|
||||
[s0; ]
|
||||
|
|
@ -10,7 +10,8 @@ topic "Rect";
|
|||
[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam]
|
||||
[b42;2 $$9,9#13035079074754324216151401829390:normal]
|
||||
[{_}
|
||||
[s0;i448;a25;kKO9;:noref:%% [*@3;4 Rect`_]&]
|
||||
[ {{10000@(113.42.0) [s0;%% [*@7;4 Rect`_]]}}&]
|
||||
[s3;%% &]
|
||||
[s0; [@(0.0.255)3 template][3 _<][@(0.0.255)3 class][3 _][*@4;3 T][@(0.0.255)3 >]&]
|
||||
[s1;:Rect`_`:`:struct: [@(0.0.255) struct]_[* Rect`_]_:_[@(0.0.255) public]_[*@3 Moveable][@(0.0.255) <
|
||||
]_[* Rect`_][@(0.0.255) <][*@4 T][@(0.0.255) >]_>_&]
|
||||
|
|
@ -19,7 +20,8 @@ topic "Rect";
|
|||
area defined by the coordinates of the upper left corner, left
|
||||
and top, and the coordinates of the bottom right corner, right
|
||||
and bottom. All coordinates are of type ][*@4 T.]&]
|
||||
[s1; &]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[s0;%% To get a specialized version of [* Size`_], use one of the following:&]
|
||||
[s0; &]
|
||||
[s0; [* Rect]&]
|
||||
|
|
@ -28,8 +30,8 @@ and bottom. All coordinates are of type ][*@4 T.]&]
|
|||
[s3; &]
|
||||
[s4; &]
|
||||
[s0; [* Rect16]&]
|
||||
[s5;:Rect16`:`:typedef: [@(0.0.255) typedef]_[_^Rect`_^ Rect`_][@(0.0.255) <][_^int16^ int16][@(0.0.255) >
|
||||
]_[* Rect16]&]
|
||||
[s5;:Rect16`:`:typedef:~~~128; [@(0.0.255) typedef]_[_^Rect`_^ Rect`_][@(0.0.255) <][_^int16^ i
|
||||
nt16][@(0.0.255) >]_[* Rect16]&]
|
||||
[s2;%% [* Rect`_] with [%-* int16] coordinates.&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
|
|
|
|||
|
|
@ -10,7 +10,8 @@ topic "Segtor";
|
|||
[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam]
|
||||
[b42;2 $$9,9#13035079074754324216151401829390:normal]
|
||||
[{_}%EN-US
|
||||
[s0;~~~64; [*@3;4 Segtor]&]
|
||||
[ {{10000@(113.42.0) [s0; [*@7;4 Segtor]]}}&]
|
||||
[s3; &]
|
||||
[s1;:noref:%- [@(0.0.255)3 template][3 _<][@(0.0.255)3 class][3 _][*@4;3 T][3 ,
|
||||
][@(0.0.255)3 int][3 _][*@4;3 NBLK][3 _`=_][@3;3 16][@(0.0.255)3 >]&]
|
||||
[s1;:Segtor`:`:class:%- [@(0.0.255) class]_[* Segtor]_:_[@(0.0.255) public]_[*@3 MoveableAndDe
|
||||
|
|
|
|||
|
|
@ -13,13 +13,14 @@ topic "Semaphore";
|
|||
[ {{10000@(113.42.0) [s0;%% [*@7;4 StaticSemaphore]]}}&]
|
||||
[s3; &]
|
||||
[s1;:Semaphore`:`:class: [@(0.0.255)3 class][3 _][*3 Semaphore]&]
|
||||
[s2;%% Well known multithreading synchronization tool. In U`+`+,
|
||||
[s9;%% Well known multithreading synchronization tool. In U`+`+,
|
||||
it is primarily used to block and release thread execution. Semaphore
|
||||
has an internal counter, initially initialized to zero. Wait
|
||||
operation blocks thread execution as long as counter is zero,
|
||||
then decreases it by one. Release operation increases counter
|
||||
by 1.&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* Public Method List]]}}&]
|
||||
[s3; &]
|
||||
[s5;:Semaphore`:`:Wait`(`): [@(0.0.255) void]_[* Wait]()&]
|
||||
|
|
@ -31,6 +32,7 @@ the Release method. Before returning, decreases counter by 1.&]
|
|||
[s5;:Semaphore`:`:Release`(`): [@(0.0.255) void]_[* Release]()&]
|
||||
[s2;%% Increases internal counter by 1.&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* Constructor detail]]}}&]
|
||||
[s3; &]
|
||||
[s5;:Semaphore`:`:Semaphore`(`): [* Semaphore]()&]
|
||||
|
|
@ -38,14 +40,15 @@ the Release method. Before returning, decreases counter by 1.&]
|
|||
[s3; &]
|
||||
[s0; &]
|
||||
[ {{10000@(113.42.0) [s0;%% [*@7;4 StaticSemaphore]]}}&]
|
||||
[s4; &]
|
||||
[s3; &]
|
||||
[s1;:StaticSemaphore`:`:class: [@(0.0.255)3 class][3 _][*3 StaticSemaphore]&]
|
||||
[s2;%% Variant of Semaphore that can be used as static or global
|
||||
[s9;%% Variant of Semaphore that can be used as static or global
|
||||
variable without the need of initialization `- it has no constructor
|
||||
and correctly performs the first initialization when any of methods
|
||||
is called. That avoids problems with initialization order or
|
||||
multithreaded initialization issues.&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* Public Method List]]}}&]
|
||||
[s3; &]
|
||||
[s5;:StaticSemaphore`:`:Get`(`): [_^Semaphore^ Semaphore][@(0.0.255) `&]_[* Get]()&]
|
||||
|
|
@ -56,4 +59,5 @@ multithreaded initialization issues.&]
|
|||
[s5;:StaticSemaphore`:`:Wait`(`): [@(0.0.255) void]_[* Wait]()&]
|
||||
[s5;:StaticSemaphore`:`:Release`(`): [@(0.0.255) void]_[* Release]()&]
|
||||
[s2;%% Call respective methods of Semaphore instance.&]
|
||||
[s3; &]
|
||||
[s0; ]
|
||||
|
|
@ -10,8 +10,8 @@ topic "Size";
|
|||
[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam]
|
||||
[b42;2 $$9,9#13035079074754324216151401829390:normal]
|
||||
[{_}%EN-US
|
||||
[s0; [*@3;4 Size`_]&]
|
||||
[s0;*@3 &]
|
||||
[ {{10000@(113.42.0) [s0; [*@7;4 Size`_]]}}&]
|
||||
[s3; &]
|
||||
[s1;:noref:%- [@(0.0.255)3 template][3 _<][@(0.0.255)3 class][3 _][*@4;3 T][@(0.0.255)3 >]&]
|
||||
[s1;:Size`_`:`:struct:%- [@(0.0.255) struct]_[* Size`_]_:_[@(0.0.255) public]_[*@3 Moveable][@(0.0.255) <
|
||||
]_[* Size`_][@(0.0.255) <][*@4 T][@(0.0.255) >]_>_&]
|
||||
|
|
@ -20,7 +20,8 @@ topic "Size";
|
|||
size object. The horizontal dimension is represented by [*@(154.0.0) cx][@(154.0.0)
|
||||
]and the vertical one by [*@(154.0.0) cy]. Both dimension are of
|
||||
type [*@4 T]. &]
|
||||
[s1; &]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[s0; To get a specialized version of [* Size`_], use one of the following:&]
|
||||
[s0; &]
|
||||
[s1;%- [* Size]&]
|
||||
|
|
@ -34,7 +35,7 @@ type [*@4 T]. &]
|
|||
[s2; Size`_ with with [* int16][@(0.0.255) ]dimensions.&]
|
||||
[s3; &]
|
||||
[s4;*@(154.0.0) &]
|
||||
[s0;%- [* Size64]&]
|
||||
[s1;%- [* Size64]&]
|
||||
[s5;:Size64`:`:typedef:%- [@(0.0.255) typedef]_[_^Size`_^ Size`_][@(0.0.255) <][_^int64^ int6
|
||||
4][@(0.0.255) >]_[* Size64]&]
|
||||
[s2; Size`_ with with [* int64][@(0.0.255) ]dimensions.&]
|
||||
|
|
|
|||
|
|
@ -10,10 +10,10 @@ topic "Streams";
|
|||
[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam]
|
||||
[b42;2 $$9,9#13035079074754324216151401829390:normal]
|
||||
[{_}%EN-US
|
||||
[s0; [*@3;4 Stream]&]
|
||||
[ {{10000@(113.42.0) [s0; [*@7;4 Stream]]}}&]
|
||||
[s3; &]
|
||||
[s1;:Stream`:`:class:%- [@(0.0.255)3 class][3 _][*3 Stream]&]
|
||||
[s0;%- &]
|
||||
[s0; Stream is the base class of all U`+`+ streams.&]
|
||||
[s9; 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.&]
|
||||
|
|
@ -889,9 +889,9 @@ l`&]_[*@3 a], [@(0.0.255) bool`&]_[*@3 b], [@(0.0.255) bool`&]_[*@3 c])&]
|
|||
[s3; &]
|
||||
[s0;3 &]
|
||||
[s0;3 &]
|
||||
[s0;3 &]
|
||||
[s0;3 &]
|
||||
[s0; [@3;4 StringStream]&]
|
||||
[s0;%- &]
|
||||
[ {{10000@(113.42.0) [s0; [*@7;4 StringStream]]}}&]
|
||||
[s3; &]
|
||||
[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.&]
|
||||
|
|
@ -913,7 +913,6 @@ mode (like [* Create]).&]
|
|||
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;%- &]
|
||||
|
|
@ -947,8 +946,9 @@ etResult]().&]
|
|||
[s0;3 &]
|
||||
[s0;3 &]
|
||||
[s0;3 &]
|
||||
[s0;3 &]
|
||||
[s0; [*@3;4 MemStream]&]
|
||||
[s0;%- &]
|
||||
[ {{10000@(113.42.0) [s0; [*@7;4 MemStream]]}}&]
|
||||
[s3; &]
|
||||
[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.&]
|
||||
|
|
@ -967,15 +967,16 @@ tream]&]
|
|||
[s0;3 &]
|
||||
[s0;3 &]
|
||||
[s0;3 &]
|
||||
[s0;3 &]
|
||||
[s0;%- [*@3;4 MemReadStream]&]
|
||||
[s0;%- &]
|
||||
[ {{10000@(113.42.0) [s0; [*@7;4 MemReadStream]]}}&]
|
||||
[s3;%- &]
|
||||
[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 &]
|
||||
[s3; &]
|
||||
[s0;%- &]
|
||||
[ {{10000F(128)G(128)@1 [s0; [* Constructor Detail]]}}&]
|
||||
[s3; &]
|
||||
|
|
@ -987,8 +988,9 @@ onst]_[@(0.0.255) void]_`*[*@3 data], [@(0.0.255) int]_[*@3 size])&]
|
|||
[s3; &]
|
||||
[s0;3 &]
|
||||
[s0;3 &]
|
||||
[s0;3 &]
|
||||
[s0; [*@3;4 BlockStream]&]
|
||||
[s0;%- &]
|
||||
[ {{10000@(113.42.0) [s0; [*@7;4 BlockStream]]}}&]
|
||||
[s3; &]
|
||||
[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
|
||||
|
|
@ -1000,9 +1002,12 @@ 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]_`}&]
|
||||
[s3; &]
|
||||
[s0;%- &]
|
||||
[ {{10000F(128)G(128)@1 [s0; [* Public Member List]]}}&]
|
||||
[s3;%- &]
|
||||
[s0;%- [@(0.0.255) 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.&]
|
||||
|
|
@ -1017,124 +1022,141 @@ subsequent streams to write to the stream.&]
|
|||
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.&]
|
||||
[s3; &]
|
||||
[s4;%- &]
|
||||
[s5;:BlockStream`:`:SetBufferSize`(dword`):%- [@(0.0.255) void]_[* SetBufferSize]([_^dword^ d
|
||||
word]_[*@3 newsize])&]
|
||||
[s2; Sets a new size of internal buffer.&]
|
||||
[s7; [%-*C@3 newsize]-|The new size of buffer.&]
|
||||
[s3; &]
|
||||
[s4;%- &]
|
||||
[s5;:BlockStream`:`:GetBufferSize`(`)const:%- [_^dword^ dword]_[* GetBufferSize]()_[@(0.0.255) c
|
||||
onst]&]
|
||||
[s2; [*/ Return value]-|Size of buffer.&]
|
||||
[s3;%- &]
|
||||
[s0;%- &]
|
||||
[ {{10000F(128)G(128)@1 [s0; [* Protected Member List]]}}&]
|
||||
[s3; &]
|
||||
[s5;:BlockStream`:`:Read`(int64`,void`*`,dword`):%- [@(0.0.255) virtual]
|
||||
[_^dword^ dword]_[* Read]([_^int64^ int64]_[*@3 at], [@(0.0.255) void]_`*[*@3 ptr],
|
||||
[_^dword^ dword]_[*@3 size])&]
|
||||
[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.&]
|
||||
[s3; &]
|
||||
[s4;%- &]
|
||||
[s5;:BlockStream`:`:Write`(int64`,const void`*`,dword`):%- [@(0.0.255) virtual]
|
||||
[@(0.0.255) void]_[* Write]([_^int64^ int64]_[*@3 at], [@(0.0.255) const]_[@(0.0.255) void]_`*
|
||||
[*@3 data], [_^dword^ dword]_[*@3 size])&]
|
||||
[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.&]
|
||||
[s3; &]
|
||||
[s4;%- &]
|
||||
[s5;:BlockStream`:`:SetStreamSize`(int64`):%- [@(0.0.255) virtual]
|
||||
[@(0.0.255) void]_[* SetStreamSize]([_^int64^ int64]_[*@3 size])&]
|
||||
[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.&]
|
||||
[s3; &]
|
||||
[s4;%- &]
|
||||
[s5;:BlockStream`:`:GetStreamSize`(`)const:%- [_^int64^ int64]_[* GetStreamSize]()_[@(0.0.255) c
|
||||
onst]&]
|
||||
[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.&]
|
||||
[s3; &]
|
||||
[s4;%- &]
|
||||
[s5;:BlockStream`:`:OpenInit`(dword`,int64`):%- [@(0.0.255) void]_[* OpenInit]([_^dword^ dw
|
||||
ord]_[*@3 mode], [_^int64^ int64]_[*@3 file`_size])&]
|
||||
[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.&]
|
||||
[s3; &]
|
||||
[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;%- &]
|
||||
[ {{10000@(113.42.0) [s0; [*@7;4 FileStream]]}}&]
|
||||
[s3; &]
|
||||
[s1;:FileStream`:`:class:%- [@(0.0.255)3 class][3 _][*3 FileStream][3 _:_][@(0.0.255)3 public][3 _
|
||||
][*@3;3 BlockStream]&]
|
||||
[s9; Classical file stream.&]
|
||||
[s9; &]
|
||||
[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])&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[ {{10000F(128)G(128)@1 [s0; [* Constructor Detail]]}}&]
|
||||
[s3;%- &]
|
||||
[s5;:FileStream`:`:FileStream`(const char`*`,dword`):%- [* FileStream]([@(0.0.255) const]_
|
||||
[@(0.0.255) char]_`*[*@3 filename], [_^dword^ 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.&]
|
||||
[s3; &]
|
||||
[s4;%- &]
|
||||
[s5;:FileStream`:`:FileStream`(const char`*`,dword`,mode`_t`):%- [* FileStream]([@(0.0.255) c
|
||||
onst]_[@(0.0.255) char]_`*[*@3 filename], [_^dword^ dword]_[*@3 mode],
|
||||
mode`_t_[*@3 acm]_`=_[@3 0644])&]
|
||||
[s6;%- 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.&]
|
||||
[s3; &]
|
||||
[s4;%- &]
|
||||
[s5;:FileStream`:`:FileStream`(int`):%- [* FileStream]([@(0.0.255) int]_[*@3 std`_handle])&]
|
||||
[s6; 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]()&]
|
||||
[s3; &]
|
||||
[s4;%- &]
|
||||
[s5;: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]&]
|
||||
[s3; &]
|
||||
[s0;%- &]
|
||||
[ {{10000F(128)G(128)@1 [s0; [* Public Member List]]}}&]
|
||||
[s3;%- &]
|
||||
[s5;:FileStream`:`:operator bool`(`)const:%- [* operator_bool]()_[@(0.0.255) const]&]
|
||||
[s2; [*/ Return value]-|True if stream is open.&]
|
||||
[s3; &]
|
||||
[s4;%- &]
|
||||
[s5;:FileStream`:`:GetTime`(`)const:%- [_^FileTime^ FileTime]_[* GetTime]()_[@(0.0.255) con
|
||||
st]&]
|
||||
[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) )]&]
|
||||
[s3; &]
|
||||
[s4;%- &]
|
||||
[s5;:FileStream`:`:SetTime`(const FileTime`&`):%- [@(0.0.255) void]_[* SetTime]([@(0.0.255) c
|
||||
onst]_[_^FileTime^ FileTime][@(0.0.255) `&]_[*@3 tm])&]
|
||||
[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.&]
|
||||
[s3; &]
|
||||
[s4;%- &]
|
||||
[s5;:FileStream`:`:Open`(const char`*`,dword`,mode`_t`):%- [@(0.0.255) bool]_[* Open]([@(0.0.255) c
|
||||
onst]_[@(0.0.255) char]_`*[*@3 filename], [_^dword^ dword]_[*@3 mode],
|
||||
mode`_t_[*@3 acm]_`=_[@3 0644])&]
|
||||
[s6;%- 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 &]
|
||||
[s3; &]
|
||||
[s4;%- &]
|
||||
[s5;:FileStream`:`:GetHandle`(`)const:%- HANDLE_[* GetHandle]()_[@(0.0.255) const]&]
|
||||
[s2; [*/ Return value]-|File handle, either POSIX or WIN32.&]
|
||||
[s3; &]
|
||||
[s0;3 &]
|
||||
[s0;3 &]
|
||||
[s0;3 &]
|
||||
|
|
|
|||
|
|
@ -10,12 +10,12 @@ topic "String and WString";
|
|||
[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam]
|
||||
[b42;2 $$9,9#13035079074754324216151401829390:normal]
|
||||
[{_}%EN-US
|
||||
[s0; [*@3;4 String]&]
|
||||
[ {{10000@(113.42.0) [s0; [*@7;4 String]]}}&]
|
||||
[s3; &]
|
||||
[s1;:String`:`:class:%- [@(0.0.255)3 class][3 _][*3 String][3 _:_][@(0.0.255)3 public][3 _][*@3;3 Mo
|
||||
veable][@(0.0.255)3 <][*3 String][3 , ][_^AString^3 AString][@(0.0.255)3 <][_^String0^3 Strin
|
||||
g0][@(0.0.255)3 >][3 _>_]&]
|
||||
[s0;3%- &]
|
||||
[s0; String is a value class that contains an array of characters
|
||||
[s9; String is a value class that contains an array of characters
|
||||
(or bytes). It is designed to have fast copy operations. The
|
||||
array of characters is zero terminated. String provides non`-mutable
|
||||
access to the array of characters. String can store 8 bit encoded
|
||||
|
|
@ -24,10 +24,8 @@ String works with raw 8 bit values `- there are not automatic
|
|||
conversions performed e.g. in operator`[`]. If you need to access
|
||||
individual UTF`-8 characters, the best practice in most cases
|
||||
is to convert it to WString (and eventually back after processing).&]
|
||||
[s0; &]
|
||||
[s0; String is also often used to store raw binary data.&]
|
||||
[s0; &]
|
||||
[s0; WString is similar to String, but it uses 16 bit Ucs2 encoding.
|
||||
[s9; String is also often used to store raw binary data.&]
|
||||
[s9; WString is similar to String, but it uses 16 bit Ucs2 encoding.
|
||||
String and WString share a number of common functions through
|
||||
the AString interface.&]
|
||||
[s3; &]
|
||||
|
|
@ -248,15 +246,16 @@ nt]_[*@3 i])_[@(0.0.255) const]&]
|
|||
[s2;%- [%% Returns the character at position ][*@3 i.]&]
|
||||
[s3;%- &]
|
||||
[s0;%- &]
|
||||
[s0;%- &]
|
||||
[s0;%- &]
|
||||
[s0;%- &]
|
||||
[s0;@(0.0.255) &]
|
||||
[s0;@(0.0.255) &]
|
||||
[s0; [*@3;4 WString]&]
|
||||
[s0;%- &]
|
||||
[ {{10000@(113.42.0) [s0; [*@7;4 WString]]}}&]
|
||||
[s3; &]
|
||||
[s1;:WString`:`:class:%- [@(0.0.255)3 class][3 _][*3 WString][3 _:_][@(0.0.255)3 public][3 _][*@3;3 M
|
||||
oveable][@(0.0.255)3 <][*3 WString][3 , ][_^AString^3 AString][@(0.0.255)3 <][_^WString0^3 WS
|
||||
tring0][@(0.0.255)3 >][3 _>_]&]
|
||||
[s9; WString is similar to String, but it uses 16 bit Ucs2 encoding.
|
||||
String and WString share a number of common functions through
|
||||
the AString interface.&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[ {{10000F(128)G(128)@1 [s0; [* Constructor Detail]]}}&]
|
||||
|
|
@ -434,13 +433,69 @@ nt]_[*@3 pos], [@(0.0.255) const]_[_^wchar^ wchar]_`*[*@3 s], [@(0.0.255) int]_[
|
|||
[s0;%- &]
|
||||
[s0;%- &]
|
||||
[s0;%- &]
|
||||
[s0;%- &]
|
||||
[s0;%- &]
|
||||
[s0; &]
|
||||
[s0; [@3;4 AString]&]
|
||||
[ {{10000@(113.42.0) [s0; [*@7;4 AString]]}}&]
|
||||
[s3; &]
|
||||
[s1;:noref:%- [@(0.0.255)3 template][3 _<][@(0.0.255)3 class][3 _][*@3;3 B][@(0.0.255)3 >]&]
|
||||
[s1;:AString`:`:class:%- [@(0.0.255) class]_[* AString]_:_[@(0.0.255) public]_[*@3 B]&]
|
||||
[s9; A class that implements behavior common to both String and WString.&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[s0;%- &]
|
||||
[ {{10000F(128)G(128)@1 [s0; [* Public Member List]]}}&]
|
||||
[s3;%- &]
|
||||
[s5;:AString`:`:Clear`(`):%- [@(0.0.255) void]_[* Clear]()&]
|
||||
[s2; Clears the content of the string.&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:AString`:`:GetLength`(`)const:%- [@(0.0.255) int]_[* GetLength]()_[@(0.0.255) const]&]
|
||||
[s2; Returns the length of the string.&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:AString`:`:IsEmpty`(`)const:%- [@(0.0.255) bool]_[* IsEmpty]()_[@(0.0.255) const]&]
|
||||
[s2; Return true if the length of the string is zero.&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:AString`:`:End`(`)const:%- [@(0.0.255) const]_[_^AString`:`:tchar^ tchar]_`*[* End]()_
|
||||
[@(0.0.255) const]&]
|
||||
[s2; Returns a pointer to the end of the string.&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:AString`:`:Last`(`)const:%- [@(0.0.255) const]_[_^AString`:`:tchar^ tchar]_`*[* Last](
|
||||
)_[@(0.0.255) const]&]
|
||||
[s2; Returns a pointer to the last character in the string.&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:AString`:`:GetIter`(int`)const:%- [@(0.0.255) const]_[_^AString`:`:tchar^ tchar]_`*[* G
|
||||
etIter]([@(0.0.255) int]_[*@3 i])_[@(0.0.255) const]&]
|
||||
[s2; Returns a pointer to character index [%-*@3 i] of the string.&]
|
||||
[s3; &]
|
||||
[s4;%- &]
|
||||
[s5;:AString`:`:operator`[`]`(int`)const:%- [@(0.0.255) int]_[* operator`[`]]([@(0.0.255) i
|
||||
nt]_[*@3 i])_[@(0.0.255) const]&]
|
||||
[s2; Returns the character with index [%-*@3 i].&]
|
||||
[s3; &]
|
||||
[s4;%- &]
|
||||
[s5;:AString`:`:operator const tchar`*`(`)const:%- [@(0.0.255) operator]_[@(0.0.255) cons
|
||||
t]_tchar_`*()_[@(0.0.255) const]&]
|
||||
[s5;:AString`:`:operator`~`(`)const:%- [@(0.0.255) const]_[_^AString`:`:tchar^ tchar]_`*[* o
|
||||
perator`~]()_[@(0.0.255) const]&]
|
||||
[s5;:AString`:`:operator const void`*`(`)const:%- [@(0.0.255) operator]_[@(0.0.255) const
|
||||
]_[@(0.0.255) void]_`*()_[@(0.0.255) const]&]
|
||||
[s5;:AString`:`:operator const bchar`*`(`)const:%- [@(0.0.255) operator]_[@(0.0.255) cons
|
||||
t]_bchar_`*()_[@(0.0.255) const]&]
|
||||
[s2; Same as [* Begin()].&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:AString`:`:Insert`(int`,int`):%- [@(0.0.255) void]_[* Insert]([@(0.0.255) int]_[*@3 pos],
|
||||
[@(0.0.255) int]_[*@3 c])&]
|
||||
[s5;:AString`:`:Insert`(int`,const AString`:`:tchar`*`,int`):%- [@(0.0.255) void]_[* Inse
|
||||
rt]([@(0.0.255) int]_[*@3 pos], [@(0.0.255) const]_[_^AString`:`:tchar^ tchar]_`*[*@3 s],
|
||||
[@(0.0.255) int]_[*@3 count])&]
|
||||
[s5;:AString`:`:Insert`(int`,const AString`:`:String`&`):%- [@(0.0.255) void]_[* Insert](
|
||||
[@(0.0.255) int]_[*@3 pos], [@(0.0.255) const]_[_^AString`:`:String^ String][@(0.0.255) `&]_
|
||||
[*@3 s])&]
|
||||
[s5;:AString`:`:Insert`(int`,const char`*`):%- [@(0.0.255) void]_[* Insert]([@(0.0.255) int
|
||||
]_[*@3 pos], [@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 s])&]
|
||||
[s2; Inserts item [%-*@3 c]/[%-*@3 s] at position [%-*@3 pos] ([%-*@3 count]
|
||||
times).&]
|
||||
[s3; &]
|
||||
[s0; ]
|
||||
|
|
@ -10,7 +10,8 @@ topic "Thread";
|
|||
[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam]
|
||||
[b42;2 $$9,9#13035079074754324216151401829390:normal]
|
||||
[{_}
|
||||
[s0; [*@3;4 Thread]&]
|
||||
[ {{10000@(113.42.0) [s0;%% [*@7;4 Thread]]}}&]
|
||||
[s3; &]
|
||||
[s1;:Thread`:`:class: [@(0.0.255) class]_[* Thread]_:_[@(0.0.255) private]_[*@3 NoCopy]&]
|
||||
[s9;%% Encapsulation of thread.&]
|
||||
[s3;%% &]
|
||||
|
|
|
|||
|
|
@ -10,7 +10,8 @@ topic "Vector";
|
|||
[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam]
|
||||
[b42;2 $$9,9#13035079074754324216151401829390:normal]
|
||||
[{_}%EN-US
|
||||
[s1; [*@3;4 Vector]&]
|
||||
[ {{10000@(113.42.0) [s0; [*@7;4 Vector]]}}&]
|
||||
[s3; &]
|
||||
[s1;:noref:%- [@(0.0.255)3 template][3 _<][@(0.0.255)3 class][3 _][*@4;3 T][@(0.0.255)3 >]&]
|
||||
[s1;:Vector`:`:class:%- [@(0.0.255) class]_[* Vector]_:_[@(0.0.255) public]_[*@3 MoveableAndDe
|
||||
epCopyOption][@(0.0.255) <]_[* Vector][@(0.0.255) <][*@4 T][@(0.0.255) >]_>&]
|
||||
|
|
|
|||
|
|
@ -10,7 +10,8 @@ topic "VectorMap";
|
|||
[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam]
|
||||
[b42;2 $$9,9#13035079074754324216151401829390:normal]
|
||||
[{_}%EN-US
|
||||
[s1;:noref: [*@3;4 VectorMap]&]
|
||||
[ {{10000@(113.42.0) [s0; [*@7;4 VectorMap]]}}&]
|
||||
[s3; &]
|
||||
[s1;:noref:%- [@(0.0.255)3 template][3 _<][@(0.0.255)3 class][3 _][*@4;3 K][3 ,
|
||||
][@(0.0.255)3 class][3 _][*@4;3 T][3 , ][@(0.0.255)3 class][3 _][*@4;3 HashFn][3 _`=_StdHash][@(0.0.255)3 <
|
||||
][*@4;3 K][@(0.0.255)3 >][3 _>]&]
|
||||
|
|
|
|||
|
|
@ -11,16 +11,17 @@ topic "XmlNode";
|
|||
[b42;2 $$9,9#13035079074754324216151401829390:normal]
|
||||
[{_}
|
||||
[ {{10000@(113.42.0) [s0;%% [*@7;4 XmlNode `- Hierarchical representation of XML]]}}&]
|
||||
[s0;i448;a25;kKO9;@(0.0.255) &]
|
||||
[s3; &]
|
||||
[s1;:XmlNode`:`:class: [@(0.0.255)3 class][3 _][*3 XmlNode]&]
|
||||
[s2;%% This class represent the whole XML document as recursive hierarchic
|
||||
[s9;%% This class represent the whole XML document as recursive hierarchic
|
||||
structure `- each XmlNode can contain any number of child XmlNodes.
|
||||
XmlNode is mutable and U`+`+ provides function to parse XML and
|
||||
store it to XmlNode and also to take XmlNode and create corresponding
|
||||
XML document.&]
|
||||
[s2;%% &]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s0; &]
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* Public Member List]]}}&]
|
||||
[s3; &]
|
||||
[s5;:XmlNode`:`:Void`(`): [@(0.0.255) static] [@(0.0.255) const]_[_^XmlNode^ XmlNode][@(0.0.255) `&
|
||||
]_[* Void]()&]
|
||||
[s2;%% Returns a constant reference to XmlNode representing `"nothing`".
|
||||
|
|
@ -217,12 +218,13 @@ r]([@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 id], [@(0.0.255) int]_[*@3 val])&
|
|||
[_^String^ String]>`&_[*@3 a])&]
|
||||
[s2;%% Replaces all attributes to [%-*@3 a] using pick operation ([%-*@3 a]
|
||||
is destroyed in operation).&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* Constructor detail]]}}&]
|
||||
[s0;%% &]
|
||||
[s5;:XmlNode`:`:XmlNode`(`): [* XmlNode]()&]
|
||||
[s3;%% &]
|
||||
[s0; [* XmlNode]()&]
|
||||
[s2;%% Construct an empty XmlNode.&]
|
||||
[s0; &]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[ {{10000@(113.42.0) [s0;%% [*@7;4 XmlNode `- parser and output functions]]}}&]
|
||||
[s4;H0; &]
|
||||
|
|
@ -255,6 +257,5 @@ be a combination &]
|
|||
::= [s2;l64;%% Adds DOCTYPE declaration at the beginning of the document
|
||||
with type taken as id of first XML`_TAG sub`-node (which represents
|
||||
the root element).]}}&]
|
||||
[s2;%% &]
|
||||
[s3;%% &]
|
||||
[s0; ]
|
||||
|
|
@ -14,10 +14,11 @@ topic "XML output";
|
|||
[s3;%% &]
|
||||
[s1;:XmlTag`:`:class: [@(0.0.255)3 class][3 _][*3 XmlTag][3 _:_][@(0.0.255)3 private][3 _][*@3;3 Mov
|
||||
eable][3 <][*3 XmlTag][3 >_]&]
|
||||
[s2;%% This class simplifies the task of creating XML output text.
|
||||
[s9;%% This class simplifies the task of creating XML output text.
|
||||
It provides means of formatting XML tags and attributes and outputs
|
||||
String.&]
|
||||
[s0;i448;a25;kKO9;@(0.0.255) &]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* Public Method List]]}}&]
|
||||
[s4;H0; &]
|
||||
[s5;:XmlTag`:`:Tag`(const char`*`): [_^XmlTag^ XmlTag][@(0.0.255) `&]_[* Tag]([@(0.0.255) con
|
||||
|
|
@ -58,8 +59,9 @@ ator()]([@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 attr], [@(0.0.255) int]_[*@3
|
|||
perator()]([@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 attr], [@(0.0.255) double]_[*@3 q])&]
|
||||
[s2;%% These methods add XML tag attributes.&]
|
||||
[s3;%% &]
|
||||
[s0;%% &]
|
||||
[ {{10000t/25b/25@1 [s0; [* Constructor Detail]]}}&]
|
||||
[s4;H0;%% &]
|
||||
[s3;%% &]
|
||||
[s5;:XmlTag`:`:XmlTag`(`): [* XmlTag]()&]
|
||||
[s2; Empty constructor. You have to use Tag method to set the tag
|
||||
name.&]
|
||||
|
|
@ -68,6 +70,7 @@ name.&]
|
|||
[s5;:XmlTag`:`:XmlTag`(const char`*`): [* XmlTag]([@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 t
|
||||
ag])&]
|
||||
[s2;%% Sets the tag name to [%-*@3 tag].&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[ {{10000@(113.42.0) [s0;%% [*@7;4 XML output functions]]}}&]
|
||||
[s0; &]
|
||||
|
|
|
|||
|
|
@ -11,14 +11,14 @@ topic "XmlParser";
|
|||
[b42;2 $$9,9#13035079074754324216151401829390:normal]
|
||||
[{_}
|
||||
[ {{10000@(113.42.0) [s0;%% [*@7;4 XmlParser]]}}&]
|
||||
[s1;@(0.0.255)3 &]
|
||||
[s3; &]
|
||||
[s1;:XmlParser`:`:class: [@(0.0.255)3 class][3 _][*3 XmlParser]&]
|
||||
[s2;%% This class is a `'lexical`' parser of XML. It is intended
|
||||
[s9;%% This class is a `'lexical`' parser of XML. It is intended
|
||||
for implementation of descent parsers of XML.&]
|
||||
[s3; &]
|
||||
[s0;i448;a25;kKO9;@(0.0.255) &]
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* Public Method List]]}}&]
|
||||
[s4;H0; &]
|
||||
[s3; &]
|
||||
[s5;:XmlParser`:`:SkipWhites`(`): [@(0.0.255) void]_[* SkipWhites]()&]
|
||||
[s2;%% Skips any whitespaces in the input XML.&]
|
||||
[s3; &]
|
||||
|
|
@ -198,6 +198,7 @@ the next start`-tag is processed.&]
|
|||
mismatches of start`-tag and end`-tags. This mode was introduced
|
||||
to deal with broken XML files.&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* Constructor detail]]}}&]
|
||||
[s4;H0; &]
|
||||
[s5;:XmlParser`:`:XmlParser`(const char`*`): [* XmlParser]([@(0.0.255) const]_[@(0.0.255) c
|
||||
|
|
@ -205,4 +206,5 @@ har]_`*[*@3 s])&]
|
|||
[s2;%% Creates the parser for xml input text [%-*@3 s]. The pointed
|
||||
text must be valid through the whole parsing process (XmlParser
|
||||
does not make copy of the text).&]
|
||||
[s3; &]
|
||||
[s0; ]
|
||||
|
|
@ -10,8 +10,8 @@ topic "Algorithms";
|
|||
[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam]
|
||||
[b42;2 $$9,9#13035079074754324216151401829390:normal]
|
||||
[{_}%EN-US
|
||||
[s0; [*@3;4 Algorithms]&]
|
||||
[s0; A number of generic algorithms.&]
|
||||
[ {{10000@(113.42.0) [s0; [*@7;4 Algorithms]]}}&]
|
||||
[s9; A number of generic algorithms.&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[ {{10000F(128)G(128)@1 [s0; [* Global Functions]]}}&]
|
||||
|
|
@ -35,16 +35,6 @@ oid]_[* IterSwap]([*@4 I]_[*@3 a], [*@4 I]_[*@3 b])&]
|
|||
[s7; [*C@3 a]-|Iterator pointing to first value.&]
|
||||
[s7; [*C@3 b]-|Iterator pointing to second value. xx&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:IterSwap`(I`,I`):%- [@(0.0.255) template]_<[@(0.0.255) class]_[*@4 I][@(0.0.255) >]_[@(0.0.255) v
|
||||
oid]_[* IterSwap]([*@4 I]_[*@3 a], [*@4 I]_[*@3 b])&]
|
||||
[s2; Swaps values pointed to by iterators. Specific types might specialize
|
||||
[* IterSwap] with more effective variants.&]
|
||||
[s6; Swap must be defined for type pointed to by I.&]
|
||||
[s7; [*C@4 I]-|Iterator type.&]
|
||||
[s7; [*C@3 a]-|Iterator pointing to first value.&]
|
||||
[s7; [*C@3 b]-|Iterator pointing to second value. xx&]
|
||||
[s3;%- &]
|
||||
[s4; &]
|
||||
[s5;:FindLowerBound`(const C`&`,int`,int`,const T`&`,const L`&`):%- [@(0.0.255) templat
|
||||
e]_<[@(0.0.255) class]_[*@4 C], [@(0.0.255) class]_[*@4 T], [@(0.0.255) class]_[*@4 L][@(0.0.255) >
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue