git-svn-id: svn://ultimatepp.org/upp/trunk@406 f0d560ea-af0d-0410-9eb7-867de7ffcac7

This commit is contained in:
cxl 2008-09-08 08:05:21 +00:00
parent d4e515f75e
commit ac7787c74c
6 changed files with 2254 additions and 424 deletions

View file

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

View file

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

View file

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

View file

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

View file

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