Documentation update

git-svn-id: svn://ultimatepp.org/upp/trunk@1984 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
cbpporter 2010-01-29 22:32:32 +00:00
parent c522a5e4f7
commit c39f8f40ad
46 changed files with 524 additions and 386 deletions

View file

@ -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]&]

View file

@ -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 >]&]

View file

@ -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; ]

View file

@ -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.&]

View file

@ -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; ]

View file

@ -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) >]_>_&]

View file

@ -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

View file

@ -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 _>]&]

View file

@ -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) >]_>_&]

View file

@ -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

View file

@ -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) >]_>_&]

View file

@ -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

View file

@ -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; ]

View file

@ -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; ]

View file

@ -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]]}}&]

View file

@ -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; ]

View file

@ -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]

View file

@ -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; ]

View file

@ -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; ]

View file

@ -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; ]

View file

@ -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; ]

View file

@ -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; ]

View file

@ -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>]&]

View file

@ -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; ]

View file

@ -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; ]

View file

@ -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; ]

View file

@ -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; ]

View file

@ -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;%% &]

View file

@ -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; ]

View file

@ -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

View file

@ -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]&]

View file

@ -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

View file

@ -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; ]

View file

@ -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; &]

View file

@ -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

View file

@ -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; ]

View file

@ -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.&]

View file

@ -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 &]

View file

@ -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; ]

View file

@ -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;%% &]

View file

@ -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) >]_>&]

View file

@ -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 _>]&]

View file

@ -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; ]

View file

@ -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; &]

View file

@ -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; ]

View file

@ -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) >