Documentation update

git-svn-id: svn://ultimatepp.org/upp/trunk@2018 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
cbpporter 2010-02-06 11:25:57 +00:00
commit 49646bc161
16 changed files with 866 additions and 798 deletions

View file

@ -58,6 +58,8 @@ Process continues to run while AProcess instance can be destructed.&]
output of process. If anything went wrong, returns String`::GetVoid().&]
[s3; &]
[s0; &]
[s0; &]
[s0; &]
[ {{10000@(113.42.0) [s0;%% [*@7;4 LocalProcess]]}}&]
[s3; &]
[s1;:LocalProcess`:`:class: [@(0.0.255)3 class][3 _][*3 LocalProcess][3 _:_][@(0.0.255)3 public][3 _
@ -88,6 +90,8 @@ onst]_[@(0.0.255) char]_`*[*@3 cmdline], [@(0.0.255) const]_[@(0.0.255) char]_`*
][%-*@3 envptr]).&]
[s3; &]
[s0; &]
[s0; &]
[s0; &]
[ {{10000@(113.42.0) [s0;%% [*@7;4 Global functions related to LocalProcess]]}}&]
[s3; &]
[s5;:Sys`(const char`*`,String`&`): [@(0.0.255) int]_[* Sys]([@(0.0.255) const]_[@(0.0.255) c

View file

@ -1,7 +1,7 @@
topic "Callbacks";
[2 $$0,0#00000000000000000000000000000000:Default]
[i448;a25;kKO9;2 $$1,0#37138531426314131252341829483380:class]
[l288;2 $$2,0#27521748481378242620020725143825:desc]
[l288;2 $$2,2#27521748481378242620020725143825:desc]
[0 $$3,0#96390100711032703541132217272105:end]
[H6;0 $$4,0#05600065144404261032431302351956:begin]
[i448;a25;kKO9;2 $$5,0#37138531426314131252341829483370:item]
@ -10,20 +10,18 @@ topic "Callbacks";
[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam]
[b42;2 $$9,9#13035079074754324216151401829390:normal]
[{_}%EN-US
[s0; [4 Callbacks]&]
[s0; &]
[s0; Callbacks can be described as a very generalized form of function
[ {{10000@(113.42.0) [s0; [*@7;4 Callbacks]]}}&]
[s9; Callbacks can be described as a very generalized form of function
pointers. Each Callback represents some kind of action (usually
calling a certain function or a certain object method) that can
be invoked at any time.&]
[s0; &]
[s0; There are several basic callback types, depending on number
[s9; There are several basic callback types, depending on number
of parameters passed and return value. In order to keep description
of callbacks short, all these types are described in a single
`"parametrized`" description, with parameters [*/@(128.0.255) highlighted].&]
[s0; &]
[s0; Callback types&]
[s2; &]
[s0; Callback types:&]
[s3; &]
[ {{1514:5185:1933:1368h1;t/17b/17@(204) [s0;%- [*/@(128.0.255)1 CallbackType]]
:: [s0;%- [*/@(128.0.255)1 parameters]]
:: [s0;%- [*/@(128.0.255)1 arguments]]
@ -64,7 +62,7 @@ of callbacks short, all these types are described in a single
:: [s0; [*/C+75 class P1, class P2, class P3]]
:: [s0; [*/C+75 P1, P2, P3]]
:: [s0; [*/C+75 bool]]}}&]
[s0; &]
[s3; &]
[s0; &]
[s0; `[ template_<[*/@(128.0.255) parameters]> `]&]
[s0; [%- class_][*/@(128.0.255) CallbackType]&]
@ -78,69 +76,87 @@ rguments>]_`*[*@3 newaction])&]
[s2; Constructs callback based from new action.&]
[s7; [%-*C@3 newaction]-|Action. Must be created using [* new] operator.
Callback takes over its ownership.&]
[s3; &]
[s0; &]
[s0;:`:`:Callback1`:`:Callback1`(`):%- [%%*/@(128.0.255) CallbackType]()&]
[s2; Creates an empty callback.&]
[s0; &]
[s3; &]
[s4; &]
[s0;%- [%%*/@(128.0.255) CallbackType](const_[%%*/@(128.0.255) CallbackType]`&_[*@3 c])&]
[s2; Copy constructor. &]
[s7; [%-*C@3 c]-|Source callback.&]
[s0; &]
[s3; &]
[s4; &]
[s0;:`:`:Callback1`:`:`~Callback1`(`):%- `~[%%*/@(128.0.255) CallbackType]()&]
[s2; Destructor.&]
[s0; &]
[s3; &]
[s4; &]
[s0;:`:`:Callback1`:`:Clear`(`):%- void_[* Clear]()&]
[s2; Empties the callback.&]
[s0; &]
[s3; &]
[s4; &]
[s0;:`:`:Gate`:`:ClearTrue`(`):%- void_[* ClearTrue]()&]
[s0; Only in Gate callbacks.&]
[s6; Only in Gate callbacks.&]
[s2; Clears Gate. After this method is invoked, the Gate performs
no actions but returns true.&]
[s0; &]
[s3; &]
[s4; &]
[s0;:`:`:Gate`:`:ClearFalse`(`):%- void_[* ClearFalse]()&]
[s0; Only in Gate callbacks.&]
[s6; Only in Gate callbacks.&]
[s2; Clears Gate. After this method is invoked, the Gate performs
no actions and returns false. This is the same as Clear.&]
[s0; &]
[s3; &]
[s4; &]
[s0;:`:`:Callback1`:`:operator bool`(`)const:%- [* operator_bool]()_const&]
[s7; [*/ Return value]-|True if the callback is valid. Invoking a valid
callback invokes an action.&]
[s0; &]
[s3; &]
[s4; &]
[s0;:`:`:Callback1`:`:Execute`(P1`)const:%- [*/@(128.0.255) return`_type]_[* Execute]([%%*/@(128.0.255) a
rguments])_const&]
[s2; Executes the callback with given set of arguments.&]
[s0; &]
[s3; &]
[s4; &]
[s0;:`:`:Callback1`:`:operator`(`)`(P1`)const:%- [%%*/@(128.0.255) return`_type]_[* opera
tor()]([%%*/@(128.0.255) arguments])_const&]
[s2; Same as the Execute method.&]
[s3; &]
[s0; &]
[s0;:`:`:Callback1`:`:Empty`(`):*/@(128.0.255) &]
[s0;%- `[ template_<[*/@(128.0.255) parameters]> `]&]
[s0;%- struct_[*/@(128.0.255) CallbackType][* Action]&]
[s2; This is the abstract base class for callback action implementations.
Callback holds reference counted pointer to instance of class
derived from this class.&]
[s3; &]
[s0; &]
[s0;:`:`:Callback4Action`:`:Callback4Action`(`):%- [*/@(128.0.255) CallbackType][* Action
]()&]
[s2; Constructor. Assigns 1 to the reference count.&]
[s0; &]
[s3; &]
[s4; &]
[s0;:`:`:Callback4Action`:`:`~Callback4Action`(`):%- `~[*/@(128.0.255) CallbackType][* Ac
tion]()&]
[s2; Virtual destructor.&]
[s0; &]
[s3; &]
[s4; &]
[s0;:`:`:Callback4Action`:`:Execute`(P1`,P2`,P3`,P4`):%- virtual
[%%*/@(128.0.255) return`_type]_[* Execute]([*/@(128.0.255) arguments])_`=_[@3 0]&]
[s2; Performs the action with specified set of arguments.&]
[s0; &]
[s3; &]
[s4; &]
[s0;%- virtual bool_[* IsValid]()_const&]
[s7; [*/ Return value]-|true if the Action is valid. Default implementation
returns true.&]
[s0; &]
[s3; &]
[s4; &]
[s0;%- Atomic_[* count]&]
[s2; Member variable used as reference count.&]
[s0; &]
[s0; Common functions creating callbacks&]
[s3; &]
[s0;%- &]
[s0;%- &]
[s0;%- &]
[ {{10000@(113.42.0) [s0; [*@7;4 Common functions creating callbacks]]}}&]
[s3; &]
[s0;:`:`:callback`(OBJECT`*`,void`(METHOD`:`:`*`)`(P1 p1`)`): template_<class
[*@4 OBJECT], class [*@4 METHOD][*@(128.0.255) ,][*@4 ][*/@(128.0.255) parameters]>&]
[s0;%- [*/@(128.0.255) CallbackType]<[*/@(128.0.255) arguments]> [* callback]([*@4 OBJECT]_`*
@ -150,7 +166,8 @@ specified object.&]
[s7; [%-*C@3 object]-|Pointer to the object.&]
[s7; [%-*C@3 method]-|Pointer to the method.&]
[s7; [*/ Return value]-|Created callback.&]
[s0; &]
[s3; &]
[s4; &]
[s0;:`:`:callback`(OBJECT`*`,void`(METHOD`:`:`*`)`(P1 p1`)`): template_<class
[*@4 OBJECT], class [*@4 METHOD][*@(128.0.255) ,][*@4 ][*/@(128.0.255) parameters]>&]
[s0;%- [*/@(128.0.255) CallbackType]<[*/@(128.0.255) arguments]> [* callback](const
@ -161,7 +178,8 @@ a constant method of the object.&]
[s7; [%-*C@3 object]-|Pointer to the object.&]
[s7; [%-*C@3 method]-|Pointer to the constant method to invoke.&]
[s7; [*/ Return value]-|Created callback.&]
[s0; &]
[s3; &]
[s4; &]
[s0;:`:`:pteback`(OBJECT`*`,void`(METHOD`:`:`*`)`(P1 p1`)`): `[ template_<[*/@(128.0.255) p
arameters]> `]&]
[s0;%- [*/@(128.0.255) CallbackType][%% <][%%*/@(128.0.255) arguments][%% >
@ -175,7 +193,8 @@ the [^topic`:`/`/Core`/src`/PtePtr`$en`-us`#`:`:Pte`:`:template `<class T`> clas
te] class.&]
[s7; [%-*C@3 method]-|Pointer to the method.&]
[s7; [*/ Return value]-|Created callback.&]
[s0; &]
[s3; &]
[s4; &]
[s0;:`:`:callback`(void`(`*`)`(P1 p1`)`): `[ template_<[*/@(128.0.255) parameters]>
`]&]
[s0;%- [*/@(128.0.255) CallbackType][%% <][%%*/@(128.0.255) arguments][%% >
@ -183,7 +202,8 @@ te] class.&]
[s2; Creates a Callback object that invokes a non`-member function.&]
[s7; [%-*C@3 fn]-|Pointer to the function.&]
[s7; [*/ Return value]-|Created callback.&]
[s0; &]
[s3; &]
[s4; &]
[s0; `[ template_<[*/@(128.0.255) parameters]> `]&]
[s0;%- [*/@(128.0.255) CallbackType][%% <][%%*/@(128.0.255) arguments][%% >]
[* Proxy]([*/@(128.0.255) CallbackType][%% <][%%*/@(128.0.255) arguments][%% >]`&_[*@3 cb])&]
@ -195,7 +215,8 @@ in the created callback `- storing callbacks that are used as
Proxy targets in Vector flavor of containers is not a good idea.&]
[s7; [%-*C@3 cb]-|Target callback.&]
[s7; [*/ Return value]-|Created callback.&]
[s0; &]
[s3; &]
[s4; &]
[s0; `[ template_<[*/@(128.0.255) parameters]> `]&]
[s0;%- [%%*/@(128.0.255) CallbackType][%% <][%%*/@(128.0.255) arguments][%% >
][* callback]([%%*/@(128.0.255) CallbackType][%% <][%%*/@(128.0.255) arguments][%% >
@ -210,7 +231,8 @@ value returned by [*@3 cb2].&]
[s7; [%-*C@3 cb1]-|First target callback.&]
[s7; [%-*C@3 cb2]-|Second target callback.&]
[s7; [*/ Return value]-|Created callback.&]
[s0; &]
[s3; &]
[s4; &]
[s0; `[ template_<[*/@(128.0.255) parameters]> `]&]
[s0;%- [%%*/@(128.0.255) CallbackType][%% <][%%*/@(128.0.255) arguments][%% >]`&_[* operator<<](
[%%*/@(128.0.255) CallbackType][%% <][%%*/@(128.0.255) arguments][%% >
@ -222,9 +244,10 @@ imitating callback insertion.&]
that calls both the first and the second callback.&]
[s7; [%-*C@3 b]-|Second callback.&]
[s7; [*/ Return value]-|Reference to the first callback.&]
[s0;3 &]
[s0; Special functions creating callbacks&]
[s3; &]
[s0; &]
[ {{10000@(113.42.0) [s0; [*@7;4 Special functions creating callbacks]]}}&]
[s3; &]
[s0;:`:`:callback1`(Object`*`,void`(M`:`:`*`)`(P`)`,T`):%- template_<class_[*@4 Object],
class_[*@4 M], class_[*@4 P], class_[*@4 T]>&]
[s0;:`:`:callback1`(Object`*`,void`(M`:`:`*`)`(P`)`,T`):%- Callback_[* callback1]([*@4 Ob
@ -236,7 +259,8 @@ the Callback.&]
[s7; [%-*C@3 method]-|Method pointer.&]
[s7; [%-*C@3 arg]-|Argument&]
[s7; [*/ Return value]-|Created callback.&]
[s0; &]
[s3; &]
[s4; &]
[s0;:`:`:callback1`(const Object`*`,void`(M`:`:`*`)`(P`)const`,T`):%- template_<class
_[*@4 Object], class_[*@4 M], class_[*@4 P], class_[*@4 T]>&]
[s0;:`:`:callback1`(const Object`*`,void`(M`:`:`*`)`(P`)const`,T`):%- Callback_[* callb
@ -247,7 +271,8 @@ ack1](const_[*@4 Object]_`*[*@3 object], void_([*@4 M]`::`*[*@3 method])([*@4 P]
[s7; [%-*C@3 method]-|Method pointer.&]
[s7; [%-*C@3 arg]-|Argument&]
[s7; [*/ Return value]-|Created callback.&]
[s0;*C@4 &]
[s3; &]
[s4; &]
[s0;:`:`:pteback1`(Object`*`,void`(M`:`:`*`)`(P`)`,T`):%- template_<class_[*@4 Object],
class_[*@4 M], class_[*@4 P], class_[*@4 T]>&]
[s0;:`:`:pteback1`(Object`*`,void`(M`:`:`*`)`(P`)`,T`):%- Callback_[* pteback1]([*@4 Obje
@ -261,7 +286,8 @@ te].&]
[s7; [%-*C@3 method]-|Method pointer.&]
[s7; [%-*C@3 arg]-|Argument&]
[s7; [*/ Return value]-|Created callback.&]
[s0; &]
[s3; &]
[s4; &]
[s0;:`:`:callback1`(void`(`*`)`(P`)`,T`):%- template_<class_[*@4 T],
class_[*@4 P]>&]
[s0;:`:`:callback1`(void`(`*`)`(P`)`,T`):%- Callback_[* callback1](void_(`*[*@3 fn])([*@4 P
@ -272,7 +298,8 @@ and stored in the Callback.&]
[s7; [%-*C@3 fn]-|Function.&]
[s7; [%-*C@3 arg]-|Argument.&]
[s7; [*/ Return value]-|Created callback.&]
[s0; &]
[s3; &]
[s4; &]
[s0;:`:`:callback1`(Object`*`,void`(M`:`:`*`)`(P1`,P`)`,T`):%- template_<class_[*@4 Obj
ect], class_[*@4 M], class_[*@4 P1], class_[*@4 P], class_[*@4 T]>&]
[s0;:`:`:callback1`(Object`*`,void`(M`:`:`*`)`(P1`,P`)`,T`):%- Callback1<[*@4 P1]>_[* cal
@ -285,7 +312,8 @@ stored in the Callback.&]
[s7; [%-*C@3 method]-|Method pointer.&]
[s7; [%-*C@3 arg]-|Second argument to the method.&]
[s7; [*/ Return value]-|Created callback.&]
[s0; &]
[s3; &]
[s4; &]
[s0;:`:`:callback1`(const Object`*`,void`(M`:`:`*`)`(P1`,P`)const`,T`):%- template_<c
lass_[*@4 Object], class_[*@4 M], class_[*@4 P1], class_[*@4 P], class_[*@4 T]>&]
[s0;:`:`:callback1`(const Object`*`,void`(M`:`:`*`)`(P1`,P`)const`,T`):%- Callback1<[*@4 P
@ -296,7 +324,8 @@ lass_[*@4 Object], class_[*@4 M], class_[*@4 P1], class_[*@4 P], class_[*@4 T]>&
[s7; [%-*C@3 method]-|Method pointer.&]
[s7; [%-*C@3 arg]-|Second argument to the method.&]
[s7; [*/ Return value]-|Created callback.&]
[s0; &]
[s3; &]
[s4; &]
[s0;:`:`:pteback1`(Object`*`,void`(M`:`:`*`)`(P1`,P`)`,T`):%- template_<class_[*@4 Obje
ct], class_[*@4 M], class_[*@4 P1], class_[*@4 P], class_[*@4 T]>&]
[s0;:`:`:pteback1`(Object`*`,void`(M`:`:`*`)`(P1`,P`)`,T`):%- Callback1<[*@4 P1]>_[* pteb
@ -310,7 +339,8 @@ even after the object instance is destructed.&]
te].&]
[s7; [%-*C@3 method]-|Method pointer.&]
[s7; [%-*C@3 arg]-|Second argument to the method.&]
[s0; &]
[s3; &]
[s4; &]
[s0;:`:`:callback1`(void`(`*`)`(P1`,P`)`,T`):%- template_<class_[*@4 T],
class_[*@4 P1], class_[*@4 P]>&]
[s0;:`:`:callback1`(void`(`*`)`(P1`,P`)`,T`):%- Callback1<[*@4 P1]>_[* callback1](void_(`*
@ -321,7 +351,8 @@ expecting two parameters. Additional parameter is supplied as
[s7; [%-*C@3 fn]-|Function.&]
[s7; [%-*C@3 arg]-|Method pointer.&]
[s7; [*/ Return value]-|Created callback.&]
[s0; &]
[s3; &]
[s4; &]
[s0;%- template_<class_[*@4 T], class_[*@4 P]>&]
[s0;%- Callback_[* callback1](Callback1<[*@4 P]>_[*@3 cb], [*@4 T]_[*@3 arg])&]
[s2; Combines a single`-parameter callback and an argument into a
@ -329,7 +360,8 @@ no`-parameter callback.&]
[s7; [%-*C@3 cb]-|Single`-parameter callback.&]
[s7; [%-*C@3 arg]-|Argument.&]
[s7; [*/ Return value]-|Created callback.&]
[s0; &]
[s3; &]
[s4; &]
[s0;%- template_<class_[*@4 T], class_[*@4 P1], class_[*@4 P]>&]
[s0;%- Callback1<[*@4 P1]>_[* callback1](Callback2<[*@4 P1], [*@4 P]>_[*@3 cb],
[*@4 T]_[*@3 arg])&]
@ -338,7 +370,8 @@ single parameter callback.&]
[s7; [%-*C@3 cb]-|Double`-parameter callback.&]
[s7; [%-*C@3 arg]-|Argument.&]
[s7; [*/ Return value]-|Created callback.&]
[s0; &]
[s3; &]
[s4; &]
[s0;:`:`:callback2`(Object`*`,R`(O`:`:`*`)`(A`,B`)`,T1`,T2`):%- template_<class_[*@4 Ob
ject], class_[*@4 R], class_[*@4 O], class_[*@4 A], class_[*@4 B], class_[*@4 T1],
class_[*@4 T2]>&]
@ -353,7 +386,8 @@ in the created callback object.&]
[s7; [%-*C@3 arg1]-|First argument.&]
[s7; [%-*C@3 arg2]-|Second argument.&]
[s7; [*/ Return value]-|Created callback.&]
[s0; &]
[s3; &]
[s4; &]
[s0;:`:`:callback2`(const Object`*`,R`(O`:`:`*`)`(A`,B`)const`,T1`,T2`):%- template_<
class_[*@4 Object], class_[*@4 R], class_[*@4 O], class_[*@4 A], class_[*@4 B],
class_[*@4 T1], class_[*@4 T2]>&]
@ -366,7 +400,8 @@ allback2](const_[*@4 Object]_`*[*@3 object], [*@4 R]_([*@4 O]`::`*[*@3 method])(
[s7; [%-*C@3 arg1]-|First argument.&]
[s7; [%-*C@3 arg2]-|Second argument.&]
[s7; [*/ Return value]-|Created callback.&]
[s7;*C@3 &]
[s3; &]
[s4; &]
[s0;:`:`:pteback2`(Object`*`,R`(O`:`:`*`)`(A`,B`)`,T1`,T2`):%- template_<class_[*@4 Obj
ect], class_[*@4 R], class_[*@4 O], class_[*@4 A], class_[*@4 B], class_[*@4 T1],
class_[*@4 T2]>&]
@ -382,8 +417,8 @@ even after the object instance is destructed.&]
[s7; [%-*C@3 arg1]-|First argument.&]
[s7; [%-*C@3 arg2]-|Second argument.&]
[s7; [*/ Return value]-|Created callback.&]
[s0; &]
[s0; &]
[s3; &]
[s4; &]
[s0;:`:`:callback2`(R`(`*`)`(A`,B`)`,T1`,T2`):%- template_<class_[*@4 R],
class_[*@4 A], class_[*@4 B], class_[*@4 T1], class_[*@4 T2]>&]
[s0;:`:`:callback2`(R`(`*`)`(A`,B`)`,T1`,T2`):%- Callback_[* callback2]([*@4 R]_(`*[*@3 fn])
@ -395,7 +430,8 @@ taking two parameters. Parameter are supplied as [@3 arg1] and
[s7; [%-*C@3 arg1]-|First argument.&]
[s7; [%-*C@3 arg2]-|Second argument.&]
[s7; [*/ Return value]-|Created callback.&]
[s0; &]
[s3; &]
[s4; &]
[s0;%- template_<class_[*@4 A], class_[*@4 B], class_[*@4 T1], class_[*@4 T2]>&]
[s0;%- Callback_[* callback2](Callback2<[*@4 A], [*@4 B]>_[*@3 cb], [*@4 T1]_[*@3 arg1],
[*@4 T2]_[*@3 arg2])&]
@ -405,71 +441,88 @@ no`-parameter callback.&]
[s7; [%-*C@3 arg1]-|First argument.&]
[s7; [%-*C@3 arg2]-|Second argument.&]
[s7; [*/ Return value]-|Created callback.&]
[s0;*C@3 &]
[s0; Callback macros&]
[s3; &]
[s0; &]
[s0; Callback macros reduce verbosity of instance method callbacks.
[s0;%- &]
[ {{10000@(113.42.0) [s0; [*@7;4 Callback macros]]}}&]
[s9; Callback macros reduce verbosity of instance method callbacks.
They expect CLASSNAME to be typedef`-ed as the type of current
class and return method callbacks bound to the [*@(0.0.255) this]
pointer.&]
[s3; &]
[s0; &]
[s0;:`:`:THISBACK`(x`):%- [* THISBACK]([*@3 x])&]
[s2; Expands to callback(this, `&CLASSNAME`::[@3 x]).&]
[s7; [%-*C@3 x]-|Name of method.&]
[s0; &]
[s3; &]
[s4; &]
[s0;:`:`:THISBACK1`(x`, arg`):%- [* THISBACK1]([*@3 x], [*@3 arg])&]
[s2; Expands to callback1(this, `&CLASSNAME`::[@3 x], [@3 arg]).&]
[s7; [%-*C@3 x]-|Name of method.&]
[s7; [%-*C@3 arg]-|Additional parameter.&]
[s0; &]
[s3; &]
[s4; &]
[s0;:`:`:THISBACK2`(m`, a`, b`):%- [* THISBACK2]([*@3 m], [*@3 a], [*@3 b])&]
[s2; Expands to callback2(this, `&CLASSNAME`::[@3 x], [@3 a],[@3 b]).&]
[s7; [%-*C@3 m]-|Name of method.&]
[s7; [%-*C@3 a]-|First additional parameter.&]
[s7; [%-*C@3 b]-|Second additional parameter.&]
[s0; &]
[s3; &]
[s4; &]
[s0;:`:`:PTEBACK`(x`):%- [* PTEBACK]([*@3 x])&]
[s2; Expands to pteback(this, `&CLASSNAME`::[@3 x]).&]
[s7; [%-*C@3 x]-|Name of method.&]
[s0; &]
[s3; &]
[s4; &]
[s0;:`:`:PTEBACK1`(x`, arg`):%- [* PTEBACK1]([*@3 x], [*@3 arg])&]
[s2; Expands to pteback1(this, `&CLASSNAME`::[@3 x], [@3 arg]).&]
[s7; [%-*C@3 x]-|Name of method.&]
[s7; [%-*C@3 arg]-|Additional parameter.&]
[s0; &]
[s3; &]
[s4; &]
[s0;:`:`:PTEBACK2`(m`, a`, b`):%- [* PTEBACK2]([*@3 m], [*@3 a], [*@3 b])&]
[s2; Expands to pteback2(this, `&CLASSNAME`::[@3 x], [@3 a],[@3 b]).&]
[s7; [%-*C@3 m]-|Name of method.&]
[s7; [%-*C@3 a]-|First additional parameter.&]
[s7; [%-*C@3 b]-|Second additional parameter.&]
[s2; &]
[s3; &]
[s0; &]
[s0;%- CallbackArgTarget&]
[s0; &]
[s0;%- template_<class_[*@4 T]>&]
[s0;%- class_[* CallbackArgTarget]&]
[s2; This helper class is useful in a situation when a set of callbacks
[s0;%- &]
[s0;%- &]
[ {{10000@(113.42.0) [s0; [*@7;4 CallbackArgTarget]]}}&]
[s3;%- &]
[s1;:noref:%- [@(0.0.255)3 template][3 _<][@(0.0.255)3 class][3 _][*@4;3 T][3 >]&]
[s1;:CallbackArgTarget`:`:class:%- [@(0.0.255) class]_[* CallbackArgTarget]&]
[s9; This helper class is useful in a situation when a set of callbacks
define some output value. Example is pop`-up menu that provides
selection of one character `- in that case, CallbackArgTarget
can be used instead of dedicated method to obtain result of user
selection.&]
[s0; [%-*C@4 T]-|Type of output value. Must be able to be assigned Null.&]
[s2; &]
[s0;:`:`:CallbackArgTarget`:`:CallbackArgTarget`(`):%- [* CallbackArgTarget]()&]
[s2; Constructor. Assigns Null to the output value.&]
[s2; &]
[s0;:`:`:CallbackArgTarget`:`:operator const T`&`(`):%- [* operator_const_T`&]()&]
[s8; [%-*@4 T]-|Type of output value. Must be able to be assigned Null.&]
[s3; &]
[s0;%- &]
[ {{10000F(128)G(128)@1 [s0; [* Public Member List]]}}&]
[s3; &]
[s5;:CallbackArgTarget`:`:CallbackArgTarget`(`):%- [* CallbackArgTarget]()&]
[s2; Assigns Null to the output value.&]
[s3; &]
[s4; &]
[s5;:CallbackArgTarget`:`:operator const T`&`(`)const:%- [* operator_const_T`&]()_[@(0.0.255) c
onst]&]
[s7; [*/ Return value]-|The result. If no CallbackArgTarget was invoked,
returns Null.&]
[s0; &]
[s0;:`:`:CallbackArgTarget`:`:IsNullInstance`(`)const:%- bool_[* IsNullInstance]()_cons
t&]
[s3; &]
[s4;%- &]
[s5;:CallbackArgTarget`:`:IsNullInstance`(`)const:%- [@(0.0.255) bool]_[* IsNullInstance](
)_[@(0.0.255) const]&]
[s7; [*/ Return value]-|True if there is not Null in output value.&]
[s0; &]
[s0;:`:`:CallbackArgTarget`:`:operator`[`]`(const T`&`):%- Callback_[* operator`[`]](co
nst_T`&_[*@3 value])&]
[s3; &]
[s4;%- &]
[s5;:CallbackArgTarget`:`:operator`[`]`(const T`&`):%- [_^Callback^ Callback]_[* operator
`[`]]([@(0.0.255) const]_[*@4 T][@(0.0.255) `&]_[*@3 value])&]
[s2; Returns a Callback that, when invoked, assigns [@3 value] to the
output value.&]
[s7; [%-*C@3 value]-|Value.&]
[s7; [*/ Return value]-|Callback.&]
[s3; &]
[s0; ]

View file

@ -37,6 +37,8 @@ and reacquires ][*@3 m].&]
[s2;%% Resumes execution of all currently waiting threads.&]
[s3;%% &]
[s0;3 &]
[s0;3 &]
[s0;3 &]
[ {{10000t/25b/25@(113.42.0) [s0; [*@7;4 StaticConditionVariable]]}}&]
[s3;%% &]
[s1;:StaticConditionVariable`:`:class: [@(0.0.255)3 class][3 _][*3 StaticConditionVariable]&]

View file

@ -1,4 +1,4 @@
topic "";
topic "Date and Time";
[2 $$0,0#00000000000000000000000000000000:Default]
[i448;a25;kKO9;2 $$1,0#37138531426314131252341829483380:class]
[l288;2 $$2,2#27521748481378242620020725143825:desc]

View file

@ -339,7 +339,7 @@ width&]
[s0; &]
[s0; &]
[s0; &]
[s0;%- [*+117 Registering custom formatters]&]
[s0;%- [*@3+117 Registering custom formatters]&]
[s0; &]
[s5;:Formatter`:`:typedef:%- typedef_[^String^ String]_(`*Formatter)([@(0.0.255) const][@(64) _
][^Formatting^@(64) Formatting][@(64) `&_fmt)]&]

View file

@ -11,7 +11,7 @@ topic "Thread synchronization primitives";
[b42;2 $$9,9#13035079074754324216151401829390:normal]
[*C1 $$10,10#39751211140134154172026758035355:code]
[{_}
[ {{10000@(113.42.0) [s0;%% [*@7;4 Thread synchronization primitives]]}}&]
[s0;%% [*@3;4 Thread synchronization primitives]&]
[s3; &]
[s0; &]
[ {{10000t/25b/25@1 [s0; [* Function List]]}}&]

View file

@ -40,6 +40,8 @@ of Mutex and returns [*/ true]. Never blocks.&]
called Enter can invoke Leave.&]
[s3; &]
[s0; &]
[s0; &]
[s0; &]
[ {{10000@(113.42.0) [s0;%% [*@7;4 StaticMutex]]}}&]
[s3; &]
[s1;:StaticMutex`:`:class: [@(0.0.255)3 class][3 _][*3 StaticMutex]&]
@ -63,6 +65,8 @@ multithreaded initialization issues.&]
[s2;%% Calls respective methods of Mutex instance.&]
[s3;%% &]
[s0; &]
[s0; &]
[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]&]

View file

@ -10,10 +10,9 @@ topic "File path utilities";
[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam]
[b42;2 $$9,9#13035079074754324216151401829390:normal]
[{_}
[ {{10000@(113.42.0) [s0;%% [*@7;4 File path utilities]]}}&]
[s0;%% [*@3;4 File path utilities]&]
[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

View file

@ -40,6 +40,8 @@ until all reader threads leave using LeaveRead.&]
[s2;%% Leave the read mode.&]
[s3; &]
[s0; &]
[s0; &]
[s0; &]
[ {{10000@(113.42.0) [s0;%% [*@7;4 StaticRWMutex]]}}&]
[s3; &]
[s1;:StaticRWMutex`:`:class: [@(0.0.255)3 class][3 _][*3 StaticRWMutex]&]
@ -64,6 +66,8 @@ multithreaded initialization issues.&]
[s2;%% Calls respective RWMutex methods.&]
[s3; &]
[s0; &]
[s0; &]
[s0; &]
[ {{10000@(113.42.0) [s0;%% [*@7;4 RWMutex`::ReadLock]]}}&]
[s3; &]
[s1;:RWMutex`:`:ReadLock`:`:class: [@(0.0.255)3 class][3 _][*3 ReadLock]&]
@ -84,6 +88,8 @@ StaticRWMutex as well.&]
[s2; [%% Calls s.LeaveRead()] where [*@3 s] is the constructor parameter.&]
[s3;%% &]
[s0; &]
[s0; &]
[s0; &]
[ {{10000@(113.42.0) [s0;%% [*@7;4 RWMutex`::WriteLock]]}}&]
[s3; &]
[s1;:RWMutex`:`:WriteLock`:`:class: [@(0.0.255)3 class][3 _][*3 WriteLock]&]

View file

@ -39,6 +39,8 @@ the Release method. Before returning, decreases counter by 1.&]
[s2;%% Initializes internal counter to 0.&]
[s3; &]
[s0; &]
[s0; &]
[s0; &]
[ {{10000@(113.42.0) [s0;%% [*@7;4 StaticSemaphore]]}}&]
[s3; &]
[s1;:StaticSemaphore`:`:class: [@(0.0.255)3 class][3 _][*3 StaticSemaphore]&]

View file

@ -123,7 +123,7 @@ Clears [%-*@3 s].&]
te][3 _][*@3;3 NoCopy]&]
[s9;%% A class useful when working with code that expects a wide
character buffer, like C code. It supports constant time pick
assignment to and from W[* String].&]
assignment to and from [* WString].&]
[s3; &]
[s0; &]
[ {{10000F(128)G(128)@1 [s0;%% [* Constructor Detail]]}}&]

View file

@ -226,6 +226,8 @@ is destroyed in operation).&]
[s2;%% Construct an empty XmlNode.&]
[s3; &]
[s0; &]
[s0; &]
[s0; &]
[ {{10000@(113.42.0) [s0;%% [*@7;4 XmlNode `- parser and output functions]]}}&]
[s4;H0; &]
[s5;:ParseXML`(XmlParser`&`,dword`): [_^XmlNode^ XmlNode]_[* ParseXML]([_^XmlParser^ XmlPar

View file

@ -72,6 +72,8 @@ ag])&]
[s2;%% Sets the tag name to [%-*@3 tag].&]
[s3; &]
[s0; &]
[s0; &]
[s0; &]
[ {{10000@(113.42.0) [s0;%% [*@7;4 XML output functions]]}}&]
[s0; &]
[s5;:DeXml`(const char`*`,byte`,bool`): String_[* DeXml]([@(0.0.255) const]_[@(0.0.255) cha

File diff suppressed because it is too large Load diff

View file

@ -96,7 +96,7 @@ keep aspect ratio with cx.&]
[s0; &]
[s0; &]
[s0;%- &]
[ {{10000t/25b/25@3 [s0;%- [*@(229)4 AttrText]]}}&]
[ {{10000t/25b/25@(113.42.0) [s0;%- [*@(229)4 AttrText]]}}&]
[s3; &]
[s1;:AttrText`:`:struct:%- [@(0.0.255) struct]_AttrText&]
[s9; Simple helper class convertible to the Value. StdDisplay, StdRightDisplay
@ -224,7 +224,7 @@ attributes to zero.&]
[s0; &]
[s0; &]
[s0;%- &]
[ {{10000t/25b/25@3 [s0;%- [*@(229)4 Standard displays]]}}&]
[ {{10000t/25b/25@(85.42.0) [s0;%- [*@(229)4 Standard displays]]}}&]
[s9; Standard Displays are implemented as `"functional globals`"
`- functions returning constant reference to single global Display
instance.&]

View file

@ -33,7 +33,7 @@ to suggested buffer (it is not guaranteed, because producer can
provide yet another scanline buffer in WriteLine) and in that
case, copying into target scanline can be completely skipped.&]
[s3; &]
[s3;%- &]
[s0;%- &]
[ {{10000F(128)G(128)@1 [s0; [* Protected Members List]]}}&]
[s3;%- &]
[s5;:RasterEncoder`:`:format:%- [_^RasterFormat^ RasterFormat]_[* format]&]