mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-08-06 22:04:13 -06:00
git-svn-id: svn://ultimatepp.org/upp/trunk@406 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
parent
d4e515f75e
commit
ac7787c74c
6 changed files with 2254 additions and 424 deletions
|
|
@ -1,8 +1,60 @@
|
|||
TITLE("Date formatting and scanning")
|
||||
COMPRESSED
|
||||
120,156,181,86,219,110,219,70,16,253,149,133,157,4,177,42,185,123,163,72,73,47,9,146,26,8,18,36,64,220,60,169,178,185,162,86,210,162,20,169,238,46,237,26,77,253,237,157,89,82,148,236,176,114,208,139,31,36,107,57,115,230,118,230,44,167,156,60,123,70,251,244,148,62,241,55,126,171,151,170,202,253,108,106,164,76,38,138,71,147,95,223,127,26,77,122,175,94,14,229,25,162,48,64,17,49,19,73,36,152,228,67,248,96,130,241,136,11,201,18,62,146,137,16,9,29,103,185,114,110,54,205,121,146,76,208,137,131,19,143,35,206,98,153,200,132,137,56,225,224,203,41,229,52,230,17,147,34,225,209,120,161,93,54,155,170,68,76,122,159,135,224,36,48,18,128,83,54,228,50,150,156,10,202,37,132,98,73,34,89,28,37,98,52,28,142,51,181,245,166,44,154,88,134,49,206,38,115,22,79,32,231,251,251,251,115,38,105,157,129,4,48,70,37,164,202,224,140,74,30,179,104,68,71,81,194,18,42,0,60,138,105,52,222,42,171,54,127,95,122,244,100,233,49,29,27,
|
||||
175,1,162,247,3,99,49,184,12,251,195,83,38,99,40,52,17,50,74,98,10,193,57,231,66,112,38,248,104,196,163,97,20,143,215,90,45,180,109,74,80,144,124,143,129,107,220,143,79,193,145,202,72,112,57,194,102,9,136,196,249,48,26,177,72,210,104,8,72,99,171,127,171,140,213,27,93,192,200,254,184,254,243,249,79,31,7,95,46,201,212,137,9,153,62,167,116,64,41,121,171,188,38,203,210,110,148,247,166,88,17,85,44,136,203,84,81,192,143,217,139,217,212,209,137,32,248,29,77,222,239,156,94,189,164,231,244,156,71,209,25,201,202,194,1,120,3,118,61,235,176,88,43,187,55,72,123,173,9,37,151,222,254,92,98,2,237,243,151,187,255,174,210,113,58,198,71,87,228,129,65,250,98,31,67,144,69,123,222,39,93,161,255,121,114,130,184,246,252,44,244,129,79,200,37,244,197,17,69,156,183,216,42,232,26,252,192,244,206,201,39,11,67,34,229,146,44,212,93,159,108,202,194,175,67,43,239,180,178,196,56,226,182,58,51,75,163,23,164,114,232,123,169,61,58,34,
|
||||
226,57,121,87,144,109,174,50,141,254,181,235,188,132,143,162,218,204,1,20,97,188,254,221,35,140,202,50,189,245,128,146,14,234,179,77,229,224,67,249,12,194,205,231,86,223,24,133,143,33,179,101,149,231,164,80,155,61,234,57,150,33,219,209,247,222,132,14,14,190,94,148,21,132,88,96,29,29,22,14,44,46,235,130,125,25,168,209,90,245,126,36,159,181,175,108,65,110,84,94,105,48,252,248,229,195,7,98,150,164,40,3,30,166,188,12,232,166,32,14,179,218,150,206,224,74,18,107,86,107,79,212,210,67,133,126,173,247,225,59,248,22,200,80,231,112,69,234,239,142,169,82,114,17,104,252,253,100,122,64,165,195,7,237,196,107,68,87,103,87,239,74,40,9,79,219,89,98,250,206,195,152,148,93,52,30,208,253,34,195,58,251,228,118,173,173,110,108,66,23,157,246,100,126,183,99,64,99,15,168,149,3,68,181,67,15,150,193,161,95,51,96,141,32,86,3,76,181,221,230,200,36,83,120,189,130,246,133,230,19,101,87,21,110,58,144,4,226,33,239,14,121,8,180,236,28,
|
||||
63,86,61,248,26,10,131,233,214,161,143,204,183,206,22,75,63,54,175,131,5,51,69,215,2,82,242,6,22,239,194,228,48,253,238,253,127,18,66,144,236,219,113,33,170,202,144,82,203,128,29,86,20,51,117,176,100,208,153,185,94,171,27,83,86,143,86,242,96,26,141,91,51,189,174,150,101,208,134,125,28,108,90,240,57,214,180,96,0,113,178,157,91,211,56,210,124,237,234,184,41,205,162,173,176,247,144,33,251,22,5,85,187,70,172,3,193,234,65,102,203,141,239,208,44,237,191,165,212,65,95,58,42,68,156,221,168,247,62,223,49,108,204,191,115,218,7,106,119,116,212,255,78,176,15,209,31,214,31,180,8,159,239,234,71,249,92,35,7,234,159,86,111,173,118,97,121,202,99,66,142,109,107,47,173,163,44,9,201,52,139,117,16,248,63,104,98,205,166,255,177,141,122,219,117,245,53,203,226,30,109,238,126,165,64,30,205,202,52,242,163,242,91,117,7,255,230,121,121,27,148,234,145,27,172,227,18,37,205,6,61,77,79,84,122,66,64,5,81,228,230,122,101,194,219,7,
|
||||
14,1,147,105,101,48,215,160,60,118,23,32,32,63,198,121,157,158,116,218,133,17,66,91,110,180,69,241,130,173,5,17,213,54,29,100,202,65,50,175,155,107,8,48,202,240,198,168,242,253,178,2,160,129,75,22,178,105,143,246,149,129,94,67,142,112,236,241,202,45,241,20,180,38,61,73,127,9,37,5,220,214,141,192,75,172,89,21,184,119,88,51,168,245,2,140,246,143,129,149,112,119,226,61,208,199,0,135,241,170,45,38,93,224,149,223,229,137,165,2,137,241,37,34,200,153,241,157,164,196,209,238,244,40,29,116,80,18,196,104,246,23,142,252,149,38,
|
||||
|
||||
topic "Date formatting and scanning";[2 $$0,0#00000000000000000000000000000000:Default]
|
||||
[i448;a25;kKO9;*@(64)2 $$1,0#37138531426314131252341829483380:class]
|
||||
[l288;2 $$2,0#27521748481378242620020725143825:desc]
|
||||
[a83;*R6 $$3,0#31310162474203024125188417583966:caption]
|
||||
[l288;i1121;b17;O9;~~~.1408;2 $$4,0#10431211400427159095818037425705:param]
|
||||
[i448;a25;kKO9;*@(64)2 $$5,0#37138531426314131252341829483370:item]
|
||||
[*+117 $$6,6#14700283458701402223321329925657:header]
|
||||
[l288;a17;*1 $$7,7#70004532496200323422659154056402:requirement]
|
||||
[{_}%EN-US
|
||||
[s3; [%00-00 Date formatting and scanning]&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00@(0.0.255) const][%00-00 _][%00-00@(0.0.255) char][%00-00 _`*][%00-00@0 StrToDate][%00-00 (
|
||||
][%00-00^`:`:Date^ Date][%00-00 `&_][%00-00@3 d][%00-00 , ][%00-00@(0.0.255) const][%00-00 _][%00-00@(0.0.255) c
|
||||
har][%00-00 _`*][%00-00@3 s][%00-00 )]&]
|
||||
[s2; Scans a string for a Date. Order of day, month and year is specified
|
||||
using SetDateScan. In place of month both number and text is
|
||||
accepted `- text must match abbreviated or full name of month.&]
|
||||
[s4; [%00-00*C@3 d]-|Found date.&]
|
||||
[s4; [%00-00*C@3 s]-|String to scan.&]
|
||||
[s4; [*/ Return value]-|NULL if no date is found in s or position right
|
||||
after the date.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00^`:`:String^ String][%00-00 _][%00-00@0 Format][%00-00 (][%00-00^`:`:Date^ Date][%00-00 _
|
||||
][%00-00@3 date][%00-00 )]&]
|
||||
[s2; Formats date. Date is formated using the standard Format function,
|
||||
where the string set by SetDateFormat is used as formating string,
|
||||
and the three supplied integer value arguments are year, month
|
||||
and day.&]
|
||||
[s4; [%00-00*C@3 date]-|Date to format.&]
|
||||
[s4; [*/ Return value]-|Formatted date.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00@(0.0.255) int][%00-00 _][%00-00@0 CharFilterDate][%00-00 (][%00-00@(0.0.255) int][%00-00 _
|
||||
][%00-00@3 c][%00-00 )]&]
|
||||
[s2; Character filter for dates. Its behaviour is specified by SetDateFilter
|
||||
function.&]
|
||||
[s4; [%00-00*C@3 c]-|Character to filter.&]
|
||||
[s4; [*/ Return value]-|Filtered character.&]
|
||||
[s0; &]
|
||||
[s0; [%00-00 void_][%00-00* SetDateFormat][%00-00 (const_char_`*][%00-00*@3 fmt][%00-00 )]&]
|
||||
[s2; Sets formating string for dates.&]
|
||||
[s4; [%00-00*C@3 fmt]-|Formating string.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 SetDateScan][%00-00 (][%00-00@(0.0.255) const][%00-00 _
|
||||
][%00-00@(0.0.255) char][%00-00 _`*][%00-00@3 scan][%00-00 )]&]
|
||||
[s2; Sets date scan string `- this string represents order of day,
|
||||
month and year for StrToDate function.&]
|
||||
[s4; [%00-00*C@3 scan]-|Date scan string.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 SetDateFilter][%00-00 (][%00-00@(0.0.255) cons
|
||||
t][%00-00 _][%00-00@(0.0.255) char][%00-00 _`*][%00-00@3 seps][%00-00 )]&]
|
||||
[s2; Specifies CharFilterDate behaviour. Digits are always allowed
|
||||
in CharFilterDate. If there is `"a`" at the beginning of seps
|
||||
string, letters are allowed. If there is `"A`", letters are allowed
|
||||
and converted to upper`-case. After this optional character,
|
||||
list of characters allowed as separator follows. `"`\a`" after
|
||||
character designates `"amend`" character `- if used, all characters
|
||||
up to next `"amend`" character are replaced by it.&]
|
||||
[s4; [%00-00*C@3 seps]-|Filter`-string.&]
|
||||
[s0;3 &]
|
||||
[s0; ]
|
||||
|
|
@ -1,7 +1,54 @@
|
|||
TITLE("NetNode")
|
||||
COMPRESSED
|
||||
120,156,173,86,127,111,219,54,16,253,42,4,210,6,118,230,24,252,41,81,82,87,36,64,211,34,40,150,13,73,187,127,28,39,98,44,58,22,98,139,134,72,103,200,134,229,179,239,40,201,178,156,164,117,90,204,6,44,138,188,123,239,222,59,138,242,136,162,55,111,240,0,239,225,29,159,248,131,158,170,213,220,141,71,57,231,50,81,84,36,119,159,127,143,146,131,163,94,192,251,30,133,0,10,11,9,147,130,17,78,3,248,33,140,80,65,25,39,146,70,92,50,38,113,60,153,43,107,199,163,57,149,50,241,73,116,64,247,104,40,40,9,185,228,146,176,80,82,200,165,24,83,28,82,65,56,147,84,196,153,182,147,241,72,73,150,28,156,7,144,196,60,19,128,99,18,80,30,114,138,25,166,28,168,136,148,156,132,66,178,40,8,226,137,90,186,220,20,13,87,78,8,37,201,13,9,19,168,249,241,241,113,72,56,174,43,224,0,70,48,135,82,9,204,97,78,67,34,34,28,9,73,36,102,0,46,66,44,226,165,42,213,226,219,210,197,78,233,33,142,115,167,1,226,224,23,
|
||||
66,66,72,9,6,193,30,225,33,8,149,140,11,25,98,32,167,148,50,70,9,163,81,68,69,32,194,120,166,85,166,75,144,192,73,80,21,27,14,194,61,33,4,135,120,206,69,40,57,101,208,27,206,56,88,193,73,36,120,36,104,92,104,235,116,150,30,214,182,213,242,219,194,125,221,30,73,14,228,94,192,131,136,128,251,60,10,57,142,2,18,50,111,30,1,219,3,198,105,36,90,164,166,107,255,92,255,251,246,228,236,240,235,5,26,89,150,160,209,91,140,15,49,70,103,218,157,153,76,143,247,199,35,75,146,207,71,61,60,196,67,42,68,31,53,51,113,10,223,38,202,15,43,184,120,157,223,137,111,120,26,220,235,245,232,104,195,209,174,197,155,213,77,254,178,204,239,149,211,207,17,174,60,237,111,230,94,171,155,185,190,66,235,81,27,248,238,59,84,239,175,43,101,52,65,95,102,185,173,107,68,165,94,150,218,234,194,89,100,243,226,118,174,81,161,221,95,166,188,67,5,228,162,222,250,14,130,204,170,156,232,254,16,157,58,180,104,120,145,42,50,52,83,22,101,90,
|
||||
47,209,196,44,31,134,158,2,39,149,99,226,185,99,159,96,168,22,58,237,165,253,137,41,172,139,59,162,187,18,47,92,9,213,92,85,27,19,213,55,27,155,252,92,215,211,6,116,59,160,215,111,67,80,69,181,22,127,174,221,170,44,44,114,51,208,10,105,200,76,159,104,214,195,219,33,154,154,18,101,185,93,206,213,3,144,163,188,64,159,190,158,246,119,203,251,67,185,217,255,46,207,131,190,82,222,233,180,86,209,105,172,242,66,238,144,157,169,82,15,80,238,96,173,182,64,161,37,0,35,103,192,12,216,17,85,0,234,205,243,59,141,210,203,244,242,226,228,252,207,147,243,244,242,195,241,151,99,232,251,199,188,200,62,230,208,244,137,42,208,141,70,43,171,51,159,11,104,101,174,239,117,229,232,60,183,206,59,58,133,64,139,76,81,35,87,52,189,7,179,130,205,226,3,13,82,89,6,244,62,10,45,148,189,243,219,106,90,199,46,180,155,153,172,173,81,47,150,238,161,241,104,80,75,131,160,194,184,45,89,59,250,114,82,172,22,59,155,114,92,150,234,161,233,73,53,
|
||||
222,118,252,221,214,51,216,128,55,225,79,30,181,122,242,125,183,137,190,130,159,216,160,202,215,225,253,180,171,27,175,221,238,16,122,161,203,92,205,243,191,253,19,86,239,51,173,22,233,126,218,127,233,148,186,55,121,246,226,33,213,162,180,171,189,241,147,237,11,176,87,168,190,182,65,233,254,6,132,161,205,249,215,95,43,107,113,107,113,190,232,87,52,238,220,24,231,155,215,74,64,214,41,151,79,208,248,121,247,182,27,247,141,158,189,116,50,110,119,202,83,110,180,183,245,251,37,93,194,193,12,231,38,68,160,215,116,164,123,219,21,241,194,1,189,33,106,254,163,212,251,162,92,77,156,41,127,132,166,74,235,206,236,239,32,126,225,21,84,111,201,215,188,194,118,182,253,195,250,229,240,3,122,204,210,27,109,202,244,215,29,114,190,223,217,110,109,24,109,64,127,70,250,235,153,118,184,0,239,221,252,182,88,192,217,220,53,1,46,227,255,0,33,64,19,168,
|
||||
|
||||
topic "NetNode";[2 $$0,0#00000000000000000000000000000000:Default]
|
||||
[i448;a25;kKO9;*@(64)2 $$1,0#37138531426314131252341829483380:class]
|
||||
[l288;2 $$2,2#27521748481378242620020725143825:desc]
|
||||
[a83;*R6 $$3,0#31310162474203024125188417583966:caption]
|
||||
[l288;i1121;b17;O9;~~~.1408;2 $$4,0#10431211400427159095818037425705:param]
|
||||
[i448;a25;kKO9;*@(64)2 $$5,0#37138531426314131252341829483370:item]
|
||||
[*+117 $$6,6#14700283458701402223321329925657:header]
|
||||
[l416;2 $$7,7#55548704457842300043401641954952:nested`-desc]
|
||||
[l288;i448;a25;kO9;*2 $$8,8#64691275497409617375831514634295:nested`-class]
|
||||
[{_}%EN-US
|
||||
[s3; [%00-00 NetNode]&]
|
||||
[s1;K@(0.0.255) &]
|
||||
[s1;K:`:`:NetNode`:`:class: [%00-00@(0.0.255) class][%00-00 _][%00-00@0 NetNode][%00-00 _:_][%00-00@(0.0.255) p
|
||||
rivate][%00-00 _][%00-00^`:`:Moveable^ Moveable][%00-00 <][%00-00@0 NetNode][%00-00 >_]&]
|
||||
[s2; This class represents single network node (network resource).
|
||||
It moveable and has deep copy.&]
|
||||
[s0; &]
|
||||
[s5;K:`:`:NetNode`:`:GetName`(`)const:@(0.0.255) [%00-00^`:`:String^@(64) String][%00-00@(64) _
|
||||
][%00-00@0 GetName][%00-00@(64) ()_][%00-00 const]&]
|
||||
[s2; Returns the name of network node (e.g. for displaying in GUI).&]
|
||||
[s0; &]
|
||||
[s5;K:`:`:NetNode`:`:GetPath`(`)const:@(0.0.255) [%00-00^`:`:String^@(64) String][%00-00@(64) _
|
||||
][%00-00@0 GetPath][%00-00@(64) ()_][%00-00 const]&]
|
||||
[s2; If node represents a disk share, it returns a path to this share
|
||||
(like `\`\SERVER`\DATA). FindFile can be used to retrieve the
|
||||
list of files on this path (you have to add a file mask). If
|
||||
this method returns empty String, node is not a disk share.&]
|
||||
[s0; &]
|
||||
[s5;K:`:`:NetNode`:`:Enum`(`)const:@(0.0.255) [%00-00^`:`:Array^@(64) Array][%00-00@(64) <
|
||||
][%00-00^`:`:NetNode^@(64) NetNode][%00-00@(64) >_][%00-00@0 Enum][%00-00@(64) ()_][%00-00 c
|
||||
onst]&]
|
||||
[s2; Returns the array of subnodes.&]
|
||||
[s0; &]
|
||||
[s5;K:`:`:NetNode`:`:Serialize`(`:`:Stream`&`): [%00-00@(0.0.255) void][%00-00 _][%00-00@0 S
|
||||
erialize][%00-00 (][%00-00^`:`:Stream^ Stream][%00-00 `&_][%00-00@3 s][%00-00 )]&]
|
||||
[s2; Serializes the Node.&]
|
||||
[s0; &]
|
||||
[s5;K:`:`:NetNode`:`:EnumRoot`(`): [%00-00 static ][%00-00^`:`:Array^ Array][%00-00 <][%00-00^`:`:NetNode^ N
|
||||
etNode][%00-00 >_][%00-00@0 EnumRoot][%00-00 ()]&]
|
||||
[s2; Enumerates root nodes.&]
|
||||
[s0; &]
|
||||
[s5;K:`:`:NetNode`:`:`:`:NetNode`(`): [%00-00@0 NetNode][%00-00 ()]&]
|
||||
[s2; Default constructor.&]
|
||||
[s0; &]
|
||||
[s5;K:`:`:NetNode`:`:`:`:NetNode`(const`:`:NetNode`&`): [%00-00@0 NetNode][%00-00 (][%00-00@(0.0.255) c
|
||||
onst][%00-00 _][%00-00@0 NetNode][%00-00 `&_][%00-00@3 s][%00-00 )]&]
|
||||
[s2; Deep copy constructor.&]
|
||||
[s0; &]
|
||||
[s5;K:`:`:NetNode`:`:operator`=`(const`:`:NetNode`&`): [%00-00^`:`:NetNode^ NetNode][%00-00 `&
|
||||
_][%00-00@0 operator`=][%00-00 (][%00-00@(0.0.255) const][%00-00 _][%00-00^`:`:NetNode^ Net
|
||||
Node][%00-00 `&_][%00-00@3 s][%00-00 )]&]
|
||||
[s2; Deep copy assignment.&]
|
||||
[s0; &]
|
||||
[s0; ]
|
||||
|
|
@ -1,16 +1,276 @@
|
|||
TITLE("Segtor")
|
||||
COMPRESSED
|
||||
120,156,221,91,233,110,27,57,18,126,21,2,201,4,82,34,203,125,233,176,164,4,73,148,204,192,200,137,196,153,253,97,200,86,171,155,146,56,110,117,107,201,150,143,217,108,158,125,171,200,190,15,73,62,54,27,236,2,235,140,155,100,177,206,175,170,72,250,212,32,143,31,107,45,237,145,182,227,127,131,55,116,110,111,188,112,114,202,44,171,63,180,141,206,240,226,221,167,163,225,211,151,141,174,213,68,42,58,80,49,123,186,217,239,152,186,101,116,225,135,110,234,70,199,48,45,189,111,28,89,125,211,236,107,3,199,179,133,152,156,122,70,191,63,196,69,6,44,50,122,29,67,239,89,125,171,175,155,189,190,1,107,13,77,51,180,158,209,209,45,179,111,116,6,46,21,206,228,212,238,155,195,167,95,186,176,200,196,157,128,184,166,119,13,171,103,25,154,169,25,22,108,165,247,251,150,222,235,244,205,163,110,119,224,216,235,144,5,126,180,23,211,117,67,31,206,244,222,16,120,254,241,227,71,91,183,52,197,129,5,196,116,205,2,86,117,248,166,89,70,79,239,28,105,71,157,
|
||||
190,222,215,76,32,222,233,105,157,193,218,230,246,170,94,244,206,78,209,123,218,128,133,20,72,60,125,166,235,61,88,210,109,117,31,233,86,15,4,237,155,86,167,223,211,96,115,195,48,76,211,208,77,227,232,200,232,116,59,189,193,146,218,46,229,145,8,54,48,255,84,135,165,189,86,239,17,44,212,172,142,105,88,71,168,44,19,118,50,140,110,231,72,239,88,90,167,11,148,6,156,254,115,195,56,93,81,31,76,246,175,243,127,255,246,246,227,193,183,175,228,84,152,40,126,215,26,146,175,116,17,6,252,201,228,84,104,241,39,224,112,237,217,33,37,35,105,39,114,250,244,165,69,78,38,45,194,252,80,253,242,241,245,251,119,19,50,125,78,244,238,11,181,212,36,248,111,103,248,142,156,254,166,105,7,154,150,80,57,31,77,162,79,47,27,90,91,107,27,157,78,147,68,14,16,77,61,79,102,224,62,241,215,22,169,88,200,80,144,138,101,146,163,100,96,250,60,29,51,129,201,100,228,197,249,249,45,184,209,34,237,164,67,131,170,229,235,205,204,99,78,121,253,217,116,48,
|
||||
29,124,8,46,169,61,243,232,43,223,125,67,233,122,28,172,111,62,73,151,60,35,181,67,9,169,209,22,94,70,59,148,118,134,42,57,203,43,230,197,249,139,243,137,50,24,24,114,44,87,30,124,63,185,89,83,18,204,9,245,164,163,8,34,96,31,234,130,174,163,61,219,228,132,144,213,70,132,100,105,95,82,66,89,184,164,28,8,28,18,23,248,38,14,48,14,63,124,17,242,141,131,44,182,228,216,154,57,23,185,207,36,136,23,73,12,201,141,181,115,92,73,166,15,190,127,101,127,75,198,4,93,72,198,218,137,155,182,45,189,27,251,46,97,192,241,154,58,204,246,200,220,179,47,225,11,172,225,182,239,6,43,98,59,14,5,23,134,173,66,155,249,192,117,184,180,97,103,219,39,51,74,68,176,162,33,91,81,65,54,2,228,13,3,194,86,107,14,86,33,43,186,10,184,18,106,179,146,54,105,147,227,144,248,244,18,72,48,255,210,246,152,11,190,45,8,132,51,183,129,9,65,124,216,151,211,57,229,212,135,45,145,88,172,207,22,153,109,66,152,73,108,79,4,196,179,
|
||||
157,11,65,130,53,174,3,186,114,38,243,5,229,48,238,187,64,98,133,12,36,182,176,241,243,13,89,7,130,41,54,82,161,1,16,217,194,87,140,131,52,82,6,176,25,76,220,68,164,175,192,78,32,102,164,70,106,59,203,152,176,84,218,202,246,188,132,57,248,16,25,214,15,252,233,193,42,114,78,82,43,150,242,8,216,184,168,21,183,104,39,112,48,230,128,117,64,187,106,173,100,79,185,153,72,233,33,239,145,165,145,221,57,187,6,129,144,121,240,191,37,176,151,126,80,210,131,234,87,12,229,159,221,164,152,37,49,26,135,164,19,21,57,57,78,204,5,130,68,154,20,192,141,152,223,128,117,60,50,158,62,155,62,3,198,192,18,54,119,137,199,102,220,6,63,200,192,40,176,129,26,201,121,87,236,4,100,237,109,128,242,146,74,98,193,21,1,88,1,11,73,125,55,208,184,197,72,105,74,147,131,31,133,204,95,72,194,26,105,72,15,5,1,63,126,123,255,30,192,37,0,200,163,60,142,143,247,236,130,74,135,8,164,169,62,158,188,79,125,187,149,241,13,136,179,179,
|
||||
48,0,181,3,6,29,78,15,199,160,233,233,161,224,142,27,56,211,195,24,120,166,143,41,88,122,35,206,72,108,237,9,198,39,153,132,136,8,87,224,13,219,233,96,132,79,207,83,42,50,226,81,162,64,134,12,88,60,193,135,9,9,65,103,2,252,8,108,188,178,253,144,57,162,77,198,160,38,148,28,12,182,12,92,105,117,164,1,38,77,37,241,130,5,115,8,229,28,126,149,44,209,107,135,74,250,48,93,105,101,252,172,215,33,151,1,115,129,221,40,178,2,62,125,62,105,40,6,201,43,206,237,155,233,19,204,93,38,185,156,52,213,170,67,92,117,122,56,86,43,81,242,113,178,120,52,130,229,56,214,144,214,74,40,200,89,146,8,14,54,225,39,104,171,1,128,38,253,112,35,80,152,60,150,159,68,142,217,172,96,117,236,81,155,79,26,217,161,89,16,120,56,116,44,62,75,69,192,168,114,24,53,103,102,25,67,27,254,79,62,149,52,140,186,74,2,12,65,97,201,131,205,98,89,195,14,89,217,14,15,98,175,250,64,87,51,202,69,93,42,63,153,62,201,38,162,
|
||||
87,174,155,100,148,70,83,230,19,224,8,190,2,90,1,24,92,149,1,30,216,137,113,39,137,59,185,119,111,72,190,168,216,18,144,99,96,76,38,152,138,4,33,103,91,67,153,63,190,208,112,195,125,2,112,179,161,144,37,190,196,232,132,235,33,42,144,5,15,34,208,117,97,219,45,172,180,107,196,205,100,118,52,84,101,93,144,83,65,85,69,129,219,165,43,115,10,52,201,117,50,82,165,189,88,83,210,217,81,30,153,220,230,12,56,151,34,239,169,194,138,196,156,42,113,44,185,128,212,15,228,35,162,17,234,192,26,166,82,74,170,74,135,83,251,225,20,135,142,157,42,79,133,232,221,52,148,98,56,130,14,82,18,145,52,8,36,73,34,184,110,147,122,69,21,171,148,178,142,190,6,27,14,206,5,57,26,210,130,35,105,159,36,234,82,169,87,129,86,157,94,138,241,147,32,212,233,116,178,213,139,170,139,93,147,176,178,118,84,76,160,130,120,49,28,98,109,1,195,121,111,74,106,138,156,200,12,68,254,28,141,160,172,25,18,183,9,194,26,95,201,72,23,203,144,139,
|
||||
21,217,76,21,2,166,90,99,106,102,162,182,172,178,34,34,85,26,83,67,205,100,44,218,253,23,209,226,56,144,78,22,214,110,191,135,58,183,232,65,35,127,208,112,28,108,138,51,26,219,245,161,144,96,131,41,34,215,38,164,253,65,189,68,175,28,40,70,189,138,213,123,72,130,185,176,94,148,99,241,22,42,243,155,61,37,57,129,26,75,214,195,178,108,74,171,11,138,52,160,168,6,168,128,106,45,209,15,100,221,233,115,232,111,181,45,162,1,96,0,42,204,139,196,90,100,14,117,62,85,5,218,21,19,244,62,112,249,181,96,175,91,193,132,95,134,137,241,210,246,23,20,81,30,136,86,27,19,61,174,144,113,160,247,153,199,53,176,91,233,9,130,44,100,142,144,253,149,15,117,113,198,234,173,92,66,78,27,27,94,145,232,35,16,189,67,89,48,150,2,35,16,213,178,249,11,24,162,242,76,163,80,44,84,246,245,249,244,200,124,22,254,242,198,69,38,161,39,135,118,45,41,39,138,149,140,42,152,43,203,148,59,151,53,251,56,65,10,211,168,200,131,239,199,49,171,
|
||||
170,49,77,106,136,42,217,238,227,69,170,224,47,215,206,95,100,211,47,100,11,154,232,112,206,161,195,140,15,96,198,246,218,118,88,40,171,124,121,140,224,32,41,165,217,191,105,82,201,239,174,221,239,230,193,21,21,7,120,77,57,9,170,134,237,42,118,149,109,73,131,52,160,205,97,100,148,193,220,73,179,5,158,168,82,112,46,3,102,146,111,69,226,37,159,98,168,5,234,88,171,10,80,229,214,173,129,164,220,28,122,125,125,210,38,31,111,131,79,91,106,201,157,0,85,172,10,146,176,187,101,129,85,185,238,103,88,127,31,252,218,93,202,31,207,107,106,168,255,59,247,161,235,233,65,30,174,96,142,12,108,32,112,61,185,31,210,85,213,152,245,30,21,183,51,117,88,87,236,156,203,128,185,187,232,223,215,47,247,202,184,75,206,252,139,10,176,252,0,160,189,130,172,34,42,78,105,81,144,157,53,233,61,152,250,66,5,229,151,244,78,81,116,29,114,187,170,113,147,20,33,107,71,8,223,142,195,35,81,166,147,193,254,92,38,198,89,206,134,115,244,237,120,82,43,55,
|
||||
61,118,104,183,100,33,149,251,243,222,129,12,102,146,103,194,209,253,155,142,87,158,23,56,249,25,59,154,14,81,146,108,47,219,142,171,39,223,189,234,251,9,128,185,71,193,119,189,157,96,29,31,78,174,100,45,94,139,149,157,17,228,21,210,69,160,91,170,46,6,161,61,229,242,176,58,234,131,19,228,70,64,156,212,212,121,59,75,76,60,210,165,46,254,203,212,81,120,50,146,152,17,233,250,121,120,85,56,245,64,167,97,8,166,95,99,225,170,123,122,68,207,63,203,97,163,148,124,240,253,227,131,54,28,111,120,176,190,103,179,177,219,222,184,137,200,88,43,53,141,103,139,48,151,250,208,172,197,232,139,203,237,253,37,47,22,36,39,89,33,75,135,89,165,83,144,44,87,117,76,109,201,82,5,185,42,40,220,251,164,42,35,208,158,48,103,171,207,149,167,62,63,83,222,212,68,89,121,62,87,26,72,249,77,137,195,168,138,200,156,201,198,229,24,11,69,38,227,220,41,72,75,114,254,153,173,92,92,224,104,189,187,240,144,87,242,138,191,179,226,133,122,245,145,227,104,
|
||||
180,53,10,111,93,251,126,138,232,130,24,156,217,74,105,128,157,242,74,232,149,235,70,247,77,64,231,186,9,165,165,18,89,226,109,217,59,34,61,83,31,111,238,4,194,161,188,75,11,56,205,69,174,77,176,203,246,224,227,245,26,52,46,0,215,90,176,126,3,112,219,94,180,213,77,37,46,4,170,137,226,97,17,222,168,6,242,246,51,182,167,192,51,117,201,48,212,30,41,49,226,225,157,228,239,65,208,104,168,153,35,128,166,23,141,38,25,141,136,142,63,12,252,97,53,155,255,203,235,138,61,10,216,184,175,152,62,13,151,76,52,31,206,133,166,223,239,112,221,145,248,9,167,107,207,118,146,0,203,248,10,94,164,196,87,156,177,195,188,190,137,98,14,45,154,247,152,244,178,4,45,94,239,47,119,240,150,109,190,146,210,217,98,255,135,190,133,121,56,115,239,87,38,114,117,208,85,134,10,229,45,33,120,228,10,188,69,254,91,83,226,137,178,15,36,116,21,214,226,69,127,25,102,195,224,80,54,148,242,147,220,160,77,254,17,112,124,99,226,67,48,176,185,124,36,192,
|
||||
162,55,46,25,195,124,251,252,121,139,69,68,180,183,234,18,99,87,38,209,85,119,222,62,2,67,211,230,11,26,30,10,101,38,161,24,185,255,25,127,116,11,126,187,148,10,49,130,135,243,147,252,233,60,184,118,244,184,0,92,40,164,91,252,100,175,245,248,200,73,29,245,79,106,206,250,181,225,32,197,138,204,127,53,166,205,1,46,142,192,67,221,255,99,86,173,56,62,34,227,248,23,33,81,23,111,24,170,18,120,237,94,209,27,141,244,203,147,194,238,17,128,164,95,226,135,18,98,18,51,246,185,24,157,228,36,122,204,1,197,163,50,120,172,38,31,207,111,210,138,6,95,87,169,23,70,46,180,20,60,184,193,82,0,223,235,224,174,0,35,121,63,186,76,227,252,54,34,202,221,114,18,182,32,3,21,196,84,121,181,74,74,249,174,177,153,192,110,233,93,197,61,78,166,241,241,84,249,45,76,61,208,101,20,96,227,139,147,237,242,79,127,100,29,106,250,163,210,165,82,155,29,251,151,193,69,4,37,46,77,89,156,231,143,157,183,23,197,26,201,133,34,62,20,2,72,
|
||||
56,79,107,70,34,203,50,124,82,152,92,189,169,57,10,177,241,141,211,70,158,180,37,79,182,0,148,188,69,192,89,184,92,149,111,5,107,246,203,193,235,113,252,170,235,76,77,74,126,207,195,198,104,82,145,193,213,80,62,141,171,111,47,82,145,18,122,241,249,101,252,222,11,217,185,19,203,50,170,139,124,231,63,62,20,243,138,106,65,130,228,162,153,109,21,165,132,215,103,121,15,204,209,206,73,81,41,68,22,218,95,211,5,243,111,137,235,153,86,41,229,91,85,126,115,198,243,141,206,206,54,41,102,241,103,10,253,214,191,109,42,219,34,114,114,244,242,151,122,135,121,19,224,91,194,138,174,241,151,84,197,31,84,78,42,168,35,81,198,214,215,28,32,121,126,240,30,90,220,253,174,35,121,28,0,248,42,189,22,31,7,60,147,76,224,195,84,10,170,247,161,42,138,234,50,38,162,215,140,178,46,149,245,169,15,112,59,219,96,165,237,82,36,130,43,113,148,227,117,45,113,150,52,95,182,198,167,81,201,57,108,249,52,106,111,11,214,216,45,49,25,41,26,170,62,70,
|
||||
43,206,103,108,245,84,248,39,4,229,253,228,200,132,221,29,164,248,239,199,217,253,164,43,68,210,173,14,11,51,145,84,245,150,108,187,98,118,92,171,221,45,108,196,47,21,55,100,206,25,245,221,170,191,250,168,239,6,175,236,138,147,219,125,143,13,76,146,94,18,101,254,152,99,239,213,179,138,54,82,253,113,68,210,203,205,201,2,84,207,153,35,203,97,228,86,150,101,241,83,3,252,34,84,253,169,142,3,240,81,113,190,164,79,255,124,33,175,126,188,62,250,93,6,125,230,185,9,144,203,207,154,97,149,75,29,12,163,194,180,201,127,0,35,30,29,73,
|
||||
|
||||
topic "Segtor";[2 $$0,0#00000000000000000000000000000000:Default]
|
||||
[i448;a25;kKO9;*@(64)2 $$1,0#37138531426314131252341829483380:class]
|
||||
[l288;2 $$2,0#27521748481378242620020725143825:desc]
|
||||
[a83;*R6 $$3,0#31310162474203024125188417583966:caption]
|
||||
[l288;i1121;b17;O9;~~~.1408;2 $$4,0#10431211400427159095818037425705:param]
|
||||
[i448;a25;kKO9;*@(64)2 $$5,0#37138531426314131252341829483370:item]
|
||||
[*+117 $$6,6#14700283458701402223321329925657:header]
|
||||
[l288;a17;*1 $$7,7#70004532496200323422659154056402:requirement]
|
||||
[{_}%EN-US
|
||||
[s3;~~~64; Segtor&]
|
||||
[s0;~~~64; template <class [*@4 T], int [*@4 NBLK] `= 16>&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00 template_<][%00-00@(0.0.255) class][%00-00 _][%00-00@4 T][%00-00 ,
|
||||
][%00-00@(0.0.255) int][%00-00 _][%00-00@4 NBLK][%00-00 _`=_][%00-00@3 16][%00-00 >__][%00-00@(0.0.255) c
|
||||
lass][%00-00 _][%00-00@0 Segtor][%00-00 _:_][%00-00@(0.0.255) public][%00-00 _][%00-00^`:`:MoveableAndDeepCopyOption^ M
|
||||
oveableAndDeepCopyOption][%00-00 <_][%00-00@0 Segtor][%00-00 <][%00-00@4 T][%00-00 ,
|
||||
][%00-00^NBLK^ NBLK][%00-00 >_>_]&]
|
||||
[s0; [*C@4 T]-|Type of elements stored in Segtor. T must have either
|
||||
[*/ deep copy constructor], [*/ pick constructor] or [*/ default constructor].&]
|
||||
[s0; [*C@4 NBLK]-|Size of segments.&]
|
||||
[s0;~~~.416; Segtor is special flavor of random access container
|
||||
that can be sometimes used to improve memory consumption. It
|
||||
never invalidates iterators nor references to elements, but it
|
||||
also lacks operations to insert and remove elements at any position.
|
||||
Segtor is designed to be used in situations where size of each
|
||||
element is small, but it is either non`-moveable or references
|
||||
to elements must be never invalidated.&]
|
||||
[s0;~~~.416; Typical implementation stores elements in segments of
|
||||
fixed size. This fixed size is determined by template parameter
|
||||
NBLK.&]
|
||||
[s0;~~~.416; Iterators to Segtor satisfy all C`+`+ standard library
|
||||
requirements for random access iterator plus they allow assignment
|
||||
(and copy constructor) and testing for 0 (that is NULL) pointer.&]
|
||||
[s0; Like any other NTL container, Segtor is [*/^topic`:`/`/Core`/srcdoc`/Moveable`$en`-us^ m
|
||||
oveable][*/ ]type with [*/^topic`:`/`/Core`/srcdoc`/pick`_`$en`-us^ pick
|
||||
and optional deep copy] transfer semantics. Calling methods of
|
||||
picked Segtor is logic error with exception of&]
|
||||
[s0;C+75 void [* operator`=](pick`_ Array`& [*@3 v])&]
|
||||
[s0;/+75 [/C void ][*/C operator<<`=][/C (const Array`& ][*/C@3 v][/C )][/ ](defined
|
||||
using DeepCopyOptionTemplate)&]
|
||||
[s0;C+75 void [* Clear]()&]
|
||||
[s0;C+75 bool [* IsPicked]() const&]
|
||||
[s0;b42;a42; Optional deep copy is implemented through DeepCopyOptionTemplate
|
||||
macro.&]
|
||||
[s0; Members&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00 T`&_][%00-00@0 Add][%00-00 ()]&]
|
||||
[s2; Adds a new default constructed element to Segtor.&]
|
||||
[s7; Requires T to have default constructor.&]
|
||||
[s4; [*/ Return value]-|Reference to the newly added default constructed
|
||||
element.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Add][%00-00 (][%00-00@(0.0.255) const][%00-00 _T
|
||||
`&_][%00-00@3 x][%00-00 )]&]
|
||||
[s2; Adds a new element with the specified value to Segtor.&]
|
||||
[s7; Requires T to have deep copy constructor.&]
|
||||
[s4; [*C@3 x]-|The value that is copied to the newly created element.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 AddPick][%00-00 (pick`__T`&_][%00-00@3 x][%00-00 )
|
||||
]&]
|
||||
[s2; Adds a new element to Segtor and picks value of parameter x.
|
||||
&]
|
||||
[s7; Requires T to have pick constructor.&]
|
||||
[s4; [*C@3 x]-|Source instance of T that is to be picked.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00 T`&_][%00-00@0 operator`[`]][%00-00 (][%00-00@(0.0.255) int][%00-00 _][%00-00@3 i][%00-00 )
|
||||
]&]
|
||||
[s2; Returns a reference to the element at the specified position.&]
|
||||
[s4; [*C@3 i]-|Position of the element.&]
|
||||
[s4; [*/ Return value]-|Reference to the element.&]
|
||||
[s0;3 &]
|
||||
[s5;K@(0.0.255) [%00-00 const][%00-00@(64) _T`&_][%00-00@0 operator`[`]][%00-00@(64) (][%00-00 i
|
||||
nt][%00-00@(64) _][%00-00@3 i][%00-00@(64) )_][%00-00 const]&]
|
||||
[s2; Returns a reference to the element at the specified position.&]
|
||||
[s4; [*C@3 i]-|Position of the element.&]
|
||||
[s4; [*/ Return value]-|Constant reference to the element.&]
|
||||
[s0;3 &]
|
||||
[s5;K@(0.0.255) [%00-00 int][%00-00@(64) _][%00-00@0 GetCount][%00-00@(64) ()_][%00-00 const]&]
|
||||
[s2; Return the number of elements in Segtor.&]
|
||||
[s4; [*/ Return value]-|Actual number of elements.&]
|
||||
[s0;3 &]
|
||||
[s5;K@(0.0.255) [%00-00 bool][%00-00@(64) _][%00-00@0 IsEmpty][%00-00@(64) ()_][%00-00 const]&]
|
||||
[s2; Tests whether Segtor is empty. Same as GetCount() `=`= 0.&]
|
||||
[s4; [*/ Return value]-|true if Segtor is empty, false otherwise.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 SetCount][%00-00 (][%00-00@(0.0.255) int][%00-00 _
|
||||
][%00-00@3 n][%00-00 )]&]
|
||||
[s2; Changes count of elements in Segtor to specified value. If required
|
||||
number of elements is greater than actual number, newly added
|
||||
elements are default constructed.&]
|
||||
[s7; Requires T to have default constructor.&]
|
||||
[s4; [*C@3 n]-|Required number of elements.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 SetCount][%00-00 (][%00-00@(0.0.255) int][%00-00 _
|
||||
][%00-00@3 n][%00-00 , ][%00-00@(0.0.255) const][%00-00 _][%00-00@4 T][%00-00 `&_][%00-00@3 ini
|
||||
t][%00-00 )]&]
|
||||
[s2; Changes count of elements in Segtor to specified value. If required
|
||||
number of elements is greater than actual number, newly added
|
||||
elements are initialized to the specified value using copy constructor.&]
|
||||
[s7; Requires T to have deep copy constructor.&]
|
||||
[s4; [*C@3 n]-|Required number of elements.&]
|
||||
[s4; [*C@3 init]-|Initialization value of newly added elements.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Clear][%00-00 ()]&]
|
||||
[s2; Removes all elements from Segtor. Capacity is also cleared to
|
||||
zero.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00 T`&_][%00-00@0 At][%00-00 (][%00-00@(0.0.255) int][%00-00 _][%00-00@3 i][%00-00 )]&]
|
||||
[s2; If specified position is lower than number of elements in Segtor
|
||||
([* i < GetCount()]), returns reference to element at specified
|
||||
position. Otherwise increases number of elements in Segtor to
|
||||
[* i `+ 1]. Newly added elements are default constructed. &]
|
||||
[s7; Requires T to have default constructor.&]
|
||||
[s4; [*C@3 i]-|Position of required element.&]
|
||||
[s4; [*/ Return value]-|Reference to required element.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00 T`&_][%00-00@0 At][%00-00 (][%00-00@(0.0.255) int][%00-00 _][%00-00@3 i][%00-00 ,
|
||||
][%00-00@(0.0.255) const][%00-00 _T`&_][%00-00@3 x][%00-00 )]&]
|
||||
[s2; If the specified position is lower than number of elements in
|
||||
Segtor ([* i < GetCount()]), returns reference to element at specified
|
||||
position. Otherwise increases number of elements in Segtor to
|
||||
[* i `+ 1]. Newly added elements are deep`-copy constructed from
|
||||
[* x].&]
|
||||
[s7; Requires T to have deep copy constructor.&]
|
||||
[s4; [*C@3 i]-|Position of the required element.&]
|
||||
[s4; [*C@3 x]-|Initialization value of the newly added elements.&]
|
||||
[s4; [*/ Return value]-|Reference to the required element.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Shrink][%00-00 ()]&]
|
||||
[s2; Minimizes memory consumption of Segtor.&]
|
||||
[s4; [*/ Return value]-|&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Reserve][%00-00 (][%00-00@(0.0.255) int][%00-00 _
|
||||
][%00-00@3 xtra][%00-00 )]&]
|
||||
[s2; Reserves capacity. If the required capacity is greater than
|
||||
the current capacity, capacity is increased to the required value.&]
|
||||
[s4; [*C@3 xtra]-|Required capacity.&]
|
||||
[s0;3 &]
|
||||
[s5;K@(0.0.255) [%00-00 int][%00-00@(64) _][%00-00@0 GetAlloc][%00-00@(64) ()_][%00-00 const]&]
|
||||
[s2; Returns current capacity of Segtor.&]
|
||||
[s4; [*/ Return value]-|Capacity of Segtor.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Set][%00-00 (][%00-00@(0.0.255) int][%00-00 _][%00-00@3 i
|
||||
][%00-00 , ][%00-00@(0.0.255) const][%00-00 _][%00-00@4 T][%00-00 `&_][%00-00@3 x][%00-00 ,
|
||||
][%00-00@(0.0.255) int][%00-00 _][%00-00@3 count][%00-00 _`=_][%00-00@3 1][%00-00 )]&]
|
||||
[s2; Sets requested number of elements starting at the position [* i]
|
||||
to the specified value. If required number of elements exceeds
|
||||
existing elements of Segtor then elements are added to Segtor.&]
|
||||
[s7; Requires T to have deep copy constructor.&]
|
||||
[s4; [*C@3 i]-|Starting position.&]
|
||||
[s4; [*C@3 x]-|Value.&]
|
||||
[s4; [*C@3 count]-|Number of elements.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Drop][%00-00 (][%00-00@(0.0.255) int][%00-00 _][%00-00@3 n
|
||||
][%00-00 _`=_][%00-00@3 1][%00-00 )]&]
|
||||
[s2; Drops specified number of last elements in the Segtor.&]
|
||||
[s4; [*C@3 n]-|Number of elements.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00 T`&_][%00-00@0 Top][%00-00 ()]&]
|
||||
[s2; Returns reference to the last element in the Segtor.&]
|
||||
[s4; [*/ Return value]-|Reference of last element in the Segtor.&]
|
||||
[s0;3 &]
|
||||
[s5;K@(0.0.255) [%00-00 const][%00-00@(64) _T`&_][%00-00@0 Top][%00-00@(64) ()_][%00-00 const]&]
|
||||
[s2; Returns a constant reference to the last element in the Segtor.&]
|
||||
[s4; [*/ Return value]-|Reference of last element in the Segtor.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00 T_][%00-00@0 Pop][%00-00 ()]&]
|
||||
[s2; Drops the last element of the Segtor and returns its value.&]
|
||||
[s7; Requires T to have deep copy constructor.&]
|
||||
[s4; [*/ Return value]-|Value of the dropped element.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00^`:`:Segtor^ Segtor][%00-00 `&_][%00-00@0 operator<<][%00-00 (][%00-00@(0.0.255) c
|
||||
onst][%00-00 _T`&_][%00-00@3 x][%00-00 )]&]
|
||||
[s2; Operator variant of [* void Add(const T`&x)]. Returning a reference
|
||||
to the Segtor enables adding more elements in a single expression,
|
||||
thus e.g. allowing to construct a temporary Segtor as part of
|
||||
an expression like Foo((Segtor<int>() << 1 << 2 << 4)).&]
|
||||
[s7; Requires T to have deep copy constructor.&]
|
||||
[s4; [*C@3 x]-|The value that is copied to the newly created element.&]
|
||||
[s4; [*/ Return value]-|Reference to Segtor (`*this).&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00^`:`:Segtor^ Segtor][%00-00 `&_][%00-00@0 operator`|][%00-00 (pick`__T`&_][%00-00@3 x
|
||||
][%00-00 )]&]
|
||||
[s2; Operator replacement of [* void AddPick(pick`_ T`&x)]. By returning
|
||||
reference to to Segtor allows adding more elements in single
|
||||
expression, thus e.g. allowing to construct temporary Segtor
|
||||
as part of expression.&]
|
||||
[s7; Requires T to have pick constructor.&]
|
||||
[s4; [*C@3 x]-|Source instance of T that is to be picked.&]
|
||||
[s4; [*/ Return value]-|Reference to Segtor (`*this).&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Serialize][%00-00 (][%00-00^`:`:Stream^ Stream
|
||||
][%00-00 `&_][%00-00@3 s][%00-00 )]&]
|
||||
[s2; Serializes the content of the Segtor to/from the Stream. Works
|
||||
only if NTL is used as part of UPP.&]
|
||||
[s7; Requires T to have serialization operator defined.&]
|
||||
[s4; [*C@3 s]-|Target/source stream.&]
|
||||
[s0;3 &]
|
||||
[s5;K@(0.0.255) [%00-00 bool][%00-00@(64) _][%00-00@0 IsPicked][%00-00@(64) ()_][%00-00 const]&]
|
||||
[s2; Returns [* true] if Segtor is in picked state.&]
|
||||
[s4; [*/ Return value]-|[* true] if Segtor is in picked state, [* false]
|
||||
otherwise.&]
|
||||
[s0;3 &]
|
||||
[s0;:`:`:Segtor`:`:Segtor`(`): [* Segtor]()&]
|
||||
[s2; Default constructor. Constructs an empty Segtor.&]
|
||||
[s0;3 &]
|
||||
[s0;:`:`:Segtor`:`:Segtor`(pick`_`:`:Segtor`&`): [* Segtor](pick`_
|
||||
[* Segtor]`& [*@3 s])&]
|
||||
[s2; Pick constructor. Transfers source Segtor in low constant time,
|
||||
but destroys it by picking.&]
|
||||
[s4; [*C@3 v]-|Source Segtor.&]
|
||||
[s0;3 &]
|
||||
[s0;:`:`:Segtor`:`:Segtor`(const`:`:Segtor`&`,int`): [* Segtor](const
|
||||
[* Segtor]`& [*@3 s], int)&]
|
||||
[s2; Optional deep copy constructor.&]
|
||||
[s7; Requires T to have deep copy constructor or optional deep copy
|
||||
constructor.&]
|
||||
[s4; [*C@3 v]-|Source array.&]
|
||||
[s0;3 &]
|
||||
[s0;:`:`:Segtor`:`:`~Segtor`(`): `~[* Segtor]()&]
|
||||
[s2; Destructor. Invokes the destructor of all elements in the Segtor.&]
|
||||
[s0;3 &]
|
||||
[s5;K@0 [%00-00@(64) typedef_T_][%00-00 ValueType]&]
|
||||
[s2; Typedef of T for use in templated algorithms.&]
|
||||
[s0;3 &]
|
||||
[s5;K@0 [%00-00@(64) typedef_][%00-00^`:`:IIterator^@(64) IIterator][%00-00@(64) <][%00-00^`:`:Segtor^@(64) S
|
||||
egtor][%00-00@(64) >_][%00-00 Iterator]&]
|
||||
[s2; Iterator type.&]
|
||||
[s0;3 &]
|
||||
[s5;K@0 [%00-00@(64) typedef_][%00-00^`:`:ConstIIterator^@(64) ConstIIterator][%00-00@(64) <
|
||||
][%00-00^`:`:Segtor^@(64) Segtor][%00-00@(64) >_][%00-00 ConstIterator]&]
|
||||
[s2; Constant iterator type.&]
|
||||
[s0;3 &]
|
||||
[s5;K@(0.0.255) [%00-00^`:`:Segtor`:`:ConstIterator^@(64) ConstIterator][%00-00@(64) _][%00-00@0 B
|
||||
egin][%00-00@(64) ()_][%00-00 const]&]
|
||||
[s2; Returns a constant iterator to the first element in Segtor.&]
|
||||
[s4; [*/ Return value]-|Iterator.&]
|
||||
[s0;3 &]
|
||||
[s5;K@(0.0.255) [%00-00^`:`:Segtor`:`:ConstIterator^@(64) ConstIterator][%00-00@(64) _][%00-00@0 E
|
||||
nd][%00-00@(64) ()_][%00-00 const]&]
|
||||
[s2; Returns a constant iterator to the position just beyond the
|
||||
last element in Segtor.&]
|
||||
[s4; [*/ Return value]-|Iterator.&]
|
||||
[s0;3 &]
|
||||
[s5;K@(0.0.255) [%00-00^`:`:Segtor`:`:ConstIterator^@(64) ConstIterator][%00-00@(64) _][%00-00@0 G
|
||||
etIter][%00-00@(64) (][%00-00 int][%00-00@(64) _][%00-00@3 pos][%00-00@(64) )_][%00-00 const]&]
|
||||
[s2; Returns a constant iterator to the element at the specified
|
||||
position. Same as [* Begin() `+ pos]. The benefit of this method
|
||||
is that in debug mode [* pos] is range checked.&]
|
||||
[s4; [*C@3 i]-|Required position.&]
|
||||
[s4; [*/ Return value]-|Iterator.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00^`:`:Segtor`:`:Iterator^ Iterator][%00-00 _][%00-00@0 Begin][%00-00 ()]&]
|
||||
[s2; Returns a non`-constant iterator to the first element in Segtor.&]
|
||||
[s4; [*/ Return value]-|Iterator.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00^`:`:Segtor`:`:Iterator^ Iterator][%00-00 _][%00-00@0 End][%00-00 ()]&]
|
||||
[s2; Returns a non`-constant iterator to the position just beyond
|
||||
the last element in Segtor.&]
|
||||
[s4; [*/ Return value]-|Iterator.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00^`:`:Segtor`:`:Iterator^ Iterator][%00-00 _][%00-00@0 GetIter][%00-00 (][%00-00@(0.0.255) i
|
||||
nt][%00-00 _][%00-00@3 pos][%00-00 )]&]
|
||||
[s2; Returns a non`-constant iterator to the element at specified
|
||||
position. Same as [* Begin() `+ pos]. The benefit of this methods
|
||||
is that in debug mode [* pos] is range checked.&]
|
||||
[s4; [*C@3 i]-|Required position.&]
|
||||
[s4; [*/ Return value]-|Iterator.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00 friend_][%00-00@(0.0.255) void][%00-00 _][%00-00@0 Swap][%00-00 (][%00-00^`:`:Segtor^ S
|
||||
egtor][%00-00 `&_][%00-00@3 a][%00-00 , ][%00-00^`:`:Segtor^ Segtor][%00-00 `&_][%00-00@3 b][%00-00 )
|
||||
]&]
|
||||
[s2; Specialization of generic [* Swap] for Segtor. Swaps array in
|
||||
simple constant time operation.&]
|
||||
[s4; [*C@3 a]-|First Segtor to swap.&]
|
||||
[s4; [*C@3 b]-|Second Segtor to swap.]
|
||||
|
|
@ -1,121 +1,194 @@
|
|||
TITLE("Serialization utilities")
|
||||
COMPRESSED
|
||||
120,156,237,90,91,83,219,70,20,254,43,59,67,146,1,215,
|
||||
54,210,74,178,100,59,205,164,67,66,39,147,52,237,112,153,
|
||||
62,120,12,90,203,107,123,27,89,114,119,37,192,41,205,111,
|
||||
239,89,173,36,75,88,6,140,3,133,36,60,96,161,189,156,
|
||||
219,183,231,124,62,75,15,163,103,207,180,186,182,165,221,240,
|
||||
211,121,67,71,36,246,163,126,143,153,166,211,37,216,234,126,
|
||||
122,255,123,187,91,123,189,221,50,119,96,19,29,54,49,108,
|
||||
221,112,44,67,55,113,11,126,233,134,142,45,108,152,186,131,
|
||||
219,166,99,24,142,214,241,124,34,68,191,231,99,199,233,74,
|
||||
201,24,22,97,219,194,186,109,58,166,163,27,182,131,97,45,
|
||||
214,52,172,217,216,210,77,195,193,86,103,72,133,215,239,17,
|
||||
199,232,214,14,90,176,200,144,146,96,115,77,111,97,211,54,
|
||||
177,102,104,216,4,81,186,227,152,186,109,57,70,187,213,234,
|
||||
120,100,22,177,48,72,101,49,93,199,122,119,160,219,93,80,
|
||||
249,203,151,47,77,221,212,148,6,38,108,166,107,38,168,170,
|
||||
195,59,205,196,182,110,181,181,182,229,232,142,102,192,230,150,
|
||||
173,89,157,25,225,100,90,109,185,220,195,186,209,116,91,235,
|
||||
176,136,194,22,181,159,116,221,134,37,173,122,107,75,55,109,
|
||||
48,212,49,76,203,177,53,16,142,49,54,12,172,27,184,221,
|
||||
198,86,203,178,59,19,74,134,148,167,38,16,80,190,166,195,
|
||||
82,187,110,111,193,66,205,180,12,108,182,165,179,12,144,132,
|
||||
113,203,106,235,150,169,89,45,216,169,195,233,223,49,227,116,
|
||||
74,3,136,216,63,167,255,62,127,251,177,113,124,136,122,194,
|
||||
232,162,67,202,25,241,217,103,34,29,132,226,136,249,44,98,
|
||||
84,188,232,247,132,214,53,144,252,180,186,239,81,239,185,166,
|
||||
53,52,237,196,237,184,157,195,136,83,50,61,65,234,179,159,
|
||||
14,33,247,197,105,246,252,90,67,127,16,239,147,222,202,7,
|
||||
183,251,107,238,96,32,145,191,175,163,252,245,182,214,212,154,
|
||||
216,178,118,16,147,198,84,46,100,249,251,157,190,212,31,47,
|
||||
172,164,2,25,216,109,12,88,132,134,36,34,117,20,2,48,
|
||||
166,236,51,11,198,8,222,141,66,142,244,150,26,63,35,126,
|
||||
76,69,19,189,27,169,71,196,4,200,68,110,195,192,118,203,
|
||||
78,63,16,39,193,152,214,229,90,24,22,153,148,33,34,2,
|
||||
97,52,152,71,84,128,140,104,66,249,57,19,20,181,212,43,
|
||||
68,56,69,177,160,195,166,84,207,236,102,222,173,237,37,102,
|
||||
55,46,149,95,170,70,25,140,190,1,205,81,20,46,196,229,
|
||||
19,107,187,232,128,70,49,15,148,202,48,87,36,54,121,19,
|
||||
194,2,176,177,249,164,195,170,223,121,37,190,130,136,239,210,
|
||||
244,117,87,26,63,156,182,137,211,214,93,105,254,112,247,255,
|
||||
227,238,117,87,90,203,229,101,143,248,190,72,157,159,36,92,
|
||||
74,188,9,10,71,176,205,144,157,177,97,76,252,188,238,192,
|
||||
206,116,76,57,74,104,4,141,40,23,171,178,114,65,157,65,
|
||||
24,250,185,216,98,192,63,132,100,184,34,220,82,169,129,84,
|
||||
233,4,229,143,249,212,151,183,67,198,171,18,52,178,122,83,
|
||||
225,186,53,0,86,30,92,148,232,41,225,81,46,67,209,17,
|
||||
78,69,20,114,218,68,75,37,47,41,161,156,206,96,6,176,
|
||||
26,40,184,131,121,110,101,19,237,51,46,162,58,146,127,196,
|
||||
51,25,7,47,230,28,230,129,112,18,81,249,66,86,127,89,
|
||||
178,103,148,67,188,166,178,98,7,67,148,72,27,202,50,63,
|
||||
165,211,144,207,155,232,104,66,3,53,89,10,244,193,219,48,
|
||||
62,226,225,20,65,81,71,98,70,61,54,98,116,152,90,149,
|
||||
176,5,165,180,100,20,5,57,34,246,60,42,196,40,246,209,
|
||||
118,16,38,97,131,25,111,57,151,96,185,240,104,194,79,229,
|
||||
196,104,194,195,243,96,167,158,76,129,189,100,53,135,183,60,
|
||||
166,201,230,165,133,249,244,140,128,120,36,30,79,34,233,11,
|
||||
57,175,190,80,60,117,100,170,122,234,23,47,156,205,19,179,
|
||||
75,162,70,196,23,180,146,152,228,225,111,92,102,174,150,49,
|
||||
73,28,81,10,219,40,14,60,249,80,185,139,10,255,18,199,
|
||||
89,166,46,210,230,228,0,121,68,114,166,212,131,155,28,150,
|
||||
67,233,131,111,228,180,148,28,46,200,217,218,135,228,209,68,
|
||||
56,61,36,231,20,148,157,241,16,78,164,63,207,78,98,38,
|
||||
124,177,211,6,121,114,31,176,191,207,252,187,33,64,25,179,
|
||||
70,140,11,90,121,97,32,162,10,181,10,51,38,132,47,38,
|
||||
184,181,130,140,81,81,227,83,247,231,211,143,199,31,62,228,
|
||||
56,56,22,50,209,244,78,162,112,198,60,176,98,215,221,221,
|
||||
3,207,185,187,130,123,238,110,9,37,199,240,221,78,184,207,
|
||||
104,224,54,98,225,110,73,147,165,87,220,237,220,90,55,183,
|
||||
210,125,229,214,243,231,157,19,85,102,86,230,19,25,34,169,
|
||||
230,253,97,42,113,66,227,82,70,47,128,170,249,240,89,227,
|
||||
40,252,129,156,34,114,18,167,220,10,58,42,233,46,160,35,
|
||||
115,85,126,176,159,38,106,80,68,167,51,31,102,158,190,172,
|
||||
138,136,106,107,45,197,204,68,71,249,219,87,167,85,177,92,
|
||||
151,229,29,157,20,182,44,215,141,139,205,170,206,42,138,251,
|
||||
48,137,6,157,179,104,2,100,70,205,222,118,95,244,18,139,
|
||||
234,160,229,145,219,233,228,205,156,29,217,102,41,195,193,203,
|
||||
57,224,187,64,53,94,208,121,200,135,162,142,212,30,146,37,
|
||||
229,201,43,22,170,239,35,22,253,33,32,126,209,36,92,52,
|
||||
102,0,71,50,110,141,203,163,249,44,33,142,225,224,47,234,
|
||||
69,18,139,25,57,173,0,222,5,44,56,160,35,168,104,129,
|
||||
71,51,220,170,149,183,108,249,60,57,136,174,226,86,79,7,
|
||||
163,105,74,59,2,32,86,37,176,251,197,228,15,68,222,75,
|
||||
210,188,134,242,173,9,204,175,85,148,101,33,90,93,148,55,
|
||||
207,178,153,197,43,179,109,162,125,162,161,91,203,50,110,238,
|
||||
166,135,202,188,37,218,248,104,80,159,196,230,91,224,11,215,
|
||||
83,214,111,16,249,5,131,111,13,252,162,147,30,38,187,23,
|
||||
72,239,134,152,255,174,16,159,113,2,112,88,194,9,224,115,
|
||||
53,234,127,17,87,102,172,137,251,69,135,69,238,38,178,32,
|
||||
174,14,87,210,65,83,50,175,86,204,123,138,223,114,112,148,
|
||||
120,121,60,35,117,209,87,188,138,84,22,60,154,220,148,213,
|
||||
155,205,194,180,78,122,186,14,63,55,114,202,3,85,93,74,
|
||||
151,187,201,119,217,188,132,165,206,223,166,205,113,19,205,56,
|
||||
61,99,97,44,22,45,172,193,188,12,204,157,175,93,211,110,
|
||||
100,113,183,130,198,29,78,61,42,124,180,186,232,87,63,28,
|
||||
16,31,77,195,97,236,19,126,37,75,138,120,54,11,121,148,
|
||||
174,248,173,114,14,36,74,130,206,24,25,64,122,12,85,67,
|
||||
92,222,165,100,221,116,48,97,196,198,49,87,147,193,93,100,
|
||||
54,243,165,98,240,167,72,98,207,68,148,182,221,167,36,152,
|
||||
43,77,146,43,252,8,65,146,14,207,69,241,62,38,221,118,
|
||||
215,87,29,245,52,168,32,111,204,206,104,128,198,202,154,178,
|
||||
208,79,84,53,204,137,47,194,43,202,75,125,124,95,122,104,
|
||||
146,246,51,101,69,145,89,195,95,163,127,121,22,178,97,229,
|
||||
169,57,160,99,176,142,114,229,228,189,68,171,229,179,115,47,
|
||||
165,186,112,20,148,14,34,25,151,149,112,149,147,174,41,53,
|
||||
239,211,209,167,231,135,43,95,82,51,150,177,232,249,85,72,
|
||||
49,208,159,19,26,236,251,177,152,108,226,207,186,66,211,72,
|
||||
238,179,32,28,55,59,249,202,232,66,23,200,57,147,228,190,
|
||||
40,109,173,165,207,50,93,81,56,3,20,21,174,176,36,172,
|
||||
151,52,18,229,203,51,153,228,178,180,82,12,141,64,110,3,
|
||||
146,36,75,166,199,130,202,251,175,115,121,165,150,146,175,52,
|
||||
103,76,192,118,200,100,3,138,232,133,60,211,44,130,252,9,
|
||||
137,107,60,166,124,89,167,146,50,143,174,174,41,147,30,41,
|
||||
237,206,177,39,181,205,201,77,82,202,86,99,79,113,31,145,
|
||||
220,207,166,87,135,138,250,8,121,95,3,233,84,1,224,97,
|
||||
122,131,171,171,103,161,174,173,46,137,75,213,243,86,171,210,
|
||||
99,181,183,50,207,61,42,190,124,155,60,90,58,127,143,29,
|
||||
172,101,42,14,65,187,177,238,60,26,112,220,177,204,85,39,
|
||||
211,138,56,109,210,46,45,252,83,164,204,241,149,78,205,169,
|
||||
238,174,116,199,18,155,185,190,109,40,141,239,255,7,34,217,
|
||||
24,27,
|
||||
topic "Serialization utilities";[2 $$0,0#00000000000000000000000000000000:Default]
|
||||
[i448;a25;kKO9;*@(64)2 $$1,0#37138531426314131252341829483380:class]
|
||||
[l288;2 $$2,0#27521748481378242620020725143825:desc]
|
||||
[a83;*R6 $$3,0#31310162474203024125188417583966:caption]
|
||||
[l288;i1121;b17;O9;~~~.1408;2 $$4,0#10431211400427159095818037425705:param]
|
||||
[i448;a25;kKO9;*@(64)2 $$5,0#37138531426314131252341829483370:item]
|
||||
[*+117 $$6,6#14700283458701402223321329925657:header]
|
||||
[l288;a17;*1 $$7,7#70004532496200323422659154056402:requirement]
|
||||
[{_}%EN-US
|
||||
[s3; Serialization utilities&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00^`:`:Stream^ Stream][%00-00 `&_][%00-00@0 Pack16][%00-00 (][%00-00^`:`:Stream^ Str
|
||||
eam][%00-00 `&_][%00-00@3 s][%00-00 , ][%00-00@(0.0.255) int][%00-00 `&_][%00-00@3 i][%00-00 )]&]
|
||||
[s2; Serializes 32`-bit data, optimizing it for 16`-bit values. If
|
||||
value is in `-32767`-32767 range, it is serialized as 2 bytes,
|
||||
otherwise 6 bytes are used.&]
|
||||
[s4; [%00-00*C@3 s]-|Stream.&]
|
||||
[s4; [%00-00*C@3 i]-|Data to serialize.&]
|
||||
[s4; [*/ Return value]-|s for chaining.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00^`:`:Stream^ Stream][%00-00 `&_][%00-00@0 Pack16][%00-00 (][%00-00^`:`:Stream^ Str
|
||||
eam][%00-00 `&_][%00-00@3 s][%00-00 , ][%00-00@(0.0.255) int][%00-00 `&_][%00-00@3 i1][%00-00 ,
|
||||
][%00-00@(0.0.255) int][%00-00 `&_][%00-00@3 i2][%00-00 )]&]
|
||||
[s5;K [%00-00^`:`:Stream^ Stream][%00-00 `&_][%00-00@0 Pack16][%00-00 (][%00-00^`:`:Stream^ Str
|
||||
eam][%00-00 `&_][%00-00@3 s][%00-00 , ][%00-00@(0.0.255) int][%00-00 `&_][%00-00@3 i1][%00-00 ,
|
||||
][%00-00@(0.0.255) int][%00-00 `&_][%00-00@3 i2][%00-00 , ][%00-00@(0.0.255) int][%00-00 `&_
|
||||
][%00-00@3 i3][%00-00 )]&]
|
||||
[s5;K [%00-00^`:`:Stream^ Stream][%00-00 `&_][%00-00@0 Pack16][%00-00 (][%00-00^`:`:Stream^ Str
|
||||
eam][%00-00 `&_][%00-00@3 s][%00-00 , ][%00-00@(0.0.255) int][%00-00 `&_][%00-00@3 i1][%00-00 ,
|
||||
][%00-00@(0.0.255) int][%00-00 `&_][%00-00@3 i2][%00-00 , ][%00-00@(0.0.255) int][%00-00 `&_
|
||||
][%00-00@3 i3][%00-00 , ][%00-00@(0.0.255) int][%00-00 `&_][%00-00@3 i4][%00-00 )]&]
|
||||
[s5;K [%00-00^`:`:Stream^ Stream][%00-00 `&_][%00-00@0 Pack16][%00-00 (][%00-00^`:`:Stream^ Str
|
||||
eam][%00-00 `&_][%00-00@3 s][%00-00 , ][%00-00@(0.0.255) int][%00-00 `&_][%00-00@3 i1][%00-00 ,
|
||||
][%00-00@(0.0.255) int][%00-00 `&_][%00-00@3 i2][%00-00 , ][%00-00@(0.0.255) int][%00-00 `&_
|
||||
][%00-00@3 i3][%00-00 , ][%00-00@(0.0.255) int][%00-00 `&_][%00-00@3 i4][%00-00 ,
|
||||
][%00-00@(0.0.255) int][%00-00 `&_][%00-00@3 i5][%00-00 )]&]
|
||||
[s2; Calls Pack16 for each of individual 32`-bit integer parameters.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00@(0.0.255) bool][%00-00 _][%00-00@0 Load][%00-00 (][%00-00^`:`:Callback1^ Callback
|
||||
1][%00-00 <][%00-00^`:`:Stream^ Stream][%00-00 `&>_][%00-00@3 serialize][%00-00 ,
|
||||
][%00-00^`:`:Stream^ Stream][%00-00 `&_][%00-00@3 stream][%00-00 )]&]
|
||||
[s2; Smart serialization restore. Data to serialize are represented
|
||||
by Callback. First, backup of current state of data is performed
|
||||
and stored in memory. Then data are loaded from the specified
|
||||
stream. If restoring of data is successful (no LoadingError exception
|
||||
is thrown), Load returns true. If LoadingError is thrown, it
|
||||
is caught by Load, data are restored from backup copy and Load
|
||||
returns false.&]
|
||||
[s4; [%00-00*C@3 serialize]-|Callback to the serialization function.&]
|
||||
[s4; [%00-00*C@3 stream]-|Stream.&]
|
||||
[s4; [*/ Return value]-|true indicates success.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00@(0.0.255) bool][%00-00 _][%00-00@0 Store][%00-00 (][%00-00^`:`:Callback1^ Callbac
|
||||
k1][%00-00 <][%00-00^`:`:Stream^ Stream][%00-00 `&>_][%00-00@3 serialize][%00-00 ,
|
||||
][%00-00^`:`:Stream^ Stream][%00-00 `&_][%00-00@3 stream][%00-00 )]&]
|
||||
[s2; Serialization save. Data to serialize are represented by Callback.&]
|
||||
[s4; [%00-00*C@3 serialize]-|Callback to the serialization function.&]
|
||||
[s4; [%00-00*C@3 stream]-|Stream.&]
|
||||
[s4; [*/ Return value]-|true if data were properly stored to the stream.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00@(0.0.255) bool][%00-00 _][%00-00@0 LoadFromFile][%00-00 (][%00-00^`:`:Callback1^ C
|
||||
allback1][%00-00 <Stream`&>_][%00-00@3 serialize][%00-00 , ][%00-00@(0.0.255) const][%00-00 _
|
||||
][%00-00@(0.0.255) char][%00-00 _`*][%00-00@3 file][%00-00 _`=_NULL)]&]
|
||||
[s2; Using [^topic`:`/`/Core`/src`/SerializationUtils`$en`-us`#`:`:Load`(Callback1`<Stream`&`>`,Stream`&`)^ L
|
||||
oad], data are restored from the file.&]
|
||||
[s4; [%00-00*C@3 serialize]-|Callback to the serialization function.&]
|
||||
[s4; [%00-00*C@3 file]-|Filename.&]
|
||||
[s4; [*/ Return value]-|true indicates success.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00@(0.0.255) bool][%00-00 _][%00-00@0 StoreToFile][%00-00 (][%00-00^`:`:Callback1^ C
|
||||
allback1][%00-00 <Stream`&>_][%00-00@3 serialize][%00-00 , ][%00-00@(0.0.255) const][%00-00 _
|
||||
][%00-00@(0.0.255) char][%00-00 _`*][%00-00@3 file][%00-00 _`=_NULL)]&]
|
||||
[s2; Using [^topic`:`/`/Core`/src`/SerializationUtils`$en`-us`#`:`:Store`(Callback1`<Stream`&`>`,Stream`&`)^ S
|
||||
tore] data are saved to the file.&]
|
||||
[s4; [%00-00*C@3 serialize]-|Callback to the serialization function.&]
|
||||
[s4; [%00-00*C@3 file]-|Filename.&]
|
||||
[s4; [*/ Return value]-|true indicates success.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00 template_<][%00-00@(0.0.255) class][%00-00 _][%00-00@4 T][%00-00 >__][%00-00@(0.0.255) b
|
||||
ool][%00-00 _][%00-00@0 Load][%00-00 (][%00-00^T^ T][%00-00 `&_][%00-00@3 x][%00-00 ,
|
||||
][%00-00^`:`:Stream^ Stream][%00-00 `&_][%00-00@3 s][%00-00 )]&]
|
||||
[s2; Calls [^topic`:`/`/Core`/src`/SerializationUtils`$en`-us`#`:`:Load`(Callback1`<Stream`&`>`,Stream`&`)^ L
|
||||
oad] with callback(`&[@3 x], `&T`::Serialize) as serialization callback.
|
||||
In other words, [@3 x] is restored using its Serialize method.&]
|
||||
[s4; [*C@4 T]-|Type of object to restore.&]
|
||||
[s4; [%00-00*C@3 x]-|Reference to the object.&]
|
||||
[s4; [%00-00*C@3 s]-|Stream.&]
|
||||
[s4; [*/ Return value]-|true indicates success.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00 template_<][%00-00@(0.0.255) class][%00-00 _][%00-00@4 T][%00-00 >__][%00-00@(0.0.255) b
|
||||
ool][%00-00 _][%00-00@0 Store][%00-00 (][%00-00^T^ T][%00-00 `&_][%00-00@3 x][%00-00 ,
|
||||
][%00-00^`:`:Stream^ Stream][%00-00 `&_][%00-00@3 s][%00-00 )]&]
|
||||
[s2; Calls [^topic`:`/`/Core`/src`/SerializationUtils`$en`-us`#`:`:Store`(T`&`,Stream`&`)^ S
|
||||
tore] with callback(`&[@3 x], `&T`::Serialize) as serialization
|
||||
callback. In other words, [@3 x] is stored using its Serialize
|
||||
method.&]
|
||||
[s4; [*C@4 T]-|Type of object to restore.&]
|
||||
[s4; [%00-00*C@3 x]-|Reference to the object.&]
|
||||
[s4; [%00-00*C@3 s]-|Stream.&]
|
||||
[s4; [*/ Return value]-|true indicates success.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00 template_<][%00-00@(0.0.255) class][%00-00 _][%00-00@4 T][%00-00 >__][%00-00@(0.0.255) b
|
||||
ool][%00-00 _][%00-00@0 LoadFromFile][%00-00 (][%00-00^T^ T][%00-00 `&_][%00-00@3 x][%00-00 ,
|
||||
][%00-00@(0.0.255) const][%00-00 _][%00-00@(0.0.255) char][%00-00 _`*][%00-00@3 name][%00-00 _
|
||||
`=_NULL)]&]
|
||||
[s2; Calls [^topic`:`/`/Core`/src`/SerializationUtils`$en`-us`#`:`:LoadFromFile`(Callback1`<Stream`&`>`,const char`*`)^ L
|
||||
oadFromFile] with callback(`&[@3 x], `&T`::Serialize) as serialization
|
||||
callback. In other words, [@3 x] is restored from the file using
|
||||
its Serialize method.&]
|
||||
[s4; [*C@4 T]-|Type of object to restore.&]
|
||||
[s4; [%00-00*C@3 x]-|Reference to the object.&]
|
||||
[s4; [%00-00*C@3 name]-|Filename.&]
|
||||
[s4; [*/ Return value]-|true indicates success.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00 template_<][%00-00@(0.0.255) class][%00-00 _][%00-00@4 T][%00-00 >__][%00-00@(0.0.255) b
|
||||
ool][%00-00 _][%00-00@0 StoreToFile][%00-00 (][%00-00^T^ T][%00-00 `&_][%00-00@3 x][%00-00 ,
|
||||
][%00-00@(0.0.255) const][%00-00 _][%00-00@(0.0.255) char][%00-00 _`*][%00-00@3 name][%00-00 _
|
||||
`=_NULL)]&]
|
||||
[s2; Calls [^topic`:`/`/Core`/src`/SerializationUtils`$en`-us`#`:`:StoreToFile`(Callback1`<Stream`&`>`,const char`*`)^ S
|
||||
toreToFile] with callback(`&[@3 x], `&T`::Serialize) as serialization
|
||||
callback. In other words, [@3 x] is stored to the file using its
|
||||
Serialize method.&]
|
||||
[s4; [*C@4 T]-|Type of object to store.&]
|
||||
[s4; [%00-00*C@3 x]-|Reference to the object.&]
|
||||
[s4; [%00-00*C@3 name]-|Filename.&]
|
||||
[s4; [*/ Return value]-|true indicates success.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00 template_<][%00-00@(0.0.255) class][%00-00 _][%00-00@4 T][%00-00 >__][%00-00^`:`:String^ S
|
||||
tring][%00-00 _][%00-00@0 StoreAsString][%00-00 (][%00-00^T^ T][%00-00 `&_][%00-00@3 x][%00-00 )
|
||||
]&]
|
||||
[s2; Stores [@3 x] using its Serialize method and StringStream.&]
|
||||
[s4; [*C@4 T]-|Type of object to store.&]
|
||||
[s4; [%00-00*C@3 x]-|Reference to the object.&]
|
||||
[s4; [*/ Return value]-|String containing serialized [@3 x].&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00 template_<][%00-00@(0.0.255) class][%00-00 _][%00-00@4 T][%00-00 >__][%00-00@(0.0.255) b
|
||||
ool][%00-00 _][%00-00@0 LoadFromString][%00-00 (][%00-00^T^ T][%00-00 `&_][%00-00@3 x][%00-00 ,
|
||||
][%00-00@(0.0.255) const][%00-00 _][%00-00^`:`:String^ String][%00-00 `&_][%00-00@3 s][%00-00 )
|
||||
]&]
|
||||
[s2; Restores serialized data from the String (e.g. previously stored
|
||||
by StoreAsString).&]
|
||||
[s4; [*C@4 T]-|Type of object to restore.&]
|
||||
[s4; [%00-00*C@3 x]-|Reference to object.&]
|
||||
[s4; [%00-00*C@3 s]-|String containing serialized [@3 x].&]
|
||||
[s4; [*/ Return value]-|true indicates success.&]
|
||||
[s0; &]
|
||||
[s0; &]
|
||||
[s6; Global modular serialization support&]
|
||||
[s0; Modular serialization is a viable option for storing configuration
|
||||
of applications consisting of many modules. It allows individual
|
||||
storing/loading data for given global configuration key and also
|
||||
serialization of all such data with single stream.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 RegisterGlobalConfig][%00-00 (][%00-00@(0.0.255) c
|
||||
onst][%00-00 _][%00-00@(0.0.255) char][%00-00 _`*][%00-00@3 name][%00-00 )]&]
|
||||
[s2; Registers name as global configuration key.&]
|
||||
[s4; [%00-00*C@3 name]-|Key.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 RegisterGlobalConfig][%00-00 (][%00-00@(0.0.255) c
|
||||
onst][%00-00 _][%00-00@(0.0.255) char][%00-00 _`*][%00-00@3 name][%00-00 ,
|
||||
][%00-00^`:`:Callback^ Callback][%00-00 _][%00-00@3 WhenFlush][%00-00 )]&]
|
||||
[s2; Registers name as global configuration key, with flush callback.&]
|
||||
[s4; [%00-00*C@3 name]-|Key.&]
|
||||
[s4; [%00-00*C@3 WhenFlush]-|This callback is called before storing
|
||||
of all configuration keys is performed by SerializeGlobalConfigs
|
||||
`- this is useful when StoreToGlobal has to be explicitly triggered
|
||||
before storing configuration.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00 template_<][%00-00@(0.0.255) class][%00-00 _][%00-00@4 T][%00-00 >__][%00-00@(0.0.255) b
|
||||
ool][%00-00 _][%00-00@0 LoadFromGlobal][%00-00 (][%00-00^T^ T][%00-00 `&_][%00-00@3 x][%00-00 ,
|
||||
][%00-00@(0.0.255) const][%00-00 _][%00-00@(0.0.255) char][%00-00 _`*][%00-00@3 name][%00-00 )
|
||||
]&]
|
||||
[s2; Loads [@3 x] from global configuration key, using smart backup
|
||||
methods provided by [^topic`:`/`/Core`/src`/SerializationUtils`$en`-us`#`:`:Load`(Callback1`<Stream`&`>`,Stream`&`)^ L
|
||||
oad].&]
|
||||
[s4; [*C@4 T]-|Type of serialized object.&]
|
||||
[s4; [%00-00*C@3 x]-|Reference to serialized object.&]
|
||||
[s4; [%00-00*C@3 name]-|Configuration key.&]
|
||||
[s4; [*/ Return value]-|true indicates success.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00 template_<][%00-00@(0.0.255) class][%00-00 _][%00-00@4 T][%00-00 >__][%00-00@(0.0.255) v
|
||||
oid][%00-00 _][%00-00@0 StoreToGlobal][%00-00 (][%00-00^T^ T][%00-00 `&_][%00-00@3 x][%00-00 ,
|
||||
][%00-00@(0.0.255) const][%00-00 _][%00-00@(0.0.255) char][%00-00 _`*][%00-00@3 name][%00-00 )
|
||||
]&]
|
||||
[s2; Stores [@3 x] to global configuration key.&]
|
||||
[s4; [*C@4 T]-|Type of serialized object.&]
|
||||
[s4; [%00-00*C@3 x]-|Reference to serialized object.&]
|
||||
[s4; [%00-00*C@3 name]-|Configuration key.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 SerializeGlobalConfigs][%00-00 (][%00-00^`:`:Stream^ S
|
||||
tream][%00-00 `&_][%00-00@3 s][%00-00 )]&]
|
||||
[s2; Serializes all global configuration data from/to single stream.&]
|
||||
[s4; [%00-00*C@3 s]-|Stream.&]
|
||||
[s0; ]
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,240 +1,462 @@
|
|||
TITLE("Vector")
|
||||
COMPRESSED
|
||||
120,156,237,92,235,83,219,198,22,255,87,118,38,109,198,38,
|
||||
198,72,178,141,13,38,153,166,78,218,97,218,36,12,208,220,
|
||||
15,140,65,66,90,227,189,145,37,95,173,12,161,55,55,127,
|
||||
251,61,103,87,239,151,229,7,129,180,205,7,2,146,118,247,
|
||||
60,126,231,181,175,11,141,252,240,131,210,82,158,41,75,254,
|
||||
29,190,161,19,99,97,251,227,11,214,237,14,134,134,214,27,
|
||||
126,250,237,195,193,112,231,167,198,126,183,9,157,168,208,73,
|
||||
167,175,118,6,189,142,218,213,246,225,135,218,81,181,158,214,
|
||||
233,170,3,237,160,59,232,116,6,202,161,105,27,156,143,47,
|
||||
108,109,48,24,226,200,26,52,210,250,61,77,237,119,7,221,
|
||||
129,218,233,15,52,104,171,41,138,166,244,181,158,218,237,12,
|
||||
180,222,161,69,185,57,190,48,6,157,225,206,233,62,52,234,
|
||||
224,72,208,185,162,238,107,221,126,87,83,58,138,214,133,161,
|
||||
212,193,160,171,246,123,131,206,193,254,254,161,105,204,125,230,
|
||||
58,193,88,76,85,53,117,120,173,246,135,64,242,215,175,95,
|
||||
219,106,87,145,20,116,161,51,85,233,2,169,42,60,83,186,
|
||||
90,95,237,29,40,7,189,129,58,80,58,208,121,175,175,244,
|
||||
14,231,134,103,204,138,57,199,62,122,75,89,239,43,135,204,
|
||||
167,208,197,206,11,85,237,67,147,253,214,254,51,181,219,7,
|
||||
70,7,157,110,111,208,87,96,112,77,211,58,29,77,237,104,
|
||||
7,7,90,111,191,215,63,156,82,195,162,94,192,130,1,196,
|
||||
239,168,208,180,223,234,63,131,134,74,183,215,209,186,7,40,
|
||||
172,14,140,164,105,251,189,3,181,215,85,122,251,208,211,161,
|
||||
71,255,179,96,30,157,81,7,52,246,223,171,255,253,248,246,
|
||||
253,238,31,103,228,130,119,144,253,253,238,144,124,164,166,239,
|
||||
122,207,199,23,188,55,252,141,92,252,168,40,187,138,66,128,
|
||||
200,185,109,248,244,234,104,28,60,250,169,161,180,149,182,214,
|
||||
235,53,73,160,189,224,211,171,232,139,46,57,143,158,190,186,
|
||||
186,90,161,165,18,144,17,191,58,44,106,62,95,92,219,204,
|
||||
204,183,191,212,15,245,195,119,238,45,53,174,109,250,218,177,
|
||||
222,80,58,31,185,243,251,15,66,247,151,164,244,85,212,213,
|
||||
81,5,45,71,37,12,190,186,26,163,216,148,33,9,254,187,
|
||||
216,25,137,79,118,191,156,223,207,41,113,39,132,218,66,244,
|
||||
156,112,232,144,90,132,57,65,231,109,114,78,24,39,129,122,
|
||||
44,226,187,228,154,66,7,123,151,190,59,103,38,240,179,167,
|
||||
239,141,160,141,190,199,61,211,114,77,125,47,100,66,255,129,
|
||||
58,250,238,130,95,146,89,240,4,224,180,71,200,216,112,44,
|
||||
50,91,112,159,76,141,91,74,40,243,167,212,171,238,18,30,
|
||||
127,210,175,226,14,45,16,14,49,65,58,240,195,225,190,183,
|
||||
16,114,104,173,214,9,254,157,106,79,92,65,6,244,46,60,
|
||||
71,234,93,59,16,221,249,148,2,59,64,59,157,76,64,64,
|
||||
12,24,152,216,198,45,180,4,41,94,27,156,153,196,3,254,
|
||||
220,25,49,76,147,114,142,157,248,6,115,40,72,242,24,228,
|
||||
59,161,134,191,240,40,39,134,71,97,32,15,58,176,200,196,
|
||||
131,239,39,134,233,19,127,106,248,132,249,40,114,6,192,22,
|
||||
74,129,15,12,80,140,248,155,140,244,93,155,125,162,228,86,
|
||||
104,39,169,186,144,194,55,140,27,214,173,1,163,222,8,213,
|
||||
74,61,98,143,166,59,155,185,14,73,152,26,153,192,155,72,
|
||||
247,82,183,49,2,128,14,125,23,72,162,247,82,93,82,241,
|
||||
177,54,219,228,181,227,10,229,89,201,49,97,164,152,151,153,
|
||||
225,220,19,119,78,61,3,97,12,92,57,183,134,205,44,176,
|
||||
88,160,99,66,61,234,128,148,72,67,126,75,13,248,98,164,
|
||||
191,208,95,36,95,34,92,230,46,3,65,120,188,137,68,102,
|
||||
57,254,29,5,34,198,17,196,188,63,255,61,150,122,43,193,
|
||||
255,102,168,245,209,84,238,0,172,107,160,12,89,112,133,33,
|
||||
27,118,12,222,49,241,1,43,28,24,37,156,130,160,124,102,
|
||||
242,54,25,25,182,205,156,27,144,134,63,117,45,142,42,196,
|
||||
62,64,37,49,39,182,123,3,64,163,158,7,127,10,146,232,
|
||||
103,147,138,254,225,115,41,149,209,139,126,143,220,186,204,2,
|
||||
114,3,5,184,158,254,114,220,144,4,6,157,233,207,225,245,
|
||||
79,29,114,59,110,202,102,123,216,236,98,111,36,155,34,235,
|
||||
163,168,245,209,17,180,199,119,13,97,25,113,23,226,51,209,
|
||||
11,190,109,194,79,144,87,3,204,8,52,96,145,5,71,118,
|
||||
210,254,236,60,112,219,205,2,98,71,54,53,188,113,35,249,
|
||||
234,218,117,109,124,117,204,79,132,40,224,173,180,206,0,1,
|
||||
31,114,178,205,90,144,63,245,220,197,205,180,132,12,128,169,
|
||||
233,185,33,158,222,209,217,53,96,77,254,213,33,217,144,115,
|
||||
174,63,79,58,225,215,150,21,249,218,70,83,120,90,109,136,
|
||||
79,57,113,232,93,222,153,0,49,1,128,17,203,129,151,197,
|
||||
86,253,33,57,149,166,201,193,233,194,59,225,30,11,156,81,
|
||||
248,245,113,100,75,192,171,47,117,36,205,37,97,61,233,49,
|
||||
186,67,97,194,167,20,156,144,67,160,249,130,66,20,56,13,
|
||||
63,199,175,129,104,251,158,24,150,5,132,86,16,223,46,17,
|
||||
79,34,10,162,66,11,99,104,74,100,69,209,23,135,139,91,
|
||||
166,4,222,33,159,163,55,121,105,135,146,21,70,193,231,212,
|
||||
100,19,6,52,11,70,107,138,187,32,178,108,42,240,145,160,
|
||||
26,162,45,4,143,128,20,225,231,209,37,207,153,140,170,82,
|
||||
236,166,7,241,97,107,66,70,99,137,5,45,13,127,29,105,
|
||||
70,44,73,95,12,253,240,128,15,116,78,152,107,82,144,6,
|
||||
126,198,252,54,41,23,110,54,226,110,75,174,103,238,194,3,
|
||||
240,50,232,216,64,20,3,85,231,145,136,101,84,147,46,116,
|
||||
67,121,190,175,68,45,115,252,130,134,29,226,148,72,56,134,
|
||||
167,179,64,135,131,100,87,24,92,86,2,223,204,93,140,4,
|
||||
15,187,95,222,71,84,38,41,2,71,145,17,106,66,36,33,
|
||||
227,41,131,150,5,216,85,198,141,70,33,234,66,31,167,191,
|
||||
140,100,157,148,112,208,73,66,204,44,253,170,25,189,11,70,
|
||||
15,68,47,93,31,240,29,115,141,108,64,230,16,193,29,112,
|
||||
19,235,102,238,114,134,161,34,45,15,6,242,56,9,222,36,
|
||||
36,82,225,99,71,174,64,167,95,58,108,25,54,179,241,166,
|
||||
72,80,43,225,145,229,241,248,88,66,57,173,41,139,2,72,
|
||||
85,96,65,33,191,82,127,228,46,178,95,52,170,49,33,8,
|
||||
112,242,32,143,107,161,114,70,94,155,254,2,210,143,124,235,
|
||||
26,156,96,114,83,206,202,49,127,59,155,251,247,53,57,57,
|
||||
167,28,40,190,155,82,145,9,7,78,27,189,32,197,78,218,
|
||||
228,12,92,53,86,19,161,128,32,143,210,95,234,47,137,82,
|
||||
193,27,184,17,240,173,201,66,66,116,214,130,44,223,230,84,
|
||||
38,221,119,140,211,77,156,235,185,199,102,219,114,174,167,212,
|
||||
90,160,43,171,82,37,226,45,235,127,219,161,63,141,28,114,
|
||||
88,245,216,88,200,65,60,113,176,66,132,111,64,211,232,249,
|
||||
202,116,158,65,76,169,235,173,240,181,89,74,42,16,181,138,
|
||||
152,207,50,118,177,169,168,71,32,147,27,138,105,12,116,90,
|
||||
71,210,2,83,80,9,79,226,25,133,34,249,113,114,35,18,
|
||||
33,79,74,61,37,233,86,42,67,141,218,200,122,58,23,61,
|
||||
197,88,1,37,83,67,200,156,57,152,101,1,114,77,99,110,
|
||||
152,12,145,44,44,31,18,158,240,9,228,143,182,13,69,21,
|
||||
12,12,35,205,12,223,156,86,18,220,88,56,162,42,135,18,
|
||||
37,20,241,233,184,249,56,97,250,105,67,167,69,150,231,251,
|
||||
133,211,88,233,172,149,57,204,127,242,112,68,34,25,232,242,
|
||||
79,153,225,103,203,17,89,23,231,106,141,167,10,216,7,170,
|
||||
139,234,64,54,206,48,80,237,187,95,142,67,193,138,73,165,
|
||||
184,20,41,210,196,54,48,127,250,143,191,172,3,63,136,148,
|
||||
41,50,86,4,224,88,76,238,25,182,237,222,33,177,104,28,
|
||||
114,66,47,106,132,85,189,187,240,201,100,225,137,23,1,101,
|
||||
194,140,2,74,254,146,62,119,83,252,253,227,116,31,208,233,
|
||||
62,121,212,255,13,29,183,156,66,206,207,202,158,82,156,212,
|
||||
231,40,238,88,190,98,245,37,92,237,26,133,186,101,248,21,
|
||||
119,137,137,93,73,44,253,73,131,57,226,245,36,87,103,46,
|
||||
121,189,244,170,160,162,7,60,231,203,117,185,116,112,23,34,
|
||||
181,178,64,106,0,70,25,57,74,84,138,227,102,11,152,147,
|
||||
19,5,169,105,130,234,41,2,242,33,44,16,35,155,90,94,
|
||||
155,137,193,245,23,68,29,183,201,251,39,24,190,190,199,64,
|
||||
149,157,158,137,248,91,113,158,166,176,221,183,0,119,157,48,
|
||||
182,124,118,251,239,96,25,105,127,31,174,48,67,211,207,227,
|
||||
191,136,133,60,80,80,171,111,35,225,218,195,202,33,109,139,
|
||||
22,86,43,135,156,122,204,249,84,16,11,223,65,76,158,65,
|
||||
154,196,201,12,162,162,39,69,185,152,133,171,200,33,70,174,
|
||||
239,65,218,57,221,136,21,171,173,230,186,167,148,83,239,150,
|
||||
110,111,18,80,116,199,99,52,165,18,78,51,17,230,83,144,
|
||||
54,23,158,135,22,27,155,66,242,211,208,82,172,112,190,58,
|
||||
234,80,38,181,105,116,248,158,145,204,145,82,184,222,108,114,
|
||||
251,53,88,150,153,254,98,201,228,54,207,113,22,235,184,106,
|
||||
213,162,248,227,245,235,153,111,16,2,106,84,50,159,171,59,
|
||||
44,163,195,76,77,128,93,233,47,147,47,213,60,8,129,95,
|
||||
185,117,138,114,191,216,75,114,223,240,124,52,44,195,23,120,
|
||||
138,226,17,186,249,113,136,178,85,107,39,220,13,66,45,252,
|
||||
159,113,209,123,244,38,182,107,232,215,73,7,13,233,171,30,
|
||||
117,145,28,221,239,89,40,146,226,69,38,244,185,31,243,198,
|
||||
38,85,83,180,72,185,153,83,194,122,225,33,48,187,45,136,
|
||||
133,21,77,21,202,182,29,24,235,74,94,134,50,164,239,129,
|
||||
117,80,230,0,74,196,173,239,36,100,202,93,15,164,166,95,
|
||||
217,44,209,197,74,42,43,140,62,82,43,5,182,153,170,54,
|
||||
207,217,76,36,11,209,6,57,200,153,196,238,66,203,197,214,
|
||||
46,252,66,231,20,55,143,21,229,164,219,208,107,138,125,84,
|
||||
177,216,103,39,178,55,207,51,132,223,15,237,48,169,79,114,
|
||||
236,71,171,99,178,11,201,24,230,208,92,108,24,145,81,21,
|
||||
126,47,136,140,229,187,9,30,19,46,98,115,174,148,209,101,
|
||||
233,214,218,75,144,207,101,10,10,175,210,161,165,16,79,181,
|
||||
128,225,122,49,48,194,117,90,8,3,178,73,35,217,111,43,
|
||||
53,74,59,46,68,154,227,7,192,196,153,212,239,199,104,199,
|
||||
105,17,32,54,208,216,177,3,169,154,191,222,222,154,111,228,
|
||||
101,37,137,184,63,98,229,77,59,16,216,141,178,157,19,143,
|
||||
86,254,175,226,193,153,224,189,110,145,47,37,181,181,89,172,
|
||||
64,238,174,83,56,219,147,172,175,211,121,82,38,119,216,81,
|
||||
31,83,208,27,217,197,223,42,97,174,182,179,16,149,224,254,
|
||||
168,47,82,68,80,250,76,196,170,92,138,44,245,136,39,103,
|
||||
14,14,180,199,155,67,40,201,93,145,27,105,87,133,179,3,
|
||||
155,26,229,147,68,87,85,120,93,62,105,23,2,35,55,113,
|
||||
111,4,71,16,82,69,203,19,212,123,176,71,117,243,34,250,
|
||||
187,80,220,74,94,194,157,76,56,93,51,249,78,123,152,2,
|
||||
71,226,225,234,100,62,3,127,90,176,145,228,98,254,95,94,
|
||||
244,230,1,20,189,14,4,152,158,186,156,48,15,143,41,5,
|
||||
17,146,57,144,214,37,58,8,182,69,135,78,232,49,124,79,
|
||||
122,119,250,154,48,14,54,181,111,213,201,164,5,85,56,119,
|
||||
31,172,35,139,13,237,69,135,120,142,125,121,12,138,71,19,
|
||||
139,137,147,41,98,152,86,92,227,45,120,9,188,196,241,172,
|
||||
243,22,185,94,96,33,8,79,221,251,12,117,143,11,192,117,
|
||||
119,210,207,177,166,221,118,137,182,252,88,131,24,54,19,67,
|
||||
0,219,69,2,125,20,79,240,29,11,121,53,127,191,166,171,
|
||||
175,80,105,153,155,127,226,186,141,61,248,22,157,247,3,58,
|
||||
110,41,239,194,99,69,91,53,209,52,183,79,196,215,226,82,
|
||||
24,18,1,196,60,57,107,127,227,185,243,181,98,105,60,121,
|
||||
185,188,58,195,65,138,143,45,217,70,140,86,177,94,141,213,
|
||||
120,184,92,206,131,185,44,220,227,223,72,30,60,216,37,78,
|
||||
179,89,103,102,176,238,228,195,121,82,8,185,195,45,185,163,
|
||||
45,73,170,211,68,215,90,168,205,240,93,208,195,198,135,162,
|
||||
18,12,213,93,229,43,61,102,244,45,185,141,21,148,228,230,
|
||||
164,80,61,18,85,169,190,227,85,42,105,74,146,53,230,243,
|
||||
84,113,191,154,255,46,230,47,170,198,45,160,98,94,99,79,
|
||||
75,120,250,10,52,181,147,135,152,227,58,250,110,164,130,121,
|
||||
60,153,94,99,7,192,73,201,215,149,32,146,168,136,136,26,
|
||||
87,99,107,167,62,124,182,78,59,89,49,62,40,137,99,231,
|
||||
171,100,49,203,55,0,125,8,250,5,96,205,109,195,140,32,
|
||||
119,177,35,143,160,191,182,172,224,128,59,244,245,185,57,110,
|
||||
147,159,239,3,16,98,28,74,27,86,124,50,22,55,187,240,
|
||||
112,183,203,204,245,104,202,33,98,8,179,225,209,231,57,0,
|
||||
150,67,148,199,61,54,11,78,104,251,166,45,219,138,249,44,
|
||||
55,198,173,184,218,196,245,12,239,62,26,130,227,97,91,185,
|
||||
199,54,234,135,136,13,165,191,184,110,163,33,63,59,2,85,
|
||||
188,2,247,122,116,68,84,252,161,225,143,110,243,81,54,247,
|
||||
175,127,232,185,198,46,153,48,190,232,59,254,148,241,230,246,
|
||||
0,167,127,201,101,55,91,65,21,230,77,225,245,11,223,3,
|
||||
180,42,16,243,52,78,114,111,15,36,245,118,175,120,114,99,
|
||||
121,222,29,9,140,157,249,128,227,217,37,145,255,151,36,189,
|
||||
60,143,156,168,95,121,89,76,58,0,250,238,158,40,100,100,
|
||||
167,109,242,47,215,251,132,235,33,96,54,108,34,174,58,1,
|
||||
193,44,184,188,35,38,84,225,31,39,39,21,186,227,193,120,
|
||||
114,193,57,4,61,9,174,235,200,44,5,162,1,27,222,13,
|
||||
245,247,130,92,152,75,66,146,114,84,134,135,177,141,37,126,
|
||||
107,232,205,67,196,127,96,116,242,70,15,140,248,5,235,46,
|
||||
100,20,254,17,28,47,45,202,44,114,3,233,95,147,67,233,
|
||||
95,11,7,75,140,1,214,192,101,118,47,158,136,242,63,53,
|
||||
29,144,62,185,185,148,193,224,178,151,248,201,243,12,203,85,
|
||||
151,173,0,113,39,89,51,130,36,89,22,56,217,218,3,8,
|
||||
195,205,148,81,124,246,217,140,102,138,21,230,103,43,148,72,
|
||||
141,183,219,172,53,18,151,201,108,94,4,222,230,237,65,8,
|
||||
37,28,228,209,36,178,198,65,237,224,110,154,213,18,118,0,
|
||||
11,30,176,30,167,79,88,3,115,193,165,63,192,156,79,43,
|
||||
188,93,173,246,120,51,150,60,174,61,46,57,175,93,10,113,
|
||||
65,116,10,225,45,72,48,50,48,151,233,82,252,32,70,122,
|
||||
11,43,207,102,20,35,115,215,244,20,196,144,186,9,10,30,
|
||||
198,206,95,170,84,156,248,175,100,4,100,226,49,234,88,101,
|
||||
55,84,200,107,144,66,228,103,50,3,196,222,74,171,44,153,
|
||||
246,220,43,152,230,42,144,91,108,31,111,106,92,179,84,75,
|
||||
180,81,36,40,150,107,52,226,138,118,164,164,107,21,188,70,
|
||||
11,66,205,85,92,25,18,81,132,225,77,116,209,45,6,242,
|
||||
27,25,253,39,98,6,136,138,130,51,96,7,130,157,125,227,
|
||||
122,204,159,206,242,53,82,233,120,241,182,47,114,28,164,38,
|
||||
209,204,127,240,183,248,186,29,255,137,187,131,23,6,56,32,
|
||||
159,70,119,223,33,81,250,142,252,178,230,216,203,80,16,22,
|
||||
104,73,18,69,60,204,210,25,93,34,194,86,35,56,44,103,
|
||||
74,200,206,185,186,203,180,47,72,209,114,41,169,77,211,87,
|
||||
234,21,127,166,55,204,89,209,37,154,121,46,229,20,70,110,
|
||||
86,116,233,252,69,72,224,183,100,249,173,179,106,12,40,101,
|
||||
56,90,110,250,183,220,107,119,239,58,86,225,100,206,147,20,
|
||||
196,175,84,124,148,17,70,36,138,109,222,230,83,42,193,37,
|
||||
39,112,18,251,236,4,82,113,90,242,5,12,14,133,25,117,
|
||||
192,177,138,116,26,43,135,232,58,62,198,131,122,4,167,153,
|
||||
175,23,88,143,89,226,64,39,116,58,22,87,101,138,149,8,
|
||||
115,74,211,101,74,184,210,22,29,7,200,47,180,213,86,90,
|
||||
137,170,34,45,145,172,110,202,77,178,96,158,52,61,137,245,
|
||||
112,54,184,25,23,111,157,162,107,247,234,241,240,240,102,181,
|
||||
25,111,25,195,217,214,237,78,213,66,89,203,82,16,244,223,
|
||||
135,173,132,73,93,129,40,203,43,254,59,163,96,85,165,126,
|
||||
113,99,20,100,130,245,91,95,23,76,21,160,98,18,181,251,
|
||||
132,220,128,232,61,102,138,19,229,72,173,72,151,162,93,196,
|
||||
240,132,39,234,165,224,14,217,84,201,20,239,61,79,203,31,
|
||||
143,46,253,34,108,61,113,134,31,250,75,127,117,141,233,31,
|
||||
53,209,126,50,159,141,255,15,17,187,235,173,
|
||||
topic "Vector";[2 $$0,0#00000000000000000000000000000000:Default]
|
||||
[i448;a25;kKO9;*@(64)2 $$1,0#37138531426314131252341829483380:class]
|
||||
[l288;2 $$2,0#27521748481378242620020725143825:desc]
|
||||
[a83;*R6 $$3,0#31310162474203024125188417583966:caption]
|
||||
[l288;i1121;b17;O9;~~~.1408;2 $$4,0#10431211400427159095818037425705:param]
|
||||
[i448;a25;kKO9;*@(64)2 $$5,0#37138531426314131252341829483370:item]
|
||||
[*+117 $$6,6#14700283458701402223321329925657:header]
|
||||
[l288;a17;*1 $$7,7#70004532496200323422659154056402:requirement]
|
||||
[{_}%EN-US
|
||||
[s3;~~~64; Vector&]
|
||||
[s5;K [%00-00 template_<][%00-00@(0.0.255) class][%00-00 _][%00-00@4 T][%00-00 >__][%00-00@(0.0.255) c
|
||||
lass][%00-00 _][%00-00@0 Vector][%00-00 _:_][%00-00@(0.0.255) public][%00-00 _][%00-00^`:`:MoveableAndDeepCopyOption^ M
|
||||
oveableAndDeepCopyOption][%00-00 <_][%00-00@0 Vector][%00-00 <][%00-00@4 T][%00-00 >_>_]&]
|
||||
[s0; &]
|
||||
[s0; [*C@4 T]-|Type of elements stored in Vector. T is required to be
|
||||
[*/^topic`:`/`/Core`/srcdoc`/Moveable`$en`-us^ moveable][*/ ]and
|
||||
must have either [*/^topic`:`/`/Core`/srcdoc`/pick`_`$en`-us^ deep
|
||||
copy constructor], [*/^topic`:`/`/Core`/srcdoc`/pick`_`$en`-us^ pick
|
||||
constructor] or [*/ default constructor].&]
|
||||
[s0; The most effective flavor of basic random access container.
|
||||
Its features are derived from fact that it is implemented as
|
||||
simple C`-like vector of elements.&]
|
||||
[s0; Disadvantage of Vector is common requirement for elements to
|
||||
be stored in it `- they must be [*/ moveable]. Another disadvantage
|
||||
is fact that many operations invalidate references (that means
|
||||
C`+`+ references and pointers) to elements.&]
|
||||
[s0; Like any other NTL container, Vector is [*/^topic`:`/`/Core`/srcdoc`/Moveable`$en`-us^ m
|
||||
oveable][*/ ]type with [*/^topic`:`/`/Core`/srcdoc`/pick`_`$en`-us^ pick
|
||||
and optional deep copy] transfer semantics. Calling methods of
|
||||
picked Vector is logic error with exception of&]
|
||||
[s0;C+75 void [* operator`=](pick`_ Vector`& [*@3 v])&]
|
||||
[s0;/+75 [/C void ][*/C operator<<`=][/C (const Vector`& ][*/C@3 v][/C )][/
|
||||
](defined using DeepCopyOptionTemplate)&]
|
||||
[s0;C+75 void [* Clear]()&]
|
||||
[s0;C+75 bool [* IsPicked]() const&]
|
||||
[s0; Optional deep copy is implemented through DeepCopyOptionTemplate
|
||||
macro.&]
|
||||
[s0; Members&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00 T`&_][%00-00@0 Add][%00-00 ()]&]
|
||||
[s2; Adds new default constructed element to Vector.&]
|
||||
[s7; Requires T to have default constructor.&]
|
||||
[s7; Invalidates iterators and references to Vector.&]
|
||||
[s4; [*/ Return value]-|Reference to newly added default constructed
|
||||
element.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Add][%00-00 (][%00-00@(0.0.255) const][%00-00 _T
|
||||
`&_][%00-00@3 x][%00-00 )]&]
|
||||
[s2; Adds new element with specified value to Vector.&]
|
||||
[s7; Requires T to have deep copy constructor.&]
|
||||
[s7; Invalidates iterators and references to Vector.&]
|
||||
[s4; [*C@3 x]-|The value that is copied to newly created element.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 AddPick][%00-00 (pick`__T`&_][%00-00@3 x][%00-00 )
|
||||
]&]
|
||||
[s2; Adds new element to Vector and picks value of parameter to it.
|
||||
&]
|
||||
[s7; Requires T to have pick constructor.&]
|
||||
[s7; Invalidates iterators and references to Vector.&]
|
||||
[s4; [*C@3 x]-|Source instance of T that is to be picked.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 AddN][%00-00 (][%00-00@(0.0.255) int][%00-00 _][%00-00@3 n
|
||||
][%00-00 )]&]
|
||||
[s2; Adds specified number of default constructed elements to Vector.&]
|
||||
[s7; Requires T to have default constructor.&]
|
||||
[s7; Invalidates iterators and references to Vector.&]
|
||||
[s4; [*C@3 n]-|Number of elements to add&]
|
||||
[s0;3 &]
|
||||
[s5;K@(0.0.255) [%00-00 const][%00-00@(64) _T`&_][%00-00@0 operator`[`]][%00-00@(64) (][%00-00 i
|
||||
nt][%00-00@(64) _][%00-00@3 i][%00-00@(64) )_][%00-00 const]&]
|
||||
[s2; Returns a reference to the element at specified position.&]
|
||||
[s4; [*C@3 i]-|Position of element.&]
|
||||
[s4; [*/ Return value]-|Constant reference to the element.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00 T`&_][%00-00@0 operator`[`]][%00-00 (][%00-00@(0.0.255) int][%00-00 _][%00-00@3 i][%00-00 )
|
||||
]&]
|
||||
[s2; Returns a reference to the element at specified position.&]
|
||||
[s4; [*C@3 i]-|Position of element.&]
|
||||
[s4; [*/ Return value]-|Reference to the element.&]
|
||||
[s0;3 &]
|
||||
[s5;K@(0.0.255) [%00-00 int][%00-00@(64) _][%00-00@0 GetCount][%00-00@(64) ()_][%00-00 const]&]
|
||||
[s2; Return the number of elements in Vector.&]
|
||||
[s4; [*/ Return value]-|Actual number of elements.&]
|
||||
[s0;3 &]
|
||||
[s5;K@(0.0.255) [%00-00 bool][%00-00@(64) _][%00-00@0 IsEmpty][%00-00@(64) ()_][%00-00 const]&]
|
||||
[s2; Tests whether Vector is empty. Same as GetCount() `=`= 0.&]
|
||||
[s4; [*/ Return value]-|true if Vector is empty, false otherwise.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Trim][%00-00 (][%00-00@(0.0.255) int][%00-00 _][%00-00@3 n
|
||||
][%00-00 )]&]
|
||||
[s2; Reduces number of elements in Vector to specified number. Required
|
||||
number must be less than or equal to actual number of elements
|
||||
in Vector.&]
|
||||
[s7; Invalidates iterators to Vector.&]
|
||||
[s4; [*C@3 n]-|Required number of elements.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 SetCount][%00-00 (][%00-00@(0.0.255) int][%00-00 _
|
||||
][%00-00@3 n][%00-00 )]&]
|
||||
[s2; Changes count of elements in Vector to specified value. If required
|
||||
number of elements is greater than actual number, newly added
|
||||
elements are default constructed. If Vector has to increase capacity,
|
||||
the new capacity will exactly match required number of elements
|
||||
(unlike [* SetCountR]).&]
|
||||
[s7; Requires T to have default constructor.&]
|
||||
[s7; Invalidates iterators and references to Vector.&]
|
||||
[s4; [*C@3 n]-|Required number of elements.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 SetCount][%00-00 (][%00-00@(0.0.255) int][%00-00 _
|
||||
][%00-00@3 n][%00-00 , ][%00-00@(0.0.255) const][%00-00 _][%00-00@4 T][%00-00 `&_][%00-00@3 ini
|
||||
t][%00-00 )]&]
|
||||
[s2; Changes count of elements in Vector to specified value. If required
|
||||
number of elements is greater than actual number, newly added
|
||||
elements are initialized to specified value using copy constructor.
|
||||
If Vector has to increase capacity, the new capacity will exactly
|
||||
match required number of elements (unlike [* SetCountR]).&]
|
||||
[s7; Requires T to have deep copy constructor.&]
|
||||
[s7; Invalidates iterators and references to Vector.&]
|
||||
[s4; [*C@3 n]-|Required number of elements.&]
|
||||
[s4; [*C@3 init]-|Initialization value of newly added elements.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 SetCountR][%00-00 (][%00-00@(0.0.255) int][%00-00 _
|
||||
][%00-00@3 n][%00-00 )]&]
|
||||
[s2; Changes count of elements in Vector to specified value. If required
|
||||
number of elements is greater than actual number, newly added
|
||||
elements are default constructed. If Vector has to increase capacity,
|
||||
the new capacity will be greater than required number of elements
|
||||
(unlike [* SetCount]) to allow adding other elements without further
|
||||
increasing capacity.&]
|
||||
[s7; Requires T to have default constructor.&]
|
||||
[s7; Invalidates iterators and references to Vector.&]
|
||||
[s4; [*C@3 n]-|Required number of elements.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 SetCountR][%00-00 (][%00-00@(0.0.255) int][%00-00 _
|
||||
][%00-00@3 n][%00-00 , ][%00-00@(0.0.255) const][%00-00 _][%00-00@4 T][%00-00 `&_][%00-00@3 ini
|
||||
t][%00-00 )]&]
|
||||
[s2; Changes count of elements in Vector to specified value. If required
|
||||
number of elements is greater than actual number, newly added
|
||||
elements are initialized to specified value using copy constructor.
|
||||
If Vector has to increase capacity, the new capacity will be
|
||||
greater than required number of elements (unlike [* SetCount])
|
||||
to allow adding other elements without further increasing capacity.&]
|
||||
[s7; Requires T to have deep copy constructor.&]
|
||||
[s7; Invalidates iterators and references to Vector.&]
|
||||
[s4; [*C@3 n]-|Required number of elements.&]
|
||||
[s4; [*C@3 init]-|Initialization value of newly added elements.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Clear][%00-00 ()]&]
|
||||
[s2; Removes all elements from Vector. Capacity is also cleared to
|
||||
zero.&]
|
||||
[s7; Invalidates iterators and references to Vector.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00 T`&_][%00-00@0 At][%00-00 (][%00-00@(0.0.255) int][%00-00 _][%00-00@3 i][%00-00 )]&]
|
||||
[s2; If specified position is lower than number of elements in Vector
|
||||
([* i < GetCount()]), returns reference to element at specified
|
||||
position. Otherwise increases number of elements in Vector to
|
||||
[* i `+ 1]. Newly added elements are default constructed. If Vector
|
||||
has to increase capacity, the new capacity will be greater than
|
||||
required number of elements to allow adding other elements without
|
||||
further increasing capacity.&]
|
||||
[s7; Requires T to have default constructor.&]
|
||||
[s7; Invalidates iterators and references to Vector.&]
|
||||
[s4; [*C@3 i]-|Position of required element.&]
|
||||
[s4; [*/ Return value]-|Reference to required element.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00 T`&_][%00-00@0 At][%00-00 (][%00-00@(0.0.255) int][%00-00 _][%00-00@3 i][%00-00 ,
|
||||
][%00-00@(0.0.255) const][%00-00 _T`&_][%00-00@3 x][%00-00 )]&]
|
||||
[s2; If specified position is lower than number of elements in Vector
|
||||
([* i < GetCount()]), returns reference to element at specified
|
||||
position. Otherwise increases number of elements in Vector to
|
||||
[* i `+ 1]. Newly added elements are copy constructed from [* x].
|
||||
If Vector has to increase capacity, the new capacity will be
|
||||
greater than required number of elements to allow adding other
|
||||
elements without further increasing capacity.&]
|
||||
[s7; Requires T to have deep copy constructor.&]
|
||||
[s7; Invalidates iterators and references to Vector.&]
|
||||
[s4; [*C@3 i]-|Position of required element.&]
|
||||
[s4; [*C@3 x]-|Initialization value of newly added elements.&]
|
||||
[s4; [*/ Return value]-|Reference to required element.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Shrink][%00-00 ()]&]
|
||||
[s2; Minimizes memory consumption of Vector by decreasing capacity
|
||||
to number of elements.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Reserve][%00-00 (][%00-00@(0.0.255) int][%00-00 _
|
||||
][%00-00@3 n][%00-00 )]&]
|
||||
[s2; Reserves capacity. If required capacity is greater than current
|
||||
capacity, capacity is increased to the required value.&]
|
||||
[s4; [*C@3 xtra]-|Required capacity.&]
|
||||
[s0;3 &]
|
||||
[s5;K@(0.0.255) [%00-00 int][%00-00@(64) _][%00-00@0 GetAlloc][%00-00@(64) ()_][%00-00 const]&]
|
||||
[s2; Returns current capacity of Vector.&]
|
||||
[s4; [*/ Return value]-|Capacity of Vector.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Set][%00-00 (][%00-00@(0.0.255) int][%00-00 _][%00-00@3 i
|
||||
][%00-00 , ][%00-00@(0.0.255) const][%00-00 _][%00-00@4 T][%00-00 `&_][%00-00@3 x][%00-00 ,
|
||||
][%00-00@(0.0.255) int][%00-00 _][%00-00@3 count][%00-00 _`=_][%00-00@3 1][%00-00 )]&]
|
||||
[s2; Sets requested number of elements starting at the position [* i]
|
||||
to the specified value. If required number of elements exceeds
|
||||
existing elements of Vector then elements are added to Vector.&]
|
||||
[s7; Requires T to have deep copy constructor.&]
|
||||
[s7; Invalidates iterators and references to Vector.&]
|
||||
[s4; [*C@3 i]-|Starting position.&]
|
||||
[s4; [*C@3 x]-|Value.&]
|
||||
[s4; [*C@3 count]-|Number of elements.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Remove][%00-00 (][%00-00@(0.0.255) int][%00-00 _
|
||||
][%00-00@3 i][%00-00 , ][%00-00@(0.0.255) int][%00-00 _][%00-00@3 count][%00-00 _`=_][%00-00@3 1
|
||||
][%00-00 )]&]
|
||||
[s2; Removes requested number of elements.&]
|
||||
[s7; Invalidates iterators and references to Vector.&]
|
||||
[s4; [*C@3 i]-|Position.&]
|
||||
[s4; [*C@3 count]-|Number of elements to remove.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Remove][%00-00 (][%00-00@(0.0.255) const][%00-00 _
|
||||
][%00-00@(0.0.255) int][%00-00 _`*][%00-00@3 sorted`_list][%00-00 , ][%00-00@(0.0.255) int][%00-00 _
|
||||
][%00-00@3 n][%00-00 )]&]
|
||||
[s2; Removes number of elements from Vector. Time of operation almost
|
||||
does not depend on number of elements.&]
|
||||
[s7; Invalidates iterators and references to Vector.&]
|
||||
[s4; [*C@3 sorted`_list]-|Pointer to array of positions to remove. It
|
||||
must be sorted from lowest to greatest value.&]
|
||||
[s4; [*C@3 n]-|Number of elements to remove.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Remove][%00-00 (][%00-00@(0.0.255) const][%00-00 _
|
||||
][%00-00^`:`:Vector^ Vector][%00-00 <][%00-00^int^ int][%00-00 >`&_][%00-00@3 sorted`_list][%00-00 )
|
||||
]&]
|
||||
[s2; Removes number of elements form Vector. Same as [* Remove(sorted`_list,
|
||||
sorted`_list.GetCount())].&]
|
||||
[s7; Invalidates iterators and references to Vector.&]
|
||||
[s4; [*C@3 sorted`_list]-|Sorted Vector of positions to remove.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 InsertN][%00-00 (][%00-00@(0.0.255) int][%00-00 _
|
||||
][%00-00@3 i][%00-00 , ][%00-00@(0.0.255) int][%00-00 _][%00-00@3 count][%00-00 _`=_][%00-00@3 1
|
||||
][%00-00 )]&]
|
||||
[s2; Inserts a specified number of default constructed elements at
|
||||
a specified position.&]
|
||||
[s7; Requires T to have default constructor.&]
|
||||
[s7; Invalidates iterators and references to Vector.&]
|
||||
[s4; [*C@3 i]-|Position.&]
|
||||
[s4; [*C@3 count]-|Number of elements to insert.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00 T`&_][%00-00@0 Insert][%00-00 (][%00-00@(0.0.255) int][%00-00 _][%00-00@3 i][%00-00 )
|
||||
]&]
|
||||
[s2; Inserts one default constructed element at the specified position.&]
|
||||
[s4;*1 Requires T to have default constructor.&]
|
||||
[s7; Invalidates iterators and references to Vector.&]
|
||||
[s4; [*C@3 i]-|Position.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Insert][%00-00 (][%00-00@(0.0.255) int][%00-00 _
|
||||
][%00-00@3 i][%00-00 , ][%00-00@(0.0.255) const][%00-00 _][%00-00@4 T][%00-00 `&_][%00-00@3 x][%00-00 ,
|
||||
][%00-00@(0.0.255) int][%00-00 _][%00-00@3 count][%00-00 _`=_][%00-00@3 1][%00-00 )]&]
|
||||
[s2; Inserts a specified number of elements, setting them to a specified
|
||||
value.&]
|
||||
[s7;~~~.992; Requires T to have deep copy constructor.&]
|
||||
[s7; Invalidates iterators and references to Vector.&]
|
||||
[s4; [*C@3 i]-|Position.&]
|
||||
[s4; [*C@3 x]-|Value of inserted elements.&]
|
||||
[s4; [*C@3 count]-|Number of elements to insert.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Insert][%00-00 (][%00-00@(0.0.255) int][%00-00 _
|
||||
][%00-00@3 i][%00-00 , ][%00-00@(0.0.255) const][%00-00 _][%00-00^`:`:Vector^ Vector][%00-00 `&
|
||||
_][%00-00@3 x][%00-00 )]&]
|
||||
[s2; Inserts all elements from another Vector.&]
|
||||
[s7;~~~.992; Requires T to have deep copy constructor.&]
|
||||
[s7; Invalidates iterators and references to Vector.&]
|
||||
[s4; [*C@3 i]-|Position.&]
|
||||
[s4; [*C@3 x]-|Source Vector.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Insert][%00-00 (][%00-00@(0.0.255) int][%00-00 _
|
||||
][%00-00@3 i][%00-00 , ][%00-00@(0.0.255) const][%00-00 _][%00-00^`:`:Vector^ Vector][%00-00 `&
|
||||
_][%00-00@3 x][%00-00 , ][%00-00@(0.0.255) int][%00-00 _][%00-00@3 offset][%00-00 ,
|
||||
][%00-00@(0.0.255) int][%00-00 _][%00-00@3 count][%00-00 )]&]
|
||||
[s2; Inserts a range of elements from another Vector.&]
|
||||
[s7;~~~.992; Requires T to have deep copy constructor.&]
|
||||
[s7; Invalidates iterators and references to Vector.&]
|
||||
[s4; [*C@3 i]-|Insertion position.&]
|
||||
[s4; [*C@3 x]-|Source Vector.&]
|
||||
[s4; [*C@3 offset]-|Position of first element in source Vector to be
|
||||
inserted.&]
|
||||
[s4; [*C@3 count]-|Number of elements to insert.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 InsertPick][%00-00 (][%00-00@(0.0.255) int][%00-00 _
|
||||
][%00-00@3 i][%00-00 , pick`__][%00-00^`:`:Vector^ Vector][%00-00 `&_][%00-00@3 x][%00-00 )]&]
|
||||
[s2; Inserts source Vector at specified position using pick transfer
|
||||
semantics. It is faster than deep copy insert, does not use deep
|
||||
copy constructor for T, but destroys source Vector.&]
|
||||
[s7; Invalidates iterators and references to Vector.&]
|
||||
[s4; [*C@3 i]-|Insertion position.&]
|
||||
[s4; [*C@3 x]-|Source Vector.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Append][%00-00 (][%00-00@(0.0.255) const][%00-00 _
|
||||
][%00-00^`:`:Vector^ Vector][%00-00 `&_][%00-00@3 x][%00-00 )]&]
|
||||
[s2; Appends all elements of source Vector.&]
|
||||
[s7;~~~.992; Requires T to have deep copy constructor.&]
|
||||
[s7; Invalidates iterators and references to Vector.&]
|
||||
[s4; [*C@3 x]-|Source Vector.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Append][%00-00 (][%00-00@(0.0.255) const][%00-00 _
|
||||
][%00-00^`:`:Vector^ Vector][%00-00 `&_][%00-00@3 x][%00-00 , ][%00-00@(0.0.255) int][%00-00 _
|
||||
][%00-00@3 o][%00-00 , ][%00-00@(0.0.255) int][%00-00 _][%00-00@3 c][%00-00 )]&]
|
||||
[s2; Appends a range of elements from source Vector.&]
|
||||
[s7;~~~.992; Requires T to have deep copy constructor.&]
|
||||
[s7; Invalidates iterators and references to Vector.&]
|
||||
[s4; [*C@3 x]-|Source Vector.&]
|
||||
[s4; [*C@3 o]-|Position of first element in source Vector to be inserted.&]
|
||||
[s4; [*C@3 c]-|Number of elements to insert.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 AppendPick][%00-00 (pick`__][%00-00^`:`:Vector^ V
|
||||
ector][%00-00 `&_][%00-00@3 x][%00-00 )]&]
|
||||
[s2; Appends source Vector using pick transfer semantics. It is faster
|
||||
than deep copy insert, does not use deep copy constructor for
|
||||
T, but destroys source Vector by picking.&]
|
||||
[s7; Invalidates iterators and references to Vector.&]
|
||||
[s4; [*C@3 x]-|Source Vector.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Drop][%00-00 (][%00-00@(0.0.255) int][%00-00 _][%00-00@3 n
|
||||
][%00-00 _`=_][%00-00@3 1][%00-00 )]&]
|
||||
[s2; Drops specified number of last elements in the Vector (same
|
||||
as Trim(GetCount() `- n)).&]
|
||||
[s4; [*C@3 n]-|Number of elements.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00 T`&_][%00-00@0 Top][%00-00 ()]&]
|
||||
[s2; Returns reference to the last element in the Vector.&]
|
||||
[s4; [*/ Return value]-|Reference of last element in the Vector.&]
|
||||
[s0;3 &]
|
||||
[s5;K@(0.0.255) [%00-00 const][%00-00@(64) _T`&_][%00-00@0 Top][%00-00@(64) ()_][%00-00 const]&]
|
||||
[s2; Returns constant reference to the last element in the Vector.&]
|
||||
[s4; [*/ Return value]-|Reference of last element in the Vector.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00 T_][%00-00@0 Pop][%00-00 ()]&]
|
||||
[s2; Drops last element of Vector and returns its value.&]
|
||||
[s7; Requires T to have deep copy constructor.&]
|
||||
[s4; [*/ Return value]-|Value of dropped element.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00 operator_T`*()]&]
|
||||
[s2; Returns non`-constant pointer to elements.&]
|
||||
[s4; [*/ Return value]-|Pointer to elements.&]
|
||||
[s0;3 &]
|
||||
[s5;K@(0.0.255) [%00-00@(64) operator_][%00-00 const][%00-00@(64) _T`*()_][%00-00 const]&]
|
||||
[s2; Returns constant pointer to elements.&]
|
||||
[s4; [*/ Return value]-|Pointer to elements.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00^`:`:Vector^ Vector][%00-00 `&_][%00-00@0 operator<<][%00-00 (][%00-00@(0.0.255) c
|
||||
onst][%00-00 _T`&_][%00-00@3 x][%00-00 )]&]
|
||||
[s2; Operator replacement of [* void Add(const T`&x)]. By returning
|
||||
reference to to Vector allows adding more elements in single
|
||||
expression, thus e.g. allowing to construct temporary Vector
|
||||
as part of expression like Foo((Vector<int>() << 1 << 2 << 4)).&]
|
||||
[s7; Requires T to have deep copy constructor.&]
|
||||
[s7; Invalidates iterators and references to Vector.&]
|
||||
[s4; [*C@3 x]-|The value that is copied to newly created element.&]
|
||||
[s4; [*/ Return value]-|Reference to Vector (`*this).&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00^`:`:Vector^ Vector][%00-00 `&_][%00-00@0 operator`|][%00-00 (pick`__T`&_][%00-00@3 x
|
||||
][%00-00 )]&]
|
||||
[s2; Operator replacement of [* void AddPick(pick`_ T`&x)]. By returning
|
||||
reference to to Vector allows adding more elements in single
|
||||
expression, thus e.g. allowing to construct temporary Vector
|
||||
as part of expression.&]
|
||||
[s7; Requires T to have pick constructor.&]
|
||||
[s7; Invalidates iterators and references to Vector.&]
|
||||
[s4; [*C@3 x]-|Source instance of T that is to be picked.&]
|
||||
[s4; [*/ Return value]-|Reference to Vector (`*this).&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Serialize][%00-00 (][%00-00^`:`:Stream^ Stream
|
||||
][%00-00 `&_][%00-00@3 s][%00-00 )]&]
|
||||
[s2; Serializes content of Vector to/from Stream. Works only if NTL
|
||||
is used as part of UPP.&]
|
||||
[s7; Requires T to have serialization operator defined.&]
|
||||
[s4; [*C@3 s]-|Target/source stream.&]
|
||||
[s0;3 &]
|
||||
[s0;:`:`:Vector`:`:Vector`(`): [* Vector]()&]
|
||||
[s2; Default constructor. Constructs empty Vector.&]
|
||||
[s0;3 &]
|
||||
[s0;:`:`:Vector`:`:`~Vector`(`): `~[* Vector]()&]
|
||||
[s2; Destructor. Calls destructors of all elements in Vector.&]
|
||||
[s0;3 &]
|
||||
[s0;:`:`:Vector`:`:Vector`(pick`_`:`:Vector`&`): [* Vector](pick`_
|
||||
Vector`& [*@3 v])&]
|
||||
[s2; Pick constructor. Transfers source Vector in low constant time,
|
||||
but destroys it by picking.&]
|
||||
[s4; [*C@3 v]-|Source Vector.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 operator`=][%00-00 (pick`__][%00-00^`:`:Vector^ V
|
||||
ector][%00-00 `&_][%00-00@3 v][%00-00 )]&]
|
||||
[s2; Pick operator. Transfers source Vector in low constant time,
|
||||
but destroys it by picking.&]
|
||||
[s4; [*C@3 v]-|Source Vector.&]
|
||||
[s0;3 &]
|
||||
[s5;K@(0.0.255) [%00-00 bool][%00-00@(64) _][%00-00@0 IsPicked][%00-00@(64) ()_][%00-00 const]&]
|
||||
[s2; Returns [* true] if Vector is in picked state.&]
|
||||
[s4; [*/ Return value]-|[* true] if Vector is in picked state, [* false]
|
||||
otherwise.&]
|
||||
[s0;3 &]
|
||||
[s0;:`:`:Vector`:`:Vector`(const`:`:Vector`&`,int`): [* Vector](const
|
||||
[* Vector]`& [*@3 v], int)&]
|
||||
[s2; Optional deep copy constructor.&]
|
||||
[s7; Requires T to have deep copy constructor or optional deep copy
|
||||
constructor.&]
|
||||
[s4; [*C@3 v]-|Source Vector.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00 friend_T`&_][%00-00@0 operator<<`=][%00-00 (T`&_][%00-00@3 dest][%00-00 ,
|
||||
][%00-00@(0.0.255) const][%00-00 _T`&_][%00-00@3 src][%00-00 )]&]
|
||||
[s2; Optional deep copy operator. Defined using DeepCopyOptionTemplate.&]
|
||||
[s7; Requires T to have deep copy operator or optional deep copy
|
||||
operator.&]
|
||||
[s4; [*C@3 v]-|Source Vector.&]
|
||||
[s0;3 &]
|
||||
[s5;K@0 [%00-00@(64) typedef_T_][%00-00 ValueType]&]
|
||||
[s2; Typedef of T for use in templated algorithms.&]
|
||||
[s0;3 &]
|
||||
[s5;K@0 [%00-00@(64) typedef_T_`*][%00-00 Iterator]&]
|
||||
[s2; Iterator type. Iterator is guaranteed to be of T`* type.&]
|
||||
[s0;3 &]
|
||||
[s5;K@0 [%00-00@(64) typedef_][%00-00@(0.0.255) const][%00-00@(64) _T_`*][%00-00 ConstIterato
|
||||
r]&]
|
||||
[s2; Constant iterator type. Iterator is guaranteed to be of const
|
||||
T`* type.&]
|
||||
[s0;3 &]
|
||||
[s5;K@(0.0.255) [%00-00^`:`:Vector`:`:ConstIterator^@(64) ConstIterator][%00-00@(64) _][%00-00@0 B
|
||||
egin][%00-00@(64) ()_][%00-00 const]&]
|
||||
[s2; Returns constant iterator to the first element in Vector.&]
|
||||
[s4; [*/ Return value]-|Iterator.&]
|
||||
[s0;3 &]
|
||||
[s5;K@(0.0.255) [%00-00^`:`:Vector`:`:ConstIterator^@(64) ConstIterator][%00-00@(64) _][%00-00@0 E
|
||||
nd][%00-00@(64) ()_][%00-00 const]&]
|
||||
[s2; Returns constant iterator to the position just beyond the last
|
||||
element in Vector.&]
|
||||
[s4; [*/ Return value]-|Iterator.&]
|
||||
[s0;3 &]
|
||||
[s5;K@(0.0.255) [%00-00^`:`:Vector`:`:ConstIterator^@(64) ConstIterator][%00-00@(64) _][%00-00@0 G
|
||||
etIter][%00-00@(64) (][%00-00 int][%00-00@(64) _][%00-00@3 i][%00-00@(64) )_][%00-00 const]&]
|
||||
[s2; Returns constant iterator to the element at specified position.
|
||||
Same as [* Begin() `+ i]. Benefit of this methods is that in debug
|
||||
mode [* pos] is range checked.&]
|
||||
[s4; [*C@3 i]-|Required position.&]
|
||||
[s4; [*/ Return value]-|Iterator.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00^`:`:Vector`:`:Iterator^ Iterator][%00-00 _][%00-00@0 Begin][%00-00 ()]&]
|
||||
[s2; Returns non`-constant iterator to the first element in Vector.&]
|
||||
[s4; [*/ Return value]-|Iterator.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00^`:`:Vector`:`:Iterator^ Iterator][%00-00 _][%00-00@0 End][%00-00 ()]&]
|
||||
[s2; Returns non`-constant iterator to the position just beyond the
|
||||
last element in Vector.&]
|
||||
[s4; [*/ Return value]-|Iterator.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00^`:`:Vector`:`:Iterator^ Iterator][%00-00 _][%00-00@0 GetIter][%00-00 (][%00-00@(0.0.255) i
|
||||
nt][%00-00 _][%00-00@3 i][%00-00 )]&]
|
||||
[s2; Returns non`-constant iterator to the element at specified position.
|
||||
Same as [* Begin() `+ pos]. Benefit of this methods is that in
|
||||
debug mode [* pos] is range checked.&]
|
||||
[s4; [*C@3 i]-|Required position.&]
|
||||
[s4; [*/ Return value]-|Iterator.&]
|
||||
[s0;3 &]
|
||||
[s5;K [%00-00 friend_][%00-00@(0.0.255) void][%00-00 _][%00-00@0 Swap][%00-00 (][%00-00^`:`:Vector^ V
|
||||
ector][%00-00 `&_][%00-00@3 a][%00-00 , ][%00-00^`:`:Vector^ Vector][%00-00 `&_][%00-00@3 b][%00-00 )
|
||||
]&]
|
||||
[s2; Specialization of generic [* Swap] for Vector. Swaps Vector in
|
||||
simple constant time operation.&]
|
||||
[s4; [*C@3 a]-|First Vector to swap.&]
|
||||
[s4; [*C@3 b]-|Second Vector to swap.]
|
||||
Loading…
Add table
Add a link
Reference in a new issue