diff --git a/uppsrc/Core/src.tpp/DateFmt$en-us.tpp b/uppsrc/Core/src.tpp/DateFmt$en-us.tpp index abd41586f..36d821781 100644 --- a/uppsrc/Core/src.tpp/DateFmt$en-us.tpp +++ b/uppsrc/Core/src.tpp/DateFmt$en-us.tpp @@ -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; ] \ No newline at end of file diff --git a/uppsrc/Core/src.tpp/NetNode$en-us.tpp b/uppsrc/Core/src.tpp/NetNode$en-us.tpp index 654b5f905..2632bfc58 100644 --- a/uppsrc/Core/src.tpp/NetNode$en-us.tpp +++ b/uppsrc/Core/src.tpp/NetNode$en-us.tpp @@ -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; ] \ No newline at end of file diff --git a/uppsrc/Core/src.tpp/Segtor$en-us.tpp b/uppsrc/Core/src.tpp/Segtor$en-us.tpp index ead40804b..f67f096a9 100644 --- a/uppsrc/Core/src.tpp/Segtor$en-us.tpp +++ b/uppsrc/Core/src.tpp/Segtor$en-us.tpp @@ -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 &] +[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() << 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.] \ No newline at end of file diff --git a/uppsrc/Core/src.tpp/SerializationUtils$en-us.tpp b/uppsrc/Core/src.tpp/SerializationUtils$en-us.tpp index 61b2e3b1e..46c8b7685 100644 --- a/uppsrc/Core/src.tpp/SerializationUtils$en-us.tpp +++ b/uppsrc/Core/src.tpp/SerializationUtils$en-us.tpp @@ -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, \ No newline at end of file +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 _][%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`&`)^ 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 _][%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`&`)^ 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`&`)^ 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``,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``,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`&`)^ 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; ] \ No newline at end of file diff --git a/uppsrc/Core/src.tpp/Stream$en-us.tpp b/uppsrc/Core/src.tpp/Stream$en-us.tpp index 73c34c946..062f5a400 100644 --- a/uppsrc/Core/src.tpp/Stream$en-us.tpp +++ b/uppsrc/Core/src.tpp/Stream$en-us.tpp @@ -1,32 +1,1208 @@ -TITLE("Streams") -COMPRESSED -120,156,237,93,11,119,219,54,178,254,43,184,219,110,87,118,45,89,79,219,177,187,247,198,117,156,174,79,157,56,199,78,55,123,110,174,109,210,20,100,113,67,145,42,73,217,201,54,237,111,191,51,3,144,4,72,144,122,250,145,212,187,167,142,36,18,192,204,55,15,12,6,175,247,109,246,237,183,205,141,230,55,205,41,255,219,125,193,7,246,196,139,207,223,187,221,238,206,158,221,238,237,125,248,249,228,217,222,250,243,218,86,119,13,107,105,65,45,157,237,86,103,167,215,105,117,219,91,240,167,213,105,181,123,237,78,183,181,211,126,214,221,233,116,118,154,187,142,103,71,209,249,123,175,189,179,179,135,133,218,80,168,189,221,107,183,182,187,59,221,157,86,103,123,167,13,101,219,205,102,187,185,221,238,181,186,157,157,118,111,183,207,35,231,252,189,189,211,217,91,63,221,130,66,29,108,9,42,111,182,182,218,221,237,110,187,217,105,182,187,208,84,107,103,167,219,218,238,237,116,158,109,109,237,58,246,56,118,3,95,182,229,182,90,237,214,222,85,107,123,15,104,254,227,143,63, -26,173,110,83,80,208,133,202,90,205,46,144,218,130,223,154,221,246,118,171,247,172,249,172,183,211,218,105,118,160,242,222,118,179,183,59,182,67,123,84,206,122,111,42,235,219,205,93,55,230,80,197,250,247,173,214,54,20,217,218,216,250,166,213,221,6,70,119,58,221,222,206,118,19,26,111,183,219,157,78,187,213,105,63,123,214,238,109,245,182,119,135,220,238,243,80,178,96,3,241,235,45,40,186,189,177,253,13,20,108,118,123,157,118,247,25,130,213,129,150,218,237,173,222,179,86,175,219,236,109,65,77,187,33,255,117,226,134,124,196,125,16,217,111,151,191,255,245,240,117,253,151,51,246,62,234,236,177,179,56,228,246,40,250,238,252,61,251,237,183,103,207,58,187,250,127,61,248,111,107,247,217,206,246,46,32,220,193,63,91,240,167,221,26,52,247,174,59,157,189,159,94,123,173,237,205,118,47,132,191,221,24,254,52,175,240,207,243,237,122,27,170,111,238,93,196,193,216,117,172,93,107,211,218,60,8,66,110,109,70,161,99,109,138,70,173,111,185,111,213,39,145,245,13,188,176, -43,127,131,79,164,23,146,176,139,150,252,112,190,187,235,53,177,37,252,19,55,55,91,189,43,252,243,188,93,111,81,75,12,94,72,63,132,64,12,144,178,217,164,95,90,233,179,165,63,173,146,91,215,191,54,240,156,254,42,56,79,191,62,36,255,43,227,250,21,31,229,89,78,127,2,126,211,207,95,153,176,129,175,83,176,94,3,235,217,207,130,253,236,251,253,67,176,50,118,127,156,12,6,60,204,115,171,254,10,204,170,95,191,50,113,255,232,5,206,135,2,251,217,143,200,125,246,237,43,99,254,165,235,241,60,239,217,111,192,122,246,229,43,228,252,200,215,185,62,242,37,199,71,254,87,225,192,145,149,147,73,172,51,9,63,72,46,225,211,87,195,230,254,120,204,253,190,206,169,248,77,50,43,190,220,23,191,171,139,60,220,255,20,12,52,251,13,163,142,244,203,87,33,203,131,96,4,17,123,129,101,237,103,224,90,251,126,63,140,255,254,59,68,221,88,137,248,167,67,255,246,246,126,126,14,53,253,181,217,172,55,155,207,107,205,70,179,209,238,245,214,152,28,44,37,191, -195,96,131,93,38,95,147,16,25,203,183,69,117,237,36,178,103,110,196,226,33,103,87,118,196,69,37,44,24,48,219,243,216,47,214,247,214,247,44,18,241,127,67,22,210,126,100,215,220,231,33,188,251,137,69,60,188,225,204,245,89,124,27,176,190,139,125,55,140,38,88,24,120,60,218,21,101,221,86,175,185,119,2,236,236,71,216,154,235,176,208,190,101,87,174,111,135,159,146,26,55,216,237,208,117,134,80,145,227,77,96,40,199,98,254,49,134,111,227,73,204,108,191,207,130,73,12,31,27,134,10,101,53,60,116,109,207,253,143,141,195,57,22,219,225,53,143,55,163,96,18,58,188,193,222,14,129,215,145,237,250,64,175,207,121,31,106,15,160,97,80,15,54,240,236,107,104,166,239,58,80,210,191,206,213,211,135,193,145,131,159,18,20,142,124,22,132,48,218,194,10,108,103,232,114,224,61,128,33,228,200,246,216,152,135,131,32,28,217,190,195,17,201,43,138,99,120,95,114,8,175,1,98,88,23,240,138,184,143,130,40,102,3,28,129,33,94,217,83,54,180,161,82,155,121,110, -28,123,32,30,55,134,87,129,82,7,244,208,67,50,161,74,23,62,210,168,77,178,59,180,99,214,231,208,52,176,54,14,177,46,248,58,112,125,151,30,3,49,55,110,24,79,128,198,17,143,135,65,31,40,176,73,248,159,216,104,2,84,56,65,136,124,2,58,118,255,223,248,67,20,140,56,86,20,195,175,208,92,223,142,109,40,58,186,226,33,41,137,80,32,196,21,24,28,32,113,200,80,142,40,120,143,170,17,77,50,199,246,217,21,114,225,71,110,159,112,177,25,216,85,140,239,185,126,12,216,217,128,91,70,245,174,102,2,235,7,207,123,236,38,112,251,140,37,246,186,251,102,18,215,160,36,115,214,148,119,172,223,148,47,245,207,238,160,54,142,67,246,3,187,13,61,119,180,166,61,171,127,182,214,225,33,233,181,245,119,230,236,105,79,185,23,241,252,235,151,216,164,179,166,190,104,253,174,124,81,62,34,97,25,169,111,121,56,170,85,144,25,242,120,18,250,76,144,26,246,129,84,246,63,140,168,99,187,204,186,20,197,231,111,246,39,30,47,214,42,97,130,45,83,13,51, -54,188,213,213,90,126,19,68,181,53,146,119,60,149,132,254,45,88,21,73,202,170,75,195,89,99,64,194,56,136,76,141,107,126,17,190,38,222,238,77,170,177,137,178,130,114,166,238,78,83,207,115,165,38,205,179,94,96,79,64,220,92,8,103,74,159,203,252,43,16,120,94,70,68,35,113,187,128,68,106,136,130,57,242,151,96,50,194,53,52,74,221,60,17,115,245,41,230,146,22,252,152,35,197,90,79,137,17,117,39,244,100,116,164,100,144,157,161,235,186,226,215,174,239,163,191,75,73,90,21,17,32,196,89,40,112,38,33,245,19,228,225,55,133,119,167,154,87,69,7,233,115,41,37,56,156,6,15,59,114,227,6,123,191,206,64,93,207,19,71,37,84,50,98,55,182,55,129,126,104,16,6,163,68,106,224,52,189,0,64,131,127,161,144,98,55,231,171,162,154,220,84,41,213,239,66,55,230,10,217,224,142,22,37,91,52,148,39,59,85,226,164,191,56,47,198,27,232,133,83,122,83,75,0,134,201,61,166,79,106,134,162,174,31,27,74,118,216,109,250,235,90,98,51,7,16, -92,128,29,95,125,202,243,9,150,227,96,196,66,125,158,162,55,216,193,248,65,140,125,12,245,236,248,38,106,186,128,160,38,25,255,111,112,244,130,245,181,6,59,74,122,50,118,107,251,49,5,5,19,168,89,20,1,227,192,126,26,3,7,209,112,52,12,38,94,63,233,33,161,62,105,110,27,18,212,115,138,83,224,179,2,109,55,117,11,224,191,144,207,250,231,31,145,214,36,252,88,4,127,51,136,77,217,77,100,248,155,161,164,119,140,88,138,88,139,160,4,166,17,74,120,108,128,79,40,252,221,193,167,24,20,194,183,190,9,198,74,157,4,105,54,32,248,79,252,151,1,197,137,15,25,39,254,85,247,170,236,160,240,92,240,101,247,111,48,72,235,175,22,125,244,33,83,192,87,221,204,151,140,125,136,222,147,60,76,121,39,118,199,174,132,226,10,67,217,178,202,51,31,11,118,136,241,108,250,104,35,165,140,92,53,133,34,23,34,34,49,58,171,8,70,193,69,127,245,194,149,17,180,83,226,184,26,194,123,71,16,246,94,97,142,143,122,94,49,118,65,114,76,238,130,200, -172,127,86,122,205,178,55,137,166,250,103,28,160,207,44,135,89,184,45,232,245,35,197,89,49,172,6,43,71,178,28,185,114,141,87,134,206,208,37,159,194,192,85,232,251,42,213,253,140,243,15,69,140,149,72,84,15,66,53,152,48,2,45,160,132,21,146,83,184,118,111,184,159,58,64,147,234,96,121,212,49,229,13,53,142,201,168,215,98,22,163,50,205,26,53,3,199,32,176,51,69,190,226,133,218,90,22,88,11,251,46,23,11,150,166,33,230,234,157,207,153,78,219,188,2,49,235,237,190,23,227,120,132,252,165,36,61,231,59,205,138,249,154,223,210,199,149,114,248,210,155,68,67,67,103,117,148,224,201,134,16,43,218,254,39,49,50,247,161,122,209,99,68,172,230,185,31,184,146,170,95,219,128,120,135,252,26,176,35,122,32,226,51,96,39,103,43,165,249,192,11,34,110,160,153,126,143,202,70,82,157,106,181,85,26,190,10,2,175,92,95,143,162,147,49,247,75,213,181,172,99,74,2,252,191,103,138,221,172,80,234,56,132,206,213,77,133,0,29,120,0,173,78,183,201,169, -196,31,134,97,16,46,110,108,9,93,28,171,129,136,35,98,220,119,130,9,234,6,102,135,38,33,101,206,242,105,46,208,91,74,133,1,11,248,220,133,112,61,100,158,13,17,200,129,199,237,144,104,34,55,142,131,126,81,181,19,244,101,4,228,91,245,255,240,48,88,1,239,39,63,47,206,248,127,73,232,106,107,101,186,60,163,67,209,4,48,215,216,200,81,250,214,191,171,15,154,38,183,31,39,150,160,0,106,242,46,14,48,119,168,191,177,56,115,199,32,211,28,131,21,36,129,107,32,37,56,57,179,234,209,152,59,238,192,117,228,163,90,112,21,219,174,15,58,197,27,215,13,236,219,127,82,106,23,186,2,129,241,59,215,239,180,81,153,224,51,20,244,3,252,128,61,216,199,53,153,235,149,204,139,148,35,249,176,49,140,143,69,184,240,147,148,198,43,30,69,246,53,103,131,137,239,204,214,245,169,50,50,118,105,75,154,89,50,94,33,234,173,58,73,134,253,47,88,65,146,160,230,104,25,226,241,50,34,203,204,207,232,79,225,97,148,87,159,74,92,22,232,252,223,4,209, -242,56,149,140,251,86,224,46,131,193,226,212,81,82,156,217,240,31,200,138,50,247,87,114,200,127,85,50,114,130,22,153,237,69,1,19,126,86,14,12,131,129,89,210,43,193,255,152,15,226,197,89,196,28,70,4,236,196,183,28,162,203,194,48,28,7,147,200,30,199,121,155,180,55,67,39,255,235,196,133,58,240,101,128,67,198,128,181,53,124,148,36,140,151,115,69,252,195,161,223,47,186,217,217,2,183,144,123,243,250,218,234,12,4,214,8,93,225,13,9,191,0,72,131,157,217,35,142,73,57,164,187,166,160,241,61,22,92,51,185,109,36,49,11,214,17,55,57,180,7,213,242,56,206,224,133,8,50,68,56,208,162,169,255,156,23,78,48,181,85,192,185,20,106,249,215,139,192,137,169,134,169,184,157,38,21,7,131,65,196,227,101,176,89,52,211,233,20,33,129,170,40,84,186,246,164,167,160,188,37,50,46,179,155,229,99,4,71,218,226,12,156,148,229,173,74,114,134,111,104,0,73,228,144,183,18,9,42,41,160,44,135,134,113,93,81,60,71,52,182,49,56,193,8,37,173, -85,133,250,74,61,77,224,80,61,253,13,230,243,107,33,37,242,54,24,13,138,212,182,204,215,149,123,164,25,82,130,139,227,100,206,238,225,52,130,46,188,2,90,27,143,18,170,172,31,82,219,184,75,139,120,108,9,187,98,54,78,89,148,64,19,222,179,90,225,220,105,186,215,19,156,156,164,4,32,73,26,74,208,24,186,12,254,217,50,117,143,43,79,39,44,163,2,221,52,8,42,40,224,84,120,101,98,28,62,133,220,225,212,83,64,61,243,131,142,70,80,97,40,249,18,182,131,185,3,239,147,48,158,154,23,220,226,83,165,195,69,42,104,61,71,132,67,141,247,235,73,227,133,160,102,87,95,214,14,146,179,106,41,214,214,218,174,38,120,177,214,251,66,174,249,158,93,244,15,32,61,92,16,194,252,28,108,132,150,92,107,4,161,223,117,60,148,75,72,128,155,134,62,11,63,143,191,57,14,236,254,219,97,24,220,170,160,152,199,157,105,135,58,194,244,2,77,184,196,88,50,162,74,160,188,24,94,242,143,14,167,221,32,236,118,8,97,45,62,19,15,92,116,198,55,193, -7,112,171,114,41,145,76,83,196,159,198,48,44,243,104,149,129,190,112,104,66,67,203,169,249,201,89,25,45,27,172,189,17,75,142,162,52,197,80,59,60,61,61,57,181,46,143,79,246,95,28,189,254,201,186,124,185,127,116,124,248,66,155,49,130,208,39,209,86,21,68,193,85,13,70,200,234,175,16,87,137,188,250,218,70,25,90,36,91,120,187,48,130,54,112,169,142,188,242,42,188,239,121,95,164,3,75,71,113,73,95,46,167,240,184,31,76,174,135,226,101,45,12,217,48,234,22,171,201,169,64,70,94,104,228,94,15,165,158,194,128,42,131,219,24,223,62,152,143,76,50,131,114,35,81,191,96,253,152,44,76,235,88,56,244,218,41,141,189,236,98,244,245,0,50,193,145,24,77,184,74,63,151,172,131,116,36,73,180,140,42,153,160,154,18,154,81,129,44,230,179,234,173,229,176,107,109,149,130,215,218,178,234,184,190,80,132,143,57,240,144,235,49,12,152,208,193,176,52,81,71,43,28,99,86,227,46,226,42,23,41,90,117,24,217,186,54,174,141,4,19,185,78,190,174,221, -191,77,20,49,213,120,92,14,201,78,187,20,201,78,251,235,71,82,227,177,50,86,157,146,27,32,48,149,39,121,48,183,186,95,63,152,26,143,203,26,184,103,154,24,155,209,196,41,44,211,225,26,81,226,249,225,49,90,169,233,86,96,52,213,120,31,49,70,171,54,202,10,152,166,154,229,35,134,105,165,230,118,181,164,185,41,190,232,209,0,180,82,91,171,0,104,38,91,123,140,0,173,218,208,190,70,140,102,178,178,57,146,26,199,174,95,142,146,140,251,61,120,167,24,247,99,73,228,173,207,105,181,180,152,249,181,254,102,253,159,111,253,141,57,67,59,180,157,88,100,111,148,121,153,129,11,245,213,146,60,43,132,9,88,32,84,11,68,148,167,117,175,125,92,96,92,1,196,177,137,168,165,140,234,151,120,80,62,8,146,80,76,226,129,85,223,161,181,25,125,224,216,168,62,21,68,255,34,138,207,234,1,170,50,193,234,152,35,29,140,139,113,120,233,48,252,215,210,28,173,238,84,87,16,255,25,70,192,191,166,139,91,167,101,99,103,132,64,29,44,204,49,65,84,142,130, -238,21,190,16,20,212,40,127,190,233,195,114,32,244,56,228,11,1,66,15,210,239,192,38,76,129,215,253,232,185,137,177,213,106,250,67,241,166,135,195,119,166,191,15,197,158,30,201,222,129,78,22,98,148,251,81,72,19,87,171,85,200,7,97,76,143,25,239,76,27,31,132,55,61,188,153,67,104,101,11,42,236,92,80,116,147,80,91,189,234,218,73,24,83,103,166,30,108,70,28,227,206,146,25,15,195,162,127,41,80,92,246,195,32,86,29,185,62,237,21,143,40,196,214,89,103,53,122,75,14,20,80,128,49,55,119,132,184,57,224,44,173,97,21,162,94,4,147,170,49,131,245,221,229,76,184,156,105,56,168,131,5,249,4,151,139,66,251,184,2,85,128,152,133,253,143,0,153,233,6,176,49,251,126,53,40,134,203,183,75,177,82,231,84,116,197,201,230,183,179,153,158,216,29,113,35,68,201,250,36,29,160,252,75,68,9,174,206,26,115,92,193,131,95,151,4,178,185,24,146,149,144,144,70,204,5,136,152,43,190,177,67,215,78,230,73,229,25,20,227,48,184,113,113,136,118, -197,29,27,247,237,225,185,2,205,13,65,1,24,1,254,6,46,108,4,174,120,226,198,159,112,169,91,19,139,171,135,39,68,236,245,47,199,199,108,156,78,249,5,141,198,156,240,46,233,220,222,45,108,201,183,104,89,16,98,204,228,223,86,168,214,118,50,66,208,164,69,100,68,172,150,132,47,89,122,64,236,165,94,203,73,188,114,196,49,255,80,163,204,143,148,200,241,56,93,66,17,169,75,40,22,95,52,100,16,227,195,8,41,157,208,93,72,70,115,76,19,149,73,161,114,250,92,80,80,37,153,215,57,106,103,90,90,36,25,211,214,22,45,191,142,226,79,40,211,135,92,126,17,153,247,150,38,138,81,174,7,203,57,224,131,240,120,144,9,58,239,236,14,78,173,250,241,75,54,182,221,48,23,247,46,233,247,15,21,213,43,180,90,148,143,245,23,153,94,197,76,173,245,151,60,45,71,49,10,65,37,54,72,118,248,164,117,225,242,42,17,145,192,59,129,220,235,147,62,158,178,186,78,108,72,11,66,235,7,248,127,237,240,4,28,232,100,100,88,100,135,167,125,37,231,101, -153,98,203,38,75,106,250,225,7,131,121,201,138,47,152,252,80,180,133,183,202,2,145,72,174,96,23,112,54,146,66,73,252,153,70,96,164,40,27,248,184,145,150,79,200,192,179,186,112,17,155,60,29,202,191,225,190,139,171,139,111,237,79,8,50,255,56,14,113,75,128,104,34,49,1,48,50,151,14,162,249,225,135,180,162,104,201,112,75,79,211,223,223,72,199,22,201,127,58,76,195,176,197,4,152,196,184,42,90,219,147,24,200,147,140,12,198,139,155,172,172,122,97,208,244,64,184,172,98,180,179,58,108,206,86,1,69,73,127,52,131,217,153,123,164,5,182,98,227,150,158,163,215,111,183,186,214,229,171,253,127,205,187,72,208,241,92,231,131,86,151,242,176,219,124,182,85,33,9,52,106,9,122,214,15,74,177,76,205,72,160,8,142,166,44,145,150,203,247,94,217,31,221,17,56,145,252,26,188,52,172,100,242,120,118,153,13,201,208,96,35,110,131,211,185,29,6,158,190,164,87,116,193,133,93,21,202,126,38,112,72,50,127,96,140,141,8,182,108,187,190,140,171,96,124,211, -167,85,179,78,48,254,164,172,3,126,73,125,57,79,142,251,83,117,174,137,107,122,213,37,182,209,100,60,14,194,120,119,9,197,196,189,171,98,77,171,161,67,163,21,196,90,240,33,185,246,68,145,44,57,182,120,235,103,224,125,231,108,61,18,69,102,109,189,52,80,60,138,74,88,159,117,107,58,38,174,231,67,162,130,150,18,32,230,160,101,78,92,42,164,34,148,140,159,218,183,37,94,139,78,243,210,14,242,90,229,114,228,146,72,58,165,43,162,149,200,59,34,102,166,5,189,236,21,5,171,34,144,85,131,219,138,136,24,119,97,7,202,210,94,197,102,205,251,89,178,35,51,113,76,91,24,30,97,101,242,164,200,217,198,72,169,107,194,146,155,149,167,97,173,64,108,166,57,141,251,22,89,50,206,249,114,101,38,207,150,187,47,161,149,99,127,223,162,75,38,128,158,68,55,135,232,38,50,62,155,228,2,180,251,22,94,50,195,245,231,16,222,252,195,217,191,86,142,81,180,78,91,15,204,251,149,208,99,65,145,253,190,242,248,202,113,167,121,58,81,55,161,157,180,91,145, -116,179,214,105,139,6,133,157,56,10,158,150,60,93,33,136,218,240,118,30,16,177,224,19,136,2,196,200,189,246,185,201,17,172,0,103,81,247,19,220,10,150,19,255,46,1,79,106,127,130,92,213,240,33,12,104,23,211,95,44,249,4,227,28,154,187,56,214,169,234,62,129,94,50,49,52,15,154,120,98,253,19,132,179,235,237,162,56,167,90,251,4,120,138,37,158,138,190,16,152,116,156,250,19,136,179,107,237,194,72,167,106,251,4,121,134,230,0,248,88,204,11,80,201,39,24,5,140,253,96,114,165,44,240,158,7,71,81,244,79,13,100,249,20,220,156,221,255,86,247,9,199,146,92,217,92,158,242,9,202,165,38,206,21,40,229,114,188,85,64,41,142,169,197,9,85,250,149,182,15,250,128,143,251,101,128,188,121,111,32,179,9,46,121,97,167,199,135,116,211,25,46,93,73,206,18,29,219,206,7,49,95,140,75,44,145,81,113,142,212,253,201,37,122,108,114,41,83,254,119,137,96,222,45,33,153,119,79,250,63,77,255,87,130,243,147,5,204,183,140,200,118,202,110,201,48, -206,20,233,162,112,171,227,57,44,41,151,197,8,49,72,172,233,114,71,120,69,44,87,73,22,25,68,35,60,138,92,76,203,52,216,63,197,244,76,179,1,12,116,9,72,121,3,149,29,101,56,69,244,45,219,87,177,193,2,218,155,42,231,118,64,218,184,48,199,245,89,79,76,141,223,159,104,221,74,209,222,149,25,205,148,210,168,22,154,200,100,44,36,178,199,129,237,227,112,104,171,203,64,85,139,43,151,129,250,51,203,109,22,119,247,202,190,118,157,121,252,157,42,137,145,86,184,244,52,243,143,219,253,173,237,110,127,251,202,36,47,235,47,84,139,224,79,44,220,230,126,52,9,213,53,105,252,58,116,227,79,13,246,14,79,204,148,203,193,228,221,99,233,153,196,114,186,27,251,49,103,200,169,35,179,234,108,228,130,100,99,103,40,61,159,60,239,24,228,138,66,79,37,107,146,141,224,13,151,59,166,212,173,190,91,153,109,6,220,180,116,97,182,146,87,11,151,156,178,225,111,166,249,250,121,75,242,133,75,14,22,46,121,189,112,201,236,106,35,147,90,219,116,0,42,174, -64,131,26,184,237,39,61,112,18,115,37,55,71,42,125,245,147,122,125,205,234,245,164,36,127,26,37,121,18,245,23,38,234,39,129,61,136,192,158,96,95,2,246,39,240,238,4,130,230,94,110,99,167,252,84,163,189,156,235,201,240,183,182,38,155,62,192,205,117,225,196,129,113,100,163,120,29,128,220,252,146,59,182,159,142,192,199,129,10,157,246,224,241,27,142,27,39,251,220,143,109,113,95,203,62,140,69,199,201,181,236,105,230,78,28,11,40,207,213,111,178,77,58,154,161,154,120,235,15,149,124,235,15,3,3,47,120,74,191,94,149,249,95,80,17,45,29,32,101,113,113,161,46,215,243,236,40,205,73,94,92,40,91,14,47,112,77,55,229,35,245,52,2,190,180,171,190,150,85,54,158,92,121,217,32,83,173,45,97,69,144,183,206,18,101,80,234,199,129,97,178,5,14,247,93,211,137,23,50,33,138,137,50,224,26,111,80,24,241,190,59,17,123,222,210,75,120,47,226,96,236,58,192,234,166,181,121,16,132,220,218,140,66,199,218,148,120,126,203,125,171,62,137,172,111,116, -188,137,115,150,98,179,9,228,190,0,209,223,112,113,13,206,249,123,248,129,153,233,95,200,2,213,235,66,239,102,239,167,182,114,62,53,184,148,131,100,255,152,186,249,48,221,114,152,109,67,76,32,7,157,143,176,136,27,103,91,205,202,109,164,145,238,206,18,205,169,107,225,15,242,13,46,227,200,14,160,130,216,116,6,168,120,16,49,62,26,199,159,116,205,42,240,114,150,164,146,138,124,76,201,171,205,112,70,233,41,165,47,12,20,138,236,80,146,217,197,246,149,157,180,230,12,146,168,171,140,168,52,135,119,41,42,170,220,35,151,82,150,187,82,47,115,68,41,96,133,239,53,101,119,252,186,209,43,168,130,0,61,70,47,149,136,34,154,91,8,242,78,97,240,128,82,218,11,80,76,214,148,253,108,125,55,3,11,84,230,50,41,144,138,117,189,212,182,210,30,37,117,93,183,110,60,84,140,41,177,181,2,243,21,189,77,202,60,121,140,170,219,61,170,13,235,238,186,133,87,124,180,226,62,65,186,114,209,37,164,93,0,244,8,34,31,140,155,118,70,124,20,132,116,242,145, -27,71,9,176,143,161,31,144,234,152,130,162,127,169,161,39,179,214,173,13,16,187,166,130,5,16,25,189,170,108,134,42,232,221,6,234,142,166,150,230,155,106,20,181,124,175,54,132,247,225,101,186,41,1,21,187,145,102,219,202,164,108,63,86,5,96,222,124,126,150,159,48,154,166,144,41,161,11,234,36,30,45,179,10,189,204,0,211,85,19,235,183,234,1,158,215,37,65,48,105,231,178,154,169,233,145,80,78,21,152,41,250,169,211,94,84,209,12,163,226,15,194,255,177,10,133,45,34,156,56,205,63,185,234,46,174,183,63,226,109,82,119,230,77,149,218,153,59,26,123,124,4,140,71,234,149,236,62,231,56,23,3,8,141,108,31,3,108,1,82,36,60,48,142,98,146,25,175,144,139,57,51,58,57,66,189,7,75,76,159,197,96,7,126,63,24,137,51,33,112,104,164,54,46,15,184,139,164,204,112,104,151,144,35,186,62,236,195,38,206,80,59,5,40,35,152,102,252,220,16,143,196,146,151,38,69,242,206,56,58,190,137,122,221,236,254,49,120,2,202,115,20,81,7,74,125, -47,134,18,94,16,241,243,13,105,179,62,191,45,84,8,47,161,130,195,59,240,137,206,234,72,11,211,201,12,216,22,106,198,249,194,182,253,35,49,159,55,111,245,215,233,22,174,190,157,51,242,52,46,196,147,131,46,173,223,52,123,59,61,220,127,97,24,200,227,163,3,120,246,246,176,228,225,254,155,55,135,175,203,74,98,165,239,78,143,74,11,191,62,161,167,103,255,216,63,45,123,229,197,225,241,97,245,27,175,79,176,153,170,55,232,217,171,253,179,159,179,152,220,250,93,59,101,137,206,82,234,243,129,235,163,14,218,145,235,100,70,64,97,23,233,147,170,177,53,58,146,196,9,70,87,116,255,60,169,152,188,237,13,175,2,16,206,131,220,170,82,10,191,34,177,187,154,87,33,232,49,152,7,3,82,14,208,53,21,22,162,208,139,75,241,212,63,147,78,78,171,65,200,75,175,65,202,176,254,121,127,60,198,35,90,40,206,196,41,87,58,228,69,30,115,230,198,16,137,150,93,193,12,16,210,37,137,233,213,8,110,60,5,2,18,124,17,7,161,45,245,207,135,190,200,147, -68,147,171,8,15,204,244,227,212,243,12,38,96,237,182,227,224,89,85,233,113,69,21,173,169,74,166,55,168,169,95,253,243,11,55,42,109,52,57,18,199,120,254,142,169,85,69,111,245,70,85,133,174,228,19,247,134,115,143,199,124,182,6,21,51,200,115,153,217,199,84,38,201,139,79,191,131,34,117,142,90,26,98,234,233,145,228,63,11,73,142,217,206,102,82,54,48,24,243,140,21,183,61,142,227,208,80,118,225,203,30,21,79,250,38,73,237,53,18,119,114,84,232,183,196,226,6,173,51,65,235,233,75,31,46,156,188,188,150,157,224,55,244,157,89,108,163,26,32,38,187,140,39,2,216,177,122,235,123,213,155,8,205,148,131,44,167,220,1,121,154,158,103,27,201,51,155,180,2,197,76,195,153,242,90,229,241,149,5,37,155,37,1,36,58,230,59,210,177,71,117,39,53,168,97,166,126,139,106,159,252,69,170,95,105,236,118,103,250,87,140,196,167,233,219,89,94,203,86,165,57,122,16,183,160,6,221,149,156,52,47,97,247,255,61,137,68,119,155,216,92,41,192,5,43,197, -208,182,88,74,1,81,193,170,200,250,243,218,86,119,77,231,95,252,148,203,114,22,145,20,175,213,214,178,33,137,176,166,50,136,146,116,104,114,150,28,209,74,148,55,216,235,32,78,239,101,198,83,178,105,145,223,85,118,141,106,172,31,67,135,244,64,185,218,154,8,106,146,122,36,142,40,6,58,203,29,43,224,114,248,1,138,56,240,38,209,144,78,89,198,219,179,244,177,100,209,171,29,20,201,92,114,54,224,8,66,174,18,53,156,190,156,15,34,184,50,95,51,85,135,241,90,43,235,114,86,77,22,129,33,205,216,33,80,106,140,172,77,28,164,83,101,226,232,226,60,80,249,53,123,200,64,253,243,171,146,251,36,20,18,33,106,53,86,184,248,33,123,114,8,85,238,5,166,194,15,54,102,206,95,208,44,139,173,217,32,57,62,31,232,47,79,87,36,213,213,63,211,125,233,74,97,165,204,116,11,22,100,11,59,212,104,55,90,112,17,133,42,11,174,238,234,13,100,78,75,153,40,122,180,72,222,228,37,40,200,42,210,38,106,254,69,207,157,28,96,251,226,54,119,188,6, -78,137,151,23,26,250,235,193,188,28,249,107,24,76,27,248,231,40,205,37,247,50,64,114,223,100,90,15,143,85,193,180,94,170,40,90,114,175,8,103,146,217,195,114,185,204,30,226,225,219,35,213,1,81,141,90,190,65,243,80,169,125,160,223,139,84,64,233,164,70,221,135,212,236,72,14,213,169,135,84,248,54,78,134,164,212,72,235,193,131,148,169,191,229,244,168,194,249,32,49,197,89,191,133,241,220,192,170,172,203,248,62,129,221,96,178,81,237,21,219,201,90,203,47,245,222,234,118,139,94,63,29,238,208,57,218,201,73,221,141,21,73,77,76,127,37,199,127,191,57,57,59,250,87,50,190,15,177,103,55,30,162,191,42,177,230,35,87,128,6,123,148,124,235,51,75,63,159,22,55,9,184,144,235,142,251,214,229,16,80,240,76,61,174,142,185,132,124,63,194,189,17,17,227,31,221,136,230,138,9,125,81,7,246,187,89,179,198,160,80,105,176,254,249,165,82,20,32,12,16,31,194,80,169,133,197,246,7,76,130,221,250,60,132,168,104,156,134,172,162,220,124,24,77,5,168, -100,214,126,226,35,109,160,64,57,238,42,187,62,209,107,165,83,225,105,35,234,186,164,249,123,182,183,133,35,101,145,180,25,59,98,36,255,173,59,226,178,47,78,190,86,118,199,197,23,204,228,42,145,51,244,33,177,85,151,105,43,87,216,71,164,235,132,129,49,120,113,201,248,73,37,117,238,165,44,41,54,5,88,114,203,89,98,195,137,249,15,212,125,180,231,232,62,230,60,233,120,209,101,65,179,29,149,111,232,80,86,51,206,144,189,206,69,210,253,152,179,45,79,221,80,170,30,237,249,186,33,179,111,249,199,254,235,23,199,135,210,171,136,47,149,62,229,31,90,151,51,101,128,46,174,216,208,250,33,179,7,81,186,147,135,166,217,208,119,206,71,243,180,81,74,214,17,45,58,72,57,242,213,199,243,15,80,148,238,83,31,159,156,209,252,40,27,114,15,186,62,153,63,162,148,73,200,113,249,44,205,155,42,253,59,24,67,168,77,64,45,50,138,209,187,124,209,166,6,209,148,49,76,142,25,67,64,113,228,43,159,244,80,59,31,84,28,41,142,179,60,164,246,115,110,70, -247,35,184,55,19,97,81,151,225,169,214,239,39,186,131,134,95,22,4,233,52,87,210,105,90,232,32,98,159,242,144,231,17,117,39,171,6,179,58,246,162,64,245,22,23,255,78,200,81,14,38,222,61,27,239,73,118,81,201,131,91,239,173,62,251,251,56,205,23,0,83,63,86,27,240,137,122,13,204,50,22,140,208,44,101,193,121,178,171,73,45,172,173,86,140,217,15,0,239,226,40,102,134,149,227,15,111,211,119,27,223,45,43,182,199,238,43,196,218,138,71,227,46,108,125,169,71,114,151,221,192,118,98,185,238,67,243,41,98,129,75,225,94,31,125,209,71,126,80,148,132,237,155,186,211,96,37,236,24,12,79,128,150,251,86,237,53,116,156,23,119,28,58,70,139,251,14,51,11,83,201,254,170,35,129,133,176,173,184,219,231,22,79,147,56,89,210,196,23,55,111,156,230,184,187,21,239,56,122,177,61,121,195,149,182,7,42,177,215,126,192,197,49,38,242,14,9,241,38,78,144,111,48,90,143,76,55,68,136,249,185,56,136,161,178,252,141,95,234,141,92,143,112,229,162,216, -208,145,162,156,251,150,219,126,82,16,134,201,152,160,123,1,175,231,4,37,22,180,208,2,2,235,114,209,59,185,111,115,214,82,61,197,92,37,188,149,236,62,83,182,36,5,100,180,180,12,4,240,194,174,36,221,38,54,161,21,27,152,48,22,250,38,78,161,186,31,139,59,8,70,99,59,124,32,163,139,98,90,234,60,72,143,28,34,120,160,227,197,115,137,8,29,55,164,93,170,118,232,70,217,229,119,244,22,148,178,125,113,144,215,178,51,134,247,96,114,26,204,197,31,116,195,51,202,196,220,145,57,184,216,186,175,151,48,245,159,83,219,207,182,234,124,55,11,45,201,187,250,108,88,238,45,147,179,136,244,26,153,140,224,197,141,132,169,160,115,187,187,114,185,118,165,119,75,154,164,203,50,229,74,9,81,143,8,180,86,186,174,105,117,110,41,237,196,117,48,76,40,208,218,164,59,68,98,182,91,2,15,127,5,176,242,170,88,125,71,32,110,37,208,220,42,139,2,232,101,67,38,14,159,138,135,160,185,216,241,42,12,79,89,42,91,152,122,42,163,189,146,62,201,76,186, -59,147,157,255,63,212,16,186,157, +topic "Streams";[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; Streams&] +[ {{993:993:993:993:995:996:987:1013:1016:1021f0;g33;GNl17/25r17/4t17/0b17/0@7-2 [s0;^topic`:`/`/Core`/src`/Stream`$en`-us`#`:`:Stream`:`:class Stream^1 Stream] +::l0/25r0/25t0/15b0/15@2-1 [s0; ] +:: [s0; ] +::r/4t/0b/0 [s0;1 ] +:: [s0;1 ] +:: [s0;1 ] +:: [s0;1 ] +:: [s0;1 ] +:: [s0;1 ] +:: [s0;1 ] +:: [s0;1 ] +::l17/25r17/4t17/0b17/0@7-2 [s0;^topic`:`/`/Core`/src`/Stream`$en`-us`#`:`:StringStream`:`:class StringStream^1 S +tringStream] +::l0/25r0/25t0/15b0/15@2-1 [s0; ] +:: [s0; ] +::r/4t/0b/0 [s0;1 ] +:: [s0;1 ] +:: [s0;1 ] +:: [s0;1 ] +:: [s0;1 ] +:: [s0;1 ] +:: [s0;1 ] +::l17/25r17/4t17/0b17/0@7-2 [s0;^topic`:`/`/Core`/src`/Stream`$en`-us`#`:`:MemStream`:`:class MemStream^1 MemStre +am] +::l0/25r0/25t0/15b0/15@2-1 [s0; ] +:: [s0; ] +::r/4t/0b/0 [s0;1 ] +:: [s0;1 ] +:: [s0;1 ] +:: [s0;1 ] +:: [s0;1 ] +:: [s0;1 ] +:: [s0;1 ] +:: [s0;1 ] +::l17/25r17/4t17/0b17/0@7-2 [s0;^topic`:`/`/Core`/src`/Stream`$en`-us`#`:`:MemReadStream`:`:class MemReadStream^1 M +emReadStream] +::l0/25r0/25t0/15b0/15@2-1 [s0; ] +:: [s0; ] +::r/4t/0b/0 [s0;1 ] +:: [s0;1 ] +:: [s0;1 ] +:: [s0;1 ] +:: [s0;1 ] +:: [s0;1 ] +::l17/25r17/4t17/0b17/0@7-2 [s0;^topic`:`/`/Core`/src`/Stream`$en`-us`#`:`:BufferStream`:`:class BufferStream^1 B +ufferStream] +::l0/25r0/25t0/15b0/15@2-1 [s0; ] +:: [s0; ] +::r/4t/0b/0 [s0;1 ] +:: [s0;1 ] +:: [s0;1 ] +:: [s0;1 ] +:: [s0;1 ] +:: [s0;1 ] +:: [s0;1 ] +:: [s0;1 ] +::l17/25r17/4t17/0b17/0@7-2 [s0;^topic`:`/`/Core`/src`/Stream`$en`-us`#`:`:BlockStream`:`:class BlockStream^1 Blo +ckStream] +::l0/25r0/25t0/15b0/15@2-1 [s0; ] +:: [s0; ] +::r/4t/0b/0 [s0;1 ] +:: [s0;1 ] +:: [s0;1 ] +:: [s0;1 ] +:: [s0;1 ] +:: [s0;1 ] +:: [s0;1 ] +:: [s0;1 ] +::l17/25r17/4t17/0b17/0@7-2 [s0;^topic`:`/`/Core`/src`/Stream`$en`-us`#`:`:FileStream`:`:class FileStream^1 FileS +tream] +::l0/25r0/25t0/15b0/15@2-1 [s0; ] +:: [s0; ] +::r/4t/0b/0 [s0;1 ] +:: [s0;1 ] +:: [s0;1 ] +:: [s0;1 ] +:: [s0;1 ] +:: [s0;1 ] +:: [s0;1 ] +:: [s0;1 ] +::l17/25r17/4t17/0b17/0@7-2 [s0;^topic`:`/`/Core`/src`/Stream`$en`-us`#`:`:FileIn`:`:class FileIn^1 FileIn] +::l0/25r0/25t0/15b0/15@2-1 [s0; ] +:: [s0; ] +::r/4t/0b/0 [s0;1 ] +:: [s0;1 ] +:: [s0;1 ] +:: [s0;1 ] +:: [s0;1 ] +:: [s0;1 ] +:: [s0;1 ] +::l17/25r17/4t17/0b17/0@7-2 [s0;^topic`:`/`/Core`/src`/Stream`$en`-us`#`:`:FileOut`:`:class FileOut^1 FileOut] +::l0/25r0/25t0/15b0/15@2-1 [s0; ] +:: [s0; ] +::r/4t/0b/0 [s0;1 ] +:: [s0;1 ] +:: [s0;1 ] +:: [s0;1 ] +:: [s0;1 ] +:: [s0;1 ] +:: [s0;1 ] +::l17/25r17/4t17/0b17/0@7-2 [s0;^topic`:`/`/Core`/src`/Stream`$en`-us`#`:`:FileAppend`:`:class FileAppend^1 FileA +ppend] +::l0/25r0/25t0/15b0/15@2-1 [s0; ] +:: [s0; ] +::r/4t/0b/0 [s0;1 ] +:: [s0;1 ] +:: [s0;1 ] +:: [s0;1 ] +:: [s0;1 ] +::l17/25r17/4t17/0b17/0@7-2 [s0;^topic`:`/`/Core`/src`/Stream`$en`-us`#`:`:SizeStream`:`:class SizeStream^1 SizeS +tream] +::l0/25r0/25t0/15b0/15@2-1 [s0; ] +:: [s0; ] +::r/4t/0b/0 [s0;1 ] +:: [s0;1 ] +:: [s0;1 ] +:: [s0;1 ] +:: [s0;1 ] +:: [s0;1 ] +:: [s0;1 ] +::l17/25r17/4t17/0b17/0@7-2 [s0;^topic`:`/`/Core`/src`/Stream`$en`-us`#`:`:CompareStream`:`:class CompareStream^1 C +ompareStream] +::l0/25r0/25t0/15b0/15@2-1 [s0; ] +:: [s0; ] +::r/4t/0b/0 [s0;1 ] +:: [s0;1 ] +:: [s0;1 ] +:: [s0;1 ] +:: [s0;1 ]}}&] +[s0; &] +[s0;3 &] +[s5;K@0 [%00-00@(0.0.255) class][%00-00@(64) _][%00-00 Stream]&] +[s2; &] +[s2; Stream is the base class of all U`+`+ streams.&] +[s2; U`+`+ streams generally serve in two different roles:&] +[s2;i150;O0; As basic raw binary streams, which includes text input +and output.&] +[s2;i150;O0; As binary serialization target/source. This mainly needs +to store flag indicating serialization direction.&] +[s2; In order to achieve optimal performance of buffered stream operations, +the most frequent operations have a little bit more complicated +implementation that demands proper definition of virtual methods, +as they must correctly adjust some protected data members of +Stream. Therefore the implementation of some method can be considered +a part of interface definition:&] +[s0; &] +[s0;*C@5 void Stream`::Put(int c)&] +[s0;*C@5 `{&] +[s0;*C@5 -|if(ptr < wrlim)&] +[s0;*C@5 -|-|`*ptr`+`+ `= c;&] +[s0;*C@5 -|else&] +[s0;*C@5 -|-|`_Put(c);&] +[s0;*C@5 `}&] +[s0;*C@5 &] +[s0;*C@5 int Stream`::Term()&] +[s0;*C@5 `{&] +[s0;*C@5 -|return ptr < rdlim ? `*ptr : `_Term();&] +[s0;*C@5 `}&] +[s0;*C@5 &] +[s0;*C@5 int Stream`::Get()&] +[s0;*C@5 `{&] +[s0;*C@5 -|return ptr < rdlim ? `*ptr`+`+ : `_Get();&] +[s0;*C@5 `}&] +[s0;*C@5 &] +[s0;*C@5 int64 Stream`::GetPos() const&] +[s0;*C@5 `{&] +[s0;*C@5 -|return dword(ptr `- buffer) `+ pos;&] +[s0;*C@5 `}&] +[s0; &] +[s0;3 &] +[s0; [%00-00 Protected members for Stream implementation]&] +[s0; &] +[s5;K@0 [%00-00^`:`:int64^@(64) int64][%00-00@(64) _][%00-00 pos]&] +[s0; [%00-00 Protected.]&] +[s2; Position of buffer in the stream.&] +[s0;3 &] +[s5;K@0 [%00-00^`:`:byte^@(64) byte][%00-00@(64) _`*][%00-00 buffer]&] +[s0; Protected.&] +[s2; Pointer to beginning of buffer.&] +[s0;3 &] +[s5;K@0 [%00-00^`:`:byte^@(64) byte][%00-00@(64) _`*][%00-00 ptr]&] +[s0; Protected.&] +[s2; Pointer to current input/output byte.&] +[s0;3 &] +[s5;K@0 [%00-00^`:`:byte^@(64) byte][%00-00@(64) _`*][%00-00 rdlim]&] +[s0; Protected.&] +[s2; Read limit. [* Get] method returns values from buffer as long +as [* ptr < rdlim].&] +[s0;3 &] +[s5;K@0 [%00-00^`:`:byte^@(64) byte][%00-00@(64) _`*][%00-00 wrlim]&] +[s0; Protected.&] +[s2; Write limit. [* Put] method returns values from buffer as long +as [* ptr < wrlim].&] +[s0;3 &] +[s5;K [%00-00 virtual ][%00-00@(0.0.255) void][%00-00 _][%00-00@0 `_Put][%00-00 (][%00-00@(0.0.255) i +nt][%00-00 _][%00-00@3 w][%00-00 )]&] +[s2; Called by [* Put] method in case that output byte cannot be stored +into buffer ([* ptr >`= wrlim]). If Stream wants to use buffering, +this method should adjust [* buffer], [* ptr] and [* wrlim].&] +[s4; [%00-00*C@3 w]-|Byte to store.&] +[s0;3 &] +[s5;K [%00-00 virtual ][%00-00@(0.0.255) int][%00-00 _][%00-00@0 `_Term][%00-00 ()]&] +[s2; Called by [* Term] method in case that input byte is not in buffer +([* ptr >`= rdlim]). If Stream wants to use buffering, this method +should adjust [* buffer], [* ptr] and [* rdlim].&] +[s4; [*/ Return value]-|Value at current position in the stream. Current +position is not advanced.&] +[s0;3 &] +[s5;K [%00-00 virtual ][%00-00@(0.0.255) int][%00-00 _][%00-00@0 `_Get][%00-00 ()]&] +[s2; Called by [* Get] method in case that input byte is not in buffer +([* ptr >`= rdlim]). If Stream wants to use buffering, this method +should adjust [* buffer], [* ptr] and [* rdlim].&] +[s4; [*/ Return value]-|Value read from the stream.&] +[s0;3 &] +[s5;K [%00-00 virtual ][%00-00@(0.0.255) void][%00-00 _][%00-00@0 `_Put][%00-00 (][%00-00@(0.0.255) c +onst][%00-00 _][%00-00@(0.0.255) void][%00-00 _`*][%00-00@3 data][%00-00 , +][%00-00^`:`:dword^ dword][%00-00 _][%00-00@3 size][%00-00 )]&] +[s2; Directly called by [* Put] method. Writes a block of binary data.&] +[s4; [%00-00*C@3 data]-|Pointer to data.&] +[s4; [%00-00*C@3 size]-|Size.&] +[s0;3 &] +[s5;K [%00-00 virtual ][%00-00^`:`:dword^ dword][%00-00 _][%00-00@0 `_Get][%00-00 (][%00-00@(0.0.255) v +oid][%00-00 _`*][%00-00@3 data][%00-00 , ][%00-00^`:`:dword^ dword][%00-00 _][%00-00@3 size][%00-00 ) +]&] +[s2; Directly called by [* Get] method. &] +[s4; [%00-00*C@3 data]-|&] +[s4; [%00-00*C@3 size]-|&] +[s4; [*/ Return value]-|&] +[s2; &] +[s0; Raw stream&] +[s0;3 &] +[s5;K [%00-00 virtual ][%00-00@(0.0.255) void][%00-00 _][%00-00@0 Seek][%00-00 (][%00-00^`:`:int64^ i +nt64][%00-00 _][%00-00@3 pos][%00-00 )]&] +[s2; Seeks to given position.&] +[s4; [%00-00*C@3 pos]-|Position.&] +[s0;3 &] +[s5;K@(0.0.255) [%00-00@(64) virtual ][%00-00^`:`:int64^@(64) int64][%00-00@(64) _][%00-00@0 G +etSize][%00-00@(64) ()_][%00-00 const]&] +[s4; [*/ Return value]-|Size of stream.&] +[s0;3 &] +[s5;K [%00-00 virtual ][%00-00@(0.0.255) void][%00-00 _][%00-00@0 SetSize][%00-00 (][%00-00^`:`:int64^ i +nt64][%00-00 _][%00-00@3 size][%00-00 )]&] +[s2; Alters the size of the stream.&] +[s4; [%00-00*C@3 size]-|New size.&] +[s0;3 &] +[s5;K [%00-00 virtual ][%00-00@(0.0.255) void][%00-00 _][%00-00@0 Flush][%00-00 ()]&] +[s2; If stream has any internal buffers (like FileStream), writes +these bufers to OS.&] +[s0;3 &] +[s5;K [%00-00 virtual ][%00-00@(0.0.255) void][%00-00 _][%00-00@0 Close][%00-00 ()]&] +[s2; Closes stream.&] +[s0;3 &] +[s5;K@3 [%00-00@(64) virtual ][%00-00@(0.0.255) bool][%00-00@(64) _][%00-00@0 IsOpen][%00-00@(64) ( +)_][%00-00@(0.0.255) const][%00-00@(64) _`=_][%00-00 0]&] +[s4; [*/ Return value]-|true if stream is open.&] +[s0;3 &] +[s5;K@(0.0.255) [%00-00 bool][%00-00@(64) _][%00-00@0 IsError][%00-00@(64) ()_][%00-00 const]&] +[s4; [*/ Return value]-|true if error was encountered during stream +operations since opening it or last ClearError call `- error +code is non`-zero.&] +[s0;3 &] +[s5;K@(0.0.255) [%00-00 bool][%00-00@(64) _][%00-00@0 IsOK][%00-00@(64) ()_][%00-00 const]&] +[s4; [*/ Return value]-|!IsError().&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 SetError][%00-00 (][%00-00@(0.0.255) int][%00-00 _ +][%00-00@3 c][%00-00 _`=_][%00-00@3 0][%00-00 )]&] +[s2; Sets stream error code.&] +[s4; [%00-00*C@3 c]-|Error code.&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 SetLastError][%00-00 ()]&] +[s2; Sets stream error to last OS`-specific error (obtained e.g. +by GetLastError call in Win32 or in errno in Posix). This error +can be interpreted by GetErrorMessage function.&] +[s0;3 &] +[s5;K@(0.0.255) [%00-00 int][%00-00@(64) _][%00-00@0 GetError][%00-00@(64) ()_][%00-00 const]&] +[s4; [*/ Return value]-|Current error`-code. Zero indicates no error.&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 ClearError][%00-00 ()]&] +[s2; Clears error code.&] +[s0;3 &] +[s5;K@(0.0.255) [%00-00^`:`:int64^@(64) int64][%00-00@(64) _][%00-00@0 GetPos][%00-00@(64) () +_][%00-00 const]&] +[s4; [*/ Return value]-|Current position in the stream.&] +[s0;3 &] +[s5;K@(0.0.255) [%00-00 bool][%00-00@(64) _][%00-00@0 IsEof][%00-00@(64) ()_][%00-00 const]&] +[s4; [*/ Return value]-|There are no more byte to be read from the stream. +Is also true in case of error.&] +[s0;3 &] +[s5;K@(0.0.255) [%00-00^`:`:int64^@(64) int64][%00-00@(64) _][%00-00@0 GetLeft][%00-00@(64) ( +)_][%00-00 const]&] +[s4; [*/ Return value]-|Bytes between current position and the end of +stream `- equivalent to GetSize() `- GetPos().&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 SeekEnd][%00-00 (][%00-00^`:`:int64^ int64][%00-00 _ +][%00-00@3 rel][%00-00 _`=_][%00-00@3 0][%00-00 )]&] +[s2; Sets current position in the stream relative to the end of stream. +Same as Seek(GetSize() `+ rel).&] +[s4; [%00-00*C@3 rel]-|Position `- should be less or equal to zero.&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 SeekCur][%00-00 (][%00-00^`:`:int64^ int64][%00-00 _ +][%00-00@3 rel][%00-00 )]&] +[s2; Sets current position in the stream relative to the current +position. Same as Seek(GetPos() `+ rel).&] +[s4; [%00-00*C@3 rel]-|Relative offset.&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Put][%00-00 (][%00-00@(0.0.255) int][%00-00 _][%00-00@3 c +][%00-00 )]&] +[s2; Puts single byte into the output stream.&] +[s4; [%00-00*C@3 c]-|Byte.&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) int][%00-00 _][%00-00@0 Term][%00-00 ()]&] +[s2; Peeks byte from input stream not advancing current position. +If there are no more bytes in input stream or error occurred, +negative value is returned.&] +[s4; [*/ Return value]-|Byte at current position in the stream.&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) int][%00-00 _][%00-00@0 Get][%00-00 ()]&] +[s2; Reads single byte from input stream, advancing current position. +If there are no more bytes in input stream or error occurred, +negative value is returned.&] +[s4; [*/ Return value]-|Byte read from input stream.&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Put][%00-00 (][%00-00@(0.0.255) const][%00-00 _][%00-00@(0.0.255) v +oid][%00-00 _`*][%00-00@3 data][%00-00 , ][%00-00^`:`:dword^ dword][%00-00 _][%00-00@3 size][%00-00 ) +]&] +[s2; Writes a block of raw binary data to the output stream.&] +[s4; [%00-00*C@3 data]-|Pointer to data.&] +[s4; [%00-00*C@3 size]-|Number of bytes to write.&] +[s0;3 &] +[s5;K [%00-00^`:`:dword^ dword][%00-00 _][%00-00@0 Get][%00-00 (][%00-00@(0.0.255) void][%00-00 _ +`*][%00-00@3 data][%00-00 , ][%00-00^`:`:dword^ dword][%00-00 _][%00-00@3 size][%00-00 )]&] +[s2; Reads a block of raw binary data from the input stream.&] +[s4; [%00-00*C@3 data]-|Pointer to buffer to receive the data.&] +[s4; [%00-00*C@3 size]-|Number of bytes to read.&] +[s4; [*/ Return value]-|Number of bytes actually read (lower or equal +to the requested [*@3 size]).&] +[s0;3 &] +[s5;K:`:`:Stream`:`:Get`(`:`:dword`): [%00-00^`:`:String^ String][%00-00 _][%00-00@0 Get][%00-00 ( +][%00-00^`:`:dword^ dword][%00-00 _][%00-00@3 size][%00-00 )]&] +[s2; Reads a block of raw binary data from the input stream. The +number of bytes read is the length of String.&] +[s0; &] +[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 LoadThrowing][%00-00 ()]&] +[s2; Sets stream into the mode that throws LoadingError exception +when LoadError is invoked. This mode is typical for serialization +usage of stream.&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 LoadError][%00-00 ()]&] +[s2; Performs SetError(ERROR`_LOADING`_FAILED). If Stream set to +the LoadThrowing mode (by LoadThrowing() method), LoadingError +exception is thrown.&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) bool][%00-00 _][%00-00@0 GetAll][%00-00 (][%00-00@(0.0.255) void][%00-00 _ +`*][%00-00@3 data][%00-00 , ][%00-00^`:`:dword^ dword][%00-00 _][%00-00@3 size][%00-00 )]&] +[s2; Reads a block of raw binary data from the stream. If there is +not enough data in the stream, LoadError is invoked (that in +turn might throw an exception).&] +[s4; [%00-00*C@3 data]-|Pointer to buffer to receive the data.&] +[s4; [%00-00*C@3 size]-|Number of bytes to read.&] +[s4; [*/ Return value]-|true if required number of bytes was read.&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) int][%00-00 _][%00-00@0 Get8][%00-00 ()]&] +[s2; Reads a single byte from the stream. If there is not enough +data in the stream, LoadError is invoked (that in turn might +throw an exception) `- this is the difference from Get() method.&] +[s4; [*/ Return value]-|Byte from stream or `-1.&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) int][%00-00 _][%00-00@0 Get16][%00-00 ()]&] +[s2; Reads 16`-bit value from the stream in platform specific format +(either little`-endian or big`-endian). If there is not enough +data in the stream, LoadError is invoked (that in turn might +throw an exception).&] +[s4; [*/ Return value]-|16`-bit value.&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) int][%00-00 _][%00-00@0 Get32][%00-00 ()]&] +[s2; Reads 32`-bit value from the stream in platform specific format +(either little`-endian or big`-endian). If there is not enough +data in the stream, LoadError is invoked (that in turn might +throw an exception).&] +[s4; [*/ Return value]-|32`-bit value.&] +[s0;3 &] +[s5;K [%00-00^`:`:int64^ int64][%00-00 _][%00-00@0 Get64][%00-00 ()]&] +[s2; Reads 64`-bit value from the stream in platform specific format +(either little`-endian or big`-endian). If there is not enough +data in the stream, LoadError is invoked (that in turn might +throw an exception).&] +[s4; [*/ Return value]-|64`-bit value.&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) int][%00-00 _][%00-00@0 Get16le][%00-00 ()]&] +[s2; Reads 16`-bit value from the stream in the little`-endian mode. +If there is not enough data in the stream, LoadError is invoked +(that in turn might throw an exception).&] +[s4; [*/ Return value]-|16`-bit value.&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) int][%00-00 _][%00-00@0 Get32le][%00-00 ()]&] +[s2; Reads 32`-bit value from the stream in the little`-endian mode. +If there is not enough data in the stream, LoadError is invoked +(that in turn might throw an exception).&] +[s4; [*/ Return value]-|32`-bit value.&] +[s0;3 &] +[s5;K [%00-00^`:`:int64^ int64][%00-00 _][%00-00@0 Get64le][%00-00 ()]&] +[s2; Reads 64`-bit value from the stream in the little`-endian mode. +If there is not enough data in the stream, LoadError is invoked +(that in turn might throw an exception).&] +[s4; [*/ Return value]-|64`-bit value.&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) int][%00-00 _][%00-00@0 Get16be][%00-00 ()]&] +[s2; Reads 16`-bit value from the stream in the big`-endian mode. +If there is not enough data in the stream, LoadError is invoked +(that in turn might throw an exception).&] +[s4; [*/ Return value]-|16`-bit value.&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) int][%00-00 _][%00-00@0 Get32be][%00-00 ()]&] +[s2; Reads 32`-bit value from the stream in the big`-endian mode. +If there is not enough data in the stream, LoadError is invoked +(that in turn might throw an exception).&] +[s4; [*/ Return value]-|32`-bit value.&] +[s0;3 &] +[s5;K [%00-00^`:`:int64^ int64][%00-00 _][%00-00@0 Get64be][%00-00 ()]&] +[s2; Reads 32`-bit value from the stream in the big`-endian mode. +If there is not enough data in the stream, LoadError is invoked +(that in turn might throw an exception).&] +[s4; [*/ Return value]-|64`-bit value.&] +[s0;3 &] +[s5;K [%00-00^`:`:String^ String][%00-00 _][%00-00@0 GetLine][%00-00 ()]&] +[s2; Reads single line from the stream. Line is delimited by `'`\n`' +character or the end of file (or error). `'`\r`' characters are +ignored.&] +[s4; [*/ Return value]-|Line from the stream.&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) int][%00-00 _][%00-00@0 GetUtf8][%00-00 ()]&] +[s2; Reads single utf`-8 encoded value from the stream.&] +[s4; [*/ Return value]-|Utf`-8 value.&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Put16][%00-00 (][%00-00^word^ word][%00-00 _][%00-00@3 q +][%00-00 )]&] +[s2; Writes 16`-bit value in platform specific format (either little`-endian +or big`-endian).&] +[s4; [%00-00*C@3 q]-|Value to write.&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Put32][%00-00 (][%00-00@(0.0.255) int][%00-00 _][%00-00@3 q +][%00-00 )]&] +[s2; Writes 32`-bit value in platform specific format (either little`-endian +or big`-endian).&] +[s4; [%00-00*C@3 q]-|Value to write.&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Put64][%00-00 (][%00-00^`:`:int64^ int64][%00-00 _ +][%00-00@3 q][%00-00 )]&] +[s2; Writes 64`-bit value in platform specific format (either little`-endian +or big`-endian).&] +[s4; [%00-00*C@3 q]-|Value to write.&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Put16le][%00-00 (][%00-00^word^ word][%00-00 _][%00-00@3 q +][%00-00 )]&] +[s2; Writes 16`-bit value in little`-endian mode.&] +[s4; [%00-00*C@3 q]-|Value to write.&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Put32le][%00-00 (][%00-00@(0.0.255) int][%00-00 _ +][%00-00@3 q][%00-00 )]&] +[s2; Writes 32`-bit value in little`-endian mode.&] +[s4; [%00-00*C@3 q]-|Value to write.&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Put64le][%00-00 (][%00-00^`:`:int64^ int64][%00-00 _ +][%00-00@3 q][%00-00 )]&] +[s2; Writes 64`-bit value in little`-endian mode.&] +[s4; [%00-00*C@3 q]-|Value to write.&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Put16be][%00-00 (][%00-00^word^ word][%00-00 _][%00-00@3 q +][%00-00 )]&] +[s2; Writes 16`-bit value in big`-endian mode.&] +[s4; [%00-00*C@3 q]-|Value to write.&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Put32be][%00-00 (][%00-00@(0.0.255) int][%00-00 _ +][%00-00@3 q][%00-00 )]&] +[s2; Writes 32`-bit value in big`-endian mode.&] +[s4; [%00-00*C@3 q]-|Value to write.&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Put64be][%00-00 (][%00-00^`:`:int64^ int64][%00-00 _ +][%00-00@3 q][%00-00 )]&] +[s2; Writes 64`-bit value in big`-endian mode.&] +[s4; [%00-00*C@3 q]-|Value to write.&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 PutUtf8][%00-00 (][%00-00@(0.0.255) int][%00-00 _ +][%00-00@3 c][%00-00 )]&] +[s2; Puts a single utf`-8 value to the stream.&] +[s4; [%00-00*C@3 c]-|Value.&] +[s0; &] +[s0;3 &] +[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Put][%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; Writes zero terminated string to the stream (zero is not written).&] +[s4; [%00-00*C@3 s]-|String to write.&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Put][%00-00 (][%00-00@(0.0.255) const][%00-00 _][%00-00^`:`:String^ S +tring][%00-00 `&_][%00-00@3 s][%00-00 )]&] +[s2; Writes String to the the stream. String can contain zero characters.&] +[s4; [%00-00*C@3 s]-|String to write.&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Put][%00-00 (][%00-00@(0.0.255) int][%00-00 _][%00-00@3 c +][%00-00 , ][%00-00@(0.0.255) int][%00-00 _][%00-00@3 count][%00-00 )]&] +[s2; Writes single byte to the stream requested number of times.&] +[s4; [%00-00*C@3 c]-|Byte to write.&] +[s4; [%00-00*C@3 count]-|Repeat count.&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Put0][%00-00 (][%00-00@(0.0.255) int][%00-00 _][%00-00@3 c +ount][%00-00 )]&] +[s2; Writes zero byte to the stream requested number of times. This +variation is mainly provided because Put(0, count) causes ambiguity +as 0 is considered as NULL pointer too...&] +[s4; [%00-00*C@3 count]-|Repeat count.&] +[s0; &] +[s0;3 &] +[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 PutW][%00-00 (][%00-00@(0.0.255) const][%00-00 _ +][%00-00^`:`:wchar^ wchar][%00-00 _`*][%00-00@3 s][%00-00 , ][%00-00@(0.0.255) int][%00-00 _][%00-00@3 c +ount][%00-00 )]&] +[s2; Writes a specified number of wchars (16`-bit character values) +to the stream in platform specific format (little`-endian or +big`-endian).&] +[s4; [%00-00*C@3 s]-|String to write.&] +[s4; [%00-00*C@3 count]-|Length of string.&] +[s0;3 &] +[s5;K [%00-00^`:`:dword^ dword][%00-00 _][%00-00@0 GetW][%00-00 (][%00-00^`:`:wchar^ wchar][%00-00 _ +`*][%00-00@3 s][%00-00 , ][%00-00@(0.0.255) int][%00-00 _][%00-00@3 count][%00-00 )]&] +[s2; Reads a specified number of wchars (16`-bit character values) +from the stream in platform specific format.&] +[s4; [%00-00*C@3 s]-|Pointer to buffer to receive wchars.&] +[s4; [%00-00*C@3 count]-|Number of wchars.&] +[s4; [*/ Return value]-|Number of wchars actually read.&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) bool][%00-00 _][%00-00@0 GetAllW][%00-00 (][%00-00^`:`:wchar^ wchar][%00-00 _ +`*][%00-00@3 s][%00-00 , ][%00-00@(0.0.255) int][%00-00 _][%00-00@3 count][%00-00 )]&] +[s2; Reads a specified number of wchars (16`-bit character values) +from the stream in platform specific format. If there is not +enough data in the stream, LoadError is invoked (that in turn +might throw an exception).&] +[s4; [%00-00*C@3 s]-|&] +[s4; [%00-00*C@3 count]-|&] +[s4; [*/ Return value]-|&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 PutCrLf][%00-00 ()]&] +[s2; Writes CR`-LF pair to the stream. &] +[s0;3 &] +[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 PutEol][%00-00 ()]&] +[s2; Writes platform specific `"end of line`" to the stream. It is +CR`-LF pair on Win32 platform or single LF on Posix platform.&] +[s0;3 &] +[s5;K:`:`:Stream`:`:operator`<`<`(EOLenum`): [%00-00^`:`:Stream^ Stream][%00-00 `&_][%00-00@0 o +perator<<][%00-00 (][%00-00^EOLenum^ EOLenum][%00-00 )]&] +[s2; This is the same as PutEol. EOLenum contains single value, EOL. +This is operator allows more convenient way to express PutEol +in the chain of << operators.&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 PutLine][%00-00 (][%00-00@(0.0.255) const][%00-00 _ +][%00-00@(0.0.255) char][%00-00 _`*][%00-00@3 s][%00-00 )]&] +[s2; Writes a line to stream `- equivalent of Put(s); PutEol();&] +[s4; [%00-00*C@3 s]-|Zero`-terminated string.&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 PutLine][%00-00 (][%00-00@(0.0.255) const][%00-00 _ +][%00-00^`:`:String^ String][%00-00 `&_][%00-00@3 s][%00-00 )]&] +[s2; Writes a line to stream `- equivalent of Put(s); PutEol();&] +[s4; [%00-00*C@3 s]-|String.&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Put][%00-00 (][%00-00^`:`:Stream^ Stream][%00-00 `& +_][%00-00@3 s][%00-00 , ][%00-00^`:`:int64^ int64][%00-00 _][%00-00@3 size][%00-00 _`=_INT64`_ +MAX, ][%00-00^`:`:dword^ dword][%00-00 _][%00-00@3 click][%00-00 _`=_][%00-00@3 4096][%00-00 ) +]&] +[s2; Writes a content of specified stream to the stream.&] +[s4; [%00-00*C@3 s]-|Input stream.&] +[s4; [%00-00*C@3 size]-|Maximum number of bytes to write. Default value +INT64`_MAX means whole input stream from current position to +the end is written.&] +[s4; [%00-00*C@3 click]-|Size of buffer used for copying.&] +[s0; Formated output&] +[s0;3 &] +[s0; Serialization support:&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 SetLoading][%00-00 ()]&] +[s2; Sets the stream into the loading mode.&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 SetStoring][%00-00 ()]&] +[s2; Sets the stream into the storing mode.&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) bool][%00-00 _][%00-00@0 IsLoading][%00-00 ()]&] +[s4; [*/ Return value]-|true if stream is in loading mode.&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) bool][%00-00 _][%00-00@0 IsStoring][%00-00 ()]&] +[s4; [*/ Return value]-|true if stream is in storing mode.&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 SerializeRaw][%00-00 (][%00-00^`:`:byte^ byte][%00-00 _ +`*][%00-00@3 data][%00-00 , ][%00-00^`:`:dword^ dword][%00-00 _][%00-00@3 count][%00-00 )]&] +[s2; Serializes raw 8`-bit data. Might invoke LoadError if there +is not enough data to load.&] +[s4; [%00-00*C@3 data]-|Pointer to data to store or buffer to receive +loaded data.&] +[s4; [%00-00*C@3 count]-|Number of bytes to load/store.&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 SerializeRaw][%00-00 (][%00-00^word^ word][%00-00 _ +`*][%00-00@3 data][%00-00 , ][%00-00^`:`:dword^ dword][%00-00 _][%00-00@3 count][%00-00 )]&] +[s2; Serializes raw 16`-bit data. Might invoke LoadError if there +is not enough data to load.&] +[s4; [%00-00*C@3 data]-|Pointer to data to store or buffer to receive +loaded data.&] +[s4; [%00-00*C@3 count]-|Number of values to load/store.&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 SerializeRaw][%00-00 (][%00-00^`:`:dword^ dwor +d][%00-00 _`*][%00-00@3 data][%00-00 , ][%00-00^`:`:dword^ dword][%00-00 _][%00-00@3 count][%00-00 ) +]&] +[s2; Serializes raw 32`-bit data. Might invoke LoadError if there +is not enough data to load.&] +[s4; [%00-00*C@3 data]-|Pointer to data to store or buffer to receive +loaded data.&] +[s4; [%00-00*C@3 count]-|Number of values to load/store.&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 SerializeRaw][%00-00 (][%00-00^`:`:uint64^ uin +t64][%00-00 _`*][%00-00@3 data][%00-00 , ][%00-00^`:`:dword^ dword][%00-00 _][%00-00@3 count][%00-00 ) +]&] +[s2; Serializes raw 64`-bit data. Might invoke LoadError if there +is not enough data to load.&] +[s4; [%00-00*C@3 data]-|Pointer to data to store or buffer to receive +loaded data.&] +[s4; [%00-00*C@3 count]-|Number of values to load/store.&] +[s0;3 &] +[s5;K [%00-00^`:`:Stream^ Stream][%00-00 `&_][%00-00@0 operator%][%00-00 (][%00-00@(0.0.255) bo +ol][%00-00 `&_][%00-00@3 d][%00-00 )]&] +[s2; Serializes bool variable. Might invoke LoadError if there is +not enough data to load.&] +[s4; [%00-00*C@3 d]-|Variable to serialize.&] +[s4; [*/ Return value]-|`*this for chaining.&] +[s0;3 &] +[s5;K [%00-00^`:`:Stream^ Stream][%00-00 `&_][%00-00@0 operator%][%00-00 (][%00-00@(0.0.255) ch +ar][%00-00 `&_][%00-00@3 d][%00-00 )]&] +[s2; Serializes char variable. Might invoke LoadError if there is +not enough data to load.&] +[s4; [%00-00*C@3 d]-|Variable to serialize.&] +[s4; [*/ Return value]-|`*this for chaining.&] +[s0;3 &] +[s5;K [%00-00^`:`:Stream^ Stream][%00-00 `&_][%00-00@0 operator%][%00-00 (][%00-00@(0.0.255) si +gned][%00-00 _][%00-00@(0.0.255) char][%00-00 `&_][%00-00@3 d][%00-00 )]&] +[s2; Serializes signed char variable. Might invoke LoadError if there +is not enough data to load.&] +[s4; [%00-00*C@3 d]-|Variable to serialize.&] +[s4; [*/ Return value]-|`*this for chaining.&] +[s0;3 &] +[s5;K [%00-00^`:`:Stream^ Stream][%00-00 `&_][%00-00@0 operator%][%00-00 (][%00-00@(0.0.255) un +signed][%00-00 _][%00-00@(0.0.255) char][%00-00 `&_][%00-00@3 d][%00-00 )]&] +[s2; Serializes unsigned char variable. Might invoke LoadError if +there is not enough data to load.&] +[s4; [%00-00*C@3 d]-|Variable to serialize.&] +[s4; [*/ Return value]-|`*this for chaining.&] +[s0;3 &] +[s5;K [%00-00^`:`:Stream^ Stream][%00-00 `&_][%00-00@0 operator%][%00-00 (][%00-00@(0.0.255) sh +ort][%00-00 `&_][%00-00@3 d][%00-00 )]&] +[s2; Serializes short variable. Might invoke LoadError if there is +not enough data to load.&] +[s4; [%00-00*C@3 d]-|Variable to serialize.&] +[s4; [*/ Return value]-|`*this for chaining.&] +[s0;3 &] +[s5;K [%00-00^`:`:Stream^ Stream][%00-00 `&_][%00-00@0 operator%][%00-00 (][%00-00@(0.0.255) un +signed][%00-00 _][%00-00@(0.0.255) short][%00-00 `&_][%00-00@3 d][%00-00 )]&] +[s2; Serializes unsigned short variable. Might invoke LoadError if +there is not enough data to load.&] +[s4; [%00-00*C@3 d]-|Variable to serialize.&] +[s4; [*/ Return value]-|`*this for chaining.&] +[s0;3 &] +[s5;K [%00-00^`:`:Stream^ Stream][%00-00 `&_][%00-00@0 operator%][%00-00 (][%00-00@(0.0.255) in +t][%00-00 `&_][%00-00@3 d][%00-00 )]&] +[s2; Serializes int variable. Might invoke LoadError if there is +not enough data to load.&] +[s4; [%00-00*C@3 d]-|Variable to serialize.&] +[s4; [*/ Return value]-|`*this for chaining.&] +[s0;3 &] +[s5;K [%00-00^`:`:Stream^ Stream][%00-00 `&_][%00-00@0 operator%][%00-00 (][%00-00@(0.0.255) un +signed][%00-00 _][%00-00@(0.0.255) int][%00-00 `&_][%00-00@3 d][%00-00 )]&] +[s2; Serializes unsigned int variable. Might invoke LoadError if +there is not enough data to load.&] +[s4; [%00-00*C@3 d]-|Variable to serialize.&] +[s4; [*/ Return value]-|`*this for chaining.&] +[s0;3 &] +[s5;K [%00-00^`:`:Stream^ Stream][%00-00 `&_][%00-00@0 operator%][%00-00 (][%00-00@(0.0.255) lo +ng][%00-00 `&_][%00-00@3 d][%00-00 )]&] +[s2; Serializes long variable. Might invoke LoadError if there is +not enough data to load.&] +[s4; [%00-00*C@3 d]-|Variable to serialize.&] +[s4; [*/ Return value]-|`*this for chaining.&] +[s0;3 &] +[s5;K [%00-00^`:`:Stream^ Stream][%00-00 `&_][%00-00@0 operator%][%00-00 (][%00-00@(0.0.255) un +signed][%00-00 _][%00-00@(0.0.255) long][%00-00 `&_][%00-00@3 d][%00-00 )]&] +[s2; Serializes unsigned long variable. Might invoke LoadError if +there is not enough data to load.&] +[s4; [%00-00*C@3 d]-|Variable to serialize.&] +[s4; [*/ Return value]-|`*this for chaining.&] +[s0;3 &] +[s5;K [%00-00^`:`:Stream^ Stream][%00-00 `&_][%00-00@0 operator%][%00-00 (][%00-00@(0.0.255) fl +oat][%00-00 `&_][%00-00@3 d][%00-00 )]&] +[s2; Serializes float variable. Might invoke LoadError if there is +not enough data to load.&] +[s4; [%00-00*C@3 d]-|Variable to serialize.&] +[s4; [*/ Return value]-|`*this for chaining.&] +[s0;3 &] +[s5;K [%00-00^`:`:Stream^ Stream][%00-00 `&_][%00-00@0 operator%][%00-00 (][%00-00@(0.0.255) do +uble][%00-00 `&_][%00-00@3 d][%00-00 )]&] +[s2; Serializes double variable. Might invoke LoadError if there +is not enough data to load.&] +[s4; [%00-00*C@3 d]-|Variable to serialize.&] +[s4; [*/ Return value]-|`*this for chaining.&] +[s0;3 &] +[s5;K [%00-00^`:`:Stream^ Stream][%00-00 `&_][%00-00@0 operator%][%00-00 (][%00-00^`:`:int64^ i +nt64][%00-00 `&_][%00-00@3 d][%00-00 )]&] +[s2; Serializes int64 variable. Might invoke LoadError if there is +not enough data to load.&] +[s4; [%00-00*C@3 d]-|Variable to serialize.&] +[s4; [*/ Return value]-|`*this for chaining.&] +[s0;3 &] +[s5;K [%00-00^`:`:Stream^ Stream][%00-00 `&_][%00-00@0 operator%][%00-00 (][%00-00^`:`:uint64^ u +int64][%00-00 `&_][%00-00@3 d][%00-00 )]&] +[s2; Serializes uint64 variable. Might invoke LoadError if there +is not enough data to load.&] +[s4; [%00-00*C@3 d]-|Variable to serialize.&] +[s4; [*/ Return value]-|`*this for chaining.&] +[s0;3 &] +[s5;K [%00-00^`:`:Stream^ Stream][%00-00 `&_][%00-00@0 operator%][%00-00 (][%00-00^`:`:String^ S +tring][%00-00 `&_][%00-00@3 s][%00-00 )]&] +[s2; Serializes String variable. Might invoke LoadError if there +is not enough data to load or input data are invalid.&] +[s4; [%00-00*C@3 d]-|Variable to serialize.&] +[s4; [*/ Return value]-|`*this for chaining.&] +[s0;3 &] +[s5;K [%00-00^`:`:Stream^ Stream][%00-00 `&_][%00-00@0 operator/][%00-00 (][%00-00^`:`:String^ S +tring][%00-00 `&_][%00-00@3 s][%00-00 )]&] +[s2; Serializes String variable using RLE compression and packed +format for length. Might invoke LoadError if there is not enough +data to load or input data are invalid.&] +[s4; [%00-00*C@3 s]-|Variable to serialize.&] +[s4; [*/ Return value]-|`*this for chaining.&] +[s0;3 &] +[s5;K [%00-00^`:`:Stream^ Stream][%00-00 `&_][%00-00@0 operator%][%00-00 (][%00-00^`:`:WString^ W +String][%00-00 `&_][%00-00@3 s][%00-00 )]&] +[s2; Serializes WString variable. Might invoke LoadError if there +is not enough data to load or input data are invalid.&] +[s4; [%00-00*C@3 d]-|Variable to serialize.&] +[s4; [*/ Return value]-|`*this for chaining.&] +[s0;3 &] +[s5;K [%00-00^`:`:Stream^ Stream][%00-00 `&_][%00-00@0 operator/][%00-00 (][%00-00^`:`:WString^ W +String][%00-00 `&_][%00-00@3 s][%00-00 )]&] +[s2; Serializes String variable using RLE compression and packed +format for length. Might invoke LoadError if there is not enough +data to load or input data are invalid.&] +[s4; [%00-00*C@3 s]-|Variable to serialize.&] +[s4; [*/ Return value]-|`*this for chaining.&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Pack][%00-00 (][%00-00^`:`:dword^ dword][%00-00 `& +_][%00-00@3 i][%00-00 )]&] +[s2; Serializes dword value using format optimized for storing small +values. Values 0..254 are stored as serializes as single byte, +other values result in 5 bytes. Might invoke LoadError if there +is not enough data to load or input data are invalid.&] +[s4; [%00-00*C@3 i]-|Variable to serialize.&] +[s0;3 &] +[s5;K [%00-00^`:`:Stream^ Stream][%00-00 `&_][%00-00@0 operator/][%00-00 (][%00-00@(0.0.255) in +t][%00-00 `&_][%00-00@3 i][%00-00 )]&] +[s2; Serializes int value using format optimized for storing small +values. Might invoke LoadError if there is not enough data to +load or input data are invalid.&] +[s4; [%00-00*C@3 i]-|Variable to serialize.&] +[s4; [*/ Return value]-|`*this for chaining.&] +[s0;3 &] +[s5;K [%00-00^`:`:Stream^ Stream][%00-00 `&_][%00-00@0 operator/][%00-00 (][%00-00@(0.0.255) un +signed][%00-00 _][%00-00@(0.0.255) int][%00-00 `&_][%00-00@3 i][%00-00 )]&] +[s2; Serializes unsigned int value using format optimized for storing +small values. Might invoke LoadError if there is not enough data +to load or input data are invalid.&] +[s4; [%00-00*C@3 i]-|Variable to serialize.&] +[s4; [*/ Return value]-|`*this for chaining.&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Magic][%00-00 (][%00-00^`:`:dword^ dword][%00-00 _ +][%00-00@3 magic][%00-00 _`=_][%00-00@3 0][%00-00 x7d674d7b)]&] +[s2; Serializes `"magic value`" to ensure stream integrity. When +loading, this value is loaded and checked `- mismatch results +in invoking LoadError.&] +[s4; [%00-00*C@3 magic]-|Magic value.&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Pack][%00-00 (][%00-00@(0.0.255) bool][%00-00 `& +_][%00-00@3 a][%00-00 , ][%00-00@(0.0.255) bool][%00-00 `&_][%00-00@3 b][%00-00 , +][%00-00@(0.0.255) bool][%00-00 `&_][%00-00@3 c][%00-00 , ][%00-00@(0.0.255) bool][%00-00 `&_ +][%00-00@3 d][%00-00 , ][%00-00@(0.0.255) bool][%00-00 `&_][%00-00@3 e][%00-00 , +][%00-00@(0.0.255) bool][%00-00 `&_][%00-00@3 f][%00-00 , ][%00-00@(0.0.255) bool][%00-00 `&_ +][%00-00@3 g][%00-00 , ][%00-00@(0.0.255) bool][%00-00 `&_][%00-00@3 h][%00-00 )]&] +[s2; Serializes a set of boolean values compressed into single byte.&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Pack][%00-00 (][%00-00@(0.0.255) bool][%00-00 `& +_][%00-00@3 a][%00-00 , ][%00-00@(0.0.255) bool][%00-00 `&_][%00-00@3 b][%00-00 , +][%00-00@(0.0.255) bool][%00-00 `&_][%00-00@3 c][%00-00 , ][%00-00@(0.0.255) bool][%00-00 `&_ +][%00-00@3 d][%00-00 , ][%00-00@(0.0.255) bool][%00-00 `&_][%00-00@3 e][%00-00 , +][%00-00@(0.0.255) bool][%00-00 `&_][%00-00@3 f][%00-00 , ][%00-00@(0.0.255) bool][%00-00 `&_ +][%00-00@3 g][%00-00 )]&] +[s2; Serializes a set of boolean values compressed into single byte.&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Pack][%00-00 (][%00-00@(0.0.255) bool][%00-00 `& +_][%00-00@3 a][%00-00 , ][%00-00@(0.0.255) bool][%00-00 `&_][%00-00@3 b][%00-00 , +][%00-00@(0.0.255) bool][%00-00 `&_][%00-00@3 c][%00-00 , ][%00-00@(0.0.255) bool][%00-00 `&_ +][%00-00@3 d][%00-00 , ][%00-00@(0.0.255) bool][%00-00 `&_][%00-00@3 e][%00-00 , +][%00-00@(0.0.255) bool][%00-00 `&_][%00-00@3 f][%00-00 )]&] +[s2; Serializes a set of boolean values compressed into single byte.&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Pack][%00-00 (][%00-00@(0.0.255) bool][%00-00 `& +_][%00-00@3 a][%00-00 , ][%00-00@(0.0.255) bool][%00-00 `&_][%00-00@3 b][%00-00 , +][%00-00@(0.0.255) bool][%00-00 `&_][%00-00@3 c][%00-00 , ][%00-00@(0.0.255) bool][%00-00 `&_ +][%00-00@3 d][%00-00 , ][%00-00@(0.0.255) bool][%00-00 `&_][%00-00@3 e][%00-00 )]&] +[s2; Serializes a set of boolean values compressed into single byte.&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Pack][%00-00 (][%00-00@(0.0.255) bool][%00-00 `& +_][%00-00@3 a][%00-00 , ][%00-00@(0.0.255) bool][%00-00 `&_][%00-00@3 b][%00-00 , +][%00-00@(0.0.255) bool][%00-00 `&_][%00-00@3 c][%00-00 , ][%00-00@(0.0.255) bool][%00-00 `&_ +][%00-00@3 d][%00-00 )]&] +[s2; Serializes a set of boolean values compressed into single byte.&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Pack][%00-00 (][%00-00@(0.0.255) bool][%00-00 `& +_][%00-00@3 a][%00-00 , ][%00-00@(0.0.255) bool][%00-00 `&_][%00-00@3 b][%00-00 , +][%00-00@(0.0.255) bool][%00-00 `&_][%00-00@3 c][%00-00 )]&] +[s2; Serializes a set of boolean values compressed into single byte.&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Pack][%00-00 (][%00-00@(0.0.255) bool][%00-00 `& +_][%00-00@3 a][%00-00 , ][%00-00@(0.0.255) bool][%00-00 `&_][%00-00@3 b][%00-00 )]&] +[s2; Serializes a set of boolean values compressed into single byte.&] +[s0;3 &] +[s0;:`:`:Stream`:`:Stream`(`): [* Stream]()&] +[s2; Constructor. Sets stream into Loading serialization mode and +zero level indentation. All protected variables are set to 0 +/ NULL.&] +[s0;3 &] +[s0;:`:`:Stream`:`:`~Stream`(`): `~[* Stream]()&] +[s2; Destructor.&] +[s0;3 &] +[s0;3 &] +[s0;3 &] +[s0;3 &] +[s5;K^`:`:Stream^ [%00-00^^@(0.0.255) class][%00-00^^ _][%00-00^^@0 StringStream][%00-00^^ _:_ +][%00-00^^@(0.0.255) public][%00-00^^ _][%00-00 Stream]&] +[s0;* &] +[s2; StringStream is stream that uses String as storage medium.&] +[s2; &] +[s0;^topic`:`/`/Core`/src`/Stream`$en`-us`#`:`:Stream`:`:class Stream^ [/^^ Derived +from][^^ ][%00-00 Stream]&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Open][%00-00 (][%00-00@(0.0.255) const][%00-00 _ +][%00-00^`:`:String^ String][%00-00 `&_][%00-00@3 data][%00-00 )]&] +[s2; [%00-00 Sets the content of stream to specified String and sets +it into the Loading serialization mode.]&] +[s4; [%00-00*C@3 data]-|Content of stream.&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Create][%00-00 ()]&] +[s2; Creates empty StringStream and sets it into Storing serialization +mode.&] +[s0;3 &] +[s5;K [%00-00^`:`:String^ String][%00-00 _][%00-00@0 GetResult][%00-00 ()]&] +[s2; Returns resulting String.&] +[s4; [*/ Return value]-|Result.&] +[s0;3 &] +[s5;K [%00-00 operator_String()]&] +[s4; [*/ Return value]-|GetResult().&] +[s0;3 &] +[s0;:`:`:StringStream`:`:StringStream`(`): [%00-00* StringStream][%00-00 ()]&] +[s2; Consructs empty stream and sets it into Storing serialization +mode (like [* Create]).&] +[s0;3 &] +[s0;:`:`:StringStream`:`:StringStream`(const`:`:String`&`): [%00-00* StringStream][%00-00 ( +const_String`&_][%00-00*@3 data][%00-00 )]&] +[s2; Constructs stream with specified content and sets it into Loading +serialization mode (like [* Open]).&] +[s4; [%00-00*C@3 data]-|Content of stream.&] +[s0;3 &] +[s0;3 &] +[s0;3 &] +[s0;3 &] +[s5;K^`:`:Stream^ [%00-00^^@(0.0.255) class][%00-00^^ _][%00-00^^@0 MemStream][%00-00^^ _:_][%00-00^^@(0.0.255) p +ublic][%00-00^^ _][%00-00 Stream]&] +[s2; &] +[s2; Stream that is using raw memory as its content.&] +[s2; &] +[s0;^topic`:`/`/Core`/src`/Stream`$en`-us`#`:`:Stream`:`:class Stream^ [/^^ Derived +from][^^ ][%00-00 Stream]&] +[s0;3 &] +[s0;:`:`:MemStream`:`:MemStream`(void`*`,int`): [%00-00* MemStream][%00-00 (void_`*][%00-00*@3 d +ata][%00-00 , int_][%00-00*@3 size][%00-00 )]&] +[s2; Constructs [* MemStream] at specified memory buffer.&] +[s4; [%00-00*C@3 data]-|Pointer to the stream content.&] +[s4; [%00-00*C@3 size]-|Size.&] +[s0;3 &] +[s0;3 &] +[s0;3 &] +[s0;3 &] +[s5;K^`:`:MemStream^ [%00-00^^@(0.0.255) class][%00-00^^ _][%00-00^^@0 MemReadStream][%00-00^^ _ +:_][%00-00^^@(0.0.255) public][%00-00^^ _][%00-00 MemStream]&] +[s2; &] +[s2; Read`-only stream using raw memory as content.&] +[s2; &] +[s0;^topic`:`/`/Core`/src`/Stream`$en`-us`#`:`:MemStream`:`:class MemStream^ [/^^ Deriv +ed from][^^ ][%00-00 MemStream]&] +[s0;3 &] +[s0;:`:`:MemReadStream`:`:MemReadStream`(const void`*`,int`): [%00-00* MemReadStream][%00-00 ( +const_void_`*][%00-00*@3 data][%00-00 , int_][%00-00*@3 size][%00-00 )]&] +[s2; Constructs [* MemStream] at specified memory buffer.&] +[s4; [%00-00*C@3 data]-|Pointer to the stream content.&] +[s4; [%00-00*C@3 size]-|Size.&] +[s0;3 &] +[s0;3 &] +[s0;3 &] +[s0;3 &] +[s5;K^`:`:Stream^ [%00-00^^@(0.0.255) class][%00-00^^ _][%00-00^^@0 BlockStream][%00-00^^ _:_][%00-00^^@(0.0.255) p +ublic][%00-00^^ _][%00-00 Stream]&] +[s2; &] +[s2; BlockStream implements operations needed to manage streams that +are able to read or write a block of data at random positon. +BlockStream provides buffered implementation of such stream. +It implements all virtual methods of Stream, with exception of +[* IsOpen] and [* Close], using new virtual methods [* Read], [* Write] +and [* SetStreamSize].&] +[s2; &] +[s0;^topic`:`/`/Core`/src`/Stream`$en`-us`#`:`:BufferStream`:`:class BufferStream^ [/^^ D +erived from][^^ ][%00-00 BufferStream]&] +[s0;3 &] +[s0; [%00-00 enum_`{_][%00-00*@3 READ][%00-00 , ][%00-00*@3 CREATE][%00-00 , +][%00-00*@3 APPEND][%00-00 , ][%00-00*@3 READWRITE][%00-00 , ][%00-00*@3 NOWRITESHARE][%00-00 , + ][%00-00*@3 DELETESHARE][%00-00 , ][%00-00*@3 NOREADSHARE][%00-00 , +][%00-00*@3 SHAREMASK][%00-00 _`}]&] +[s2; This enum defines basic operation modes of BlockStream (used +combined with binary or).&] +[s4;:`:`:BlockStream`:`:READ: [%00-00*C@3 READ]-|Read mode.&] +[s4;:`:`:BlockStream`:`:CREATE: [%00-00*C@3 CREATE]-|Write mode.&] +[s4;:`:`:BlockStream`:`:APPEND: [%00-00*C@3 APPEND]-|Append mode `- +means that initial position in the stream is at the end of it.&] +[s4;:`:`:BlockStream`:`:READWRITE: [%00-00*C@3 READWRITE]-|Enables subsequent +streams full access to stream.&] +[s4;:`:`:BlockStream`:`:NOWRITESHARE: [%00-00*C@3 NOWRITESHARE]-|Disables +subsequent streams to write to the stream.&] +[s4;:`:`:BlockStream`:`:DELETESHARE: [%00-00*C@3 DELETESHARE]-|Enables +subsequent streams to delete the stream.&] +[s4;:`:`:BlockStream`:`:NOREADSHARE: [%00-00*C@3 NOREADSHARE]-|Disables +subsequent streams to read the stream.&] +[s0;3 &] +[s5;K [%00-00 virtual ][%00-00^`:`:dword^ dword][%00-00 _][%00-00@0 Read][%00-00 (][%00-00^`:`:int64^ i +nt64][%00-00 _][%00-00@3 at][%00-00 , ][%00-00@(0.0.255) void][%00-00 _`*][%00-00@3 ptr][%00-00 , + ][%00-00^`:`:dword^ dword][%00-00 _][%00-00@3 size][%00-00 )]&] +[s0; [%00-00 Protected.]&] +[s2; Implementation of this virtual method in derived class should +read a block of data at specified position in media.&] +[s4; [%00-00*C@3 at]-|Position in media.&] +[s4; [%00-00*C@3 ptr]-|Pointer to buffer to receive data.&] +[s4; [%00-00*C@3 size]-|Requested size of data.&] +[s4; [*/ Return value]-|Size of data read.&] +[s0;3 &] +[s5;K [%00-00 virtual ][%00-00@(0.0.255) void][%00-00 _][%00-00@0 Write][%00-00 (][%00-00^`:`:int64^ i +nt64][%00-00 _][%00-00@3 at][%00-00 , ][%00-00@(0.0.255) const][%00-00 _][%00-00@(0.0.255) vo +id][%00-00 _`*][%00-00@3 data][%00-00 , ][%00-00^`:`:dword^ dword][%00-00 _][%00-00@3 size][%00-00 ) +]&] +[s0; Protected.&] +[s2; Implementation of this virtual method in derived method should +write a block of data at specified position in media.&] +[s4; [%00-00*C@3 at]-|Position in media.&] +[s4; [%00-00*C@3 data]-|Pointer to data.&] +[s4; [%00-00*C@3 size]-|Size of data.&] +[s0;3 &] +[s5;K [%00-00 virtual ][%00-00@(0.0.255) void][%00-00 _][%00-00@0 SetStreamSize][%00-00 (][%00-00^`:`:int64^ i +nt64][%00-00 _][%00-00@3 size][%00-00 )]&] +[s0; Protected.&] +[s2; Implementation of this virtual method in derived class should +adjust the size of media.&] +[s4; [%00-00*C@3 size]-|Requested new size of media.&] +[s0;3 &] +[s5;K@(0.0.255) [%00-00^`:`:int64^@(64) int64][%00-00@(64) _][%00-00@0 GetStreamSize][%00-00@(64) ( +)_][%00-00 const]&] +[s0; Protected.&] +[s2; Returns current media size. Note that this might be different +from current GetSize() `- media size adjustment can be deffered +to flushing the buffer.&] +[s4; [*/ Return value]-|Current media size.&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 OpenInit][%00-00 (][%00-00^`:`:dword^ dword][%00-00 _ +][%00-00@3 mode][%00-00 , ][%00-00^`:`:int64^ int64][%00-00 _][%00-00@3 file`_size][%00-00 )]&] +[s0; Protected.&] +[s2; Initializes the BlockStream to specified mode and actual media +size.&] +[s4; [%00-00*C@3 mode]-|Mode.&] +[s4; [%00-00*C@3 file`_size]-|Actual media size.&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 SetBufferSize][%00-00 (][%00-00^`:`:dword^ dwo +rd][%00-00 _][%00-00@3 newsize][%00-00 )]&] +[s2; Sets a new size of internal buffer.&] +[s4; [%00-00*C@3 newsize]-|The new size of buffer.&] +[s0;3 &] +[s5;K@(0.0.255) [%00-00^`:`:dword^@(64) dword][%00-00@(64) _][%00-00@0 GetBufferSize][%00-00@(64) ( +)_][%00-00 const]&] +[s4; [*/ Return value]-|Size of buffer.&] +[s0;3 &] +[s0;3 &] +[s0;3 &] +[s0;3 &] +[s5;K^`:`:BlockStream^ [%00-00^^@(0.0.255) class][%00-00^^ _][%00-00^^@0 FileStream][%00-00^^ _ +:_][%00-00^^@(0.0.255) public][%00-00^^ _][%00-00 BlockStream]&] +[s2; &] +[s2; Classical file stream.&] +[s2; &] +[s0;^topic`:`/`/Core`/src`/Stream`$en`-us`#`:`:BlockStream`:`:class BlockStream^ [/^^ D +erived from][^^ ][%00-00 BlockStream]&] +[s0;3 &] +[s0;:`:`:FileStream`:`:FileStream`(const char`*`,`:`:dword`): [%00-00* FileStream][%00-00 ( +const_char_`*][%00-00*@3 filename][%00-00 , dword_][%00-00*@3 mode][%00-00 )]&] +[s2; Opens file stream in specified mode (as defined in BlockStream).&] +[s4; [%00-00*C@3 filename]-|The name of the file.&] +[s4; [%00-00*C@3 mode]-|Open mode.&] +[s0;3 &] +[s0;:`:`:FileStream`:`:FileStream`(const char`*`,`:`:dword`,mode`_t`): [%00-00* FileStr +eam][%00-00 (const_char_`*][%00-00*@3 filename][%00-00 , dword_][%00-00*@3 mode][%00-00 , +mode`_t_][%00-00*@3 acm][%00-00 _`=_][%00-00@3 0644][%00-00 )]&] +[s0; [%00-00 Posix specific.]&] +[s2; Opens file stream in specified mode (as defined in BlockStream) +and specific POSIX access rights.&] +[s4; [%00-00*C@3 filename]-|The name of the file.&] +[s4; [%00-00*C@3 mode]-|Open mode.&] +[s4; [%00-00*C@3 acm]-|Access rights.&] +[s0;3 &] +[s0;:`:`:FileStream`:`:FileStream`(int`): [%00-00* FileStream][%00-00 (int_][%00-00*@3 std`_ +handle][%00-00 )]&] +[s0; Posix specific.&] +[s2; Assigns existing file handle to FileStream.&] +[s4; [%00-00*C@3 std`_handle]-|File handle of open file. FileStream +takes ownership of this handle.&] +[s0;3 &] +[s0;:`:`:FileStream`:`:FileStream`(`): [%00-00* FileStream][%00-00 ()]&] +[s2; Creates empty unopened FileStream.&] +[s0;3 &] +[s5;K@(0.0.255) [%00-00@(64) operator_][%00-00 bool][%00-00@(64) ()_][%00-00 const]&] +[s4; [*/ Return value]-|True if stream is open.&] +[s0;3 &] +[s5;K@(0.0.255) [%00-00^`:`:FileTime^@(64) FileTime][%00-00@(64) _][%00-00@0 GetTime][%00-00@(64) ( +)_][%00-00 const]&] +[s2; Returns last`-write time of stream.&] +[s4; [*/ Return value]-|Time.&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 SetTime][%00-00 (][%00-00@(0.0.255) const][%00-00 _ +][%00-00^`:`:FileTime^ FileTime][%00-00 `&_][%00-00@3 tm][%00-00 )]&] +[s2; Opens file stream in specified mode (as defined in BlockStream).&] +[s4; [%00-00*C@3 filename]-|The name of the file.&] +[s2; [%00-00*C@3 mode]-|Open mode.&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) bool][%00-00 _][%00-00@0 Open][%00-00 (][%00-00@(0.0.255) const][%00-00 _ +][%00-00@(0.0.255) char][%00-00 _`*][%00-00@3 filename][%00-00 , ][%00-00^`:`:dword^ dword][%00-00 _ +][%00-00@3 mode][%00-00 , ][%00-00^mode`_t^ mode`_t][%00-00 _][%00-00@3 acm][%00-00 _`=_][%00-00@3 0 +644][%00-00 )]&] +[s0; [%00-00 Posix specific.]&] +[s2; Opens file stream in specified mode (as defined in BlockStream) +and specific POSIX access rights.&] +[s4; [%00-00*C@3 filename]-|The name of the file.&] +[s4; [%00-00*C@3 mode]-|Open mode.&] +[s2; [%00-00*C@3 acm]-|Access rights.&] +[s0;3 &] +[s5;K@(0.0.255) [%00-00^HANDLE^@(64) HANDLE][%00-00@(64) _][%00-00@0 GetHandle][%00-00@(64) ( +)_][%00-00 const]&] +[s0; Win32 specific.&] +[s4; [*/ Return value]-|File handle.&] +[s0;3 &] +[s5;K@(0.0.255) [%00-00^HANDLE^@(64) HANDLE][%00-00@(64) _][%00-00@0 GetHandle][%00-00@(64) ( +)_][%00-00 const]&] +[s0; Posix specific.&] +[s4; [*/ Return value]-|File handle.&] +[s0;3 &] +[s0;3 &] +[s0;3 &] +[s0;3 &] +[s5;K^`:`:FileStream^ [%00-00^^@(0.0.255) class][%00-00^^ _][%00-00^^@0 FileIn][%00-00^^ _:_][%00-00^^@(0.0.255) p +ublic][%00-00^^ _][%00-00 FileStream]&] +[s2; &] +[s2; Simple helper class that represents FileStream in read mode.&] +[s2; &] +[s0;^topic`:`/`/Core`/src`/Stream`$en`-us`#`:`:FileStream`:`:class FileStream^ [/^^ Der +ived from][^^ ][%00-00 FileStream]&] +[s0;3 &] +[s0;:`:`:FileIn`:`:FileIn`(const char`*`): [%00-00* FileIn][%00-00 (const_char_`*][%00-00*@3 f +n][%00-00 )]&] +[s2; Opens file for reading.&] +[s4; [%00-00*C@3 fn]-|File name.&] +[s0;3 &] +[s0;:`:`:FileIn`:`:FileIn`(`): [%00-00* FileIn][%00-00 ()]&] +[s2; Constructs empty FileStream.&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) bool][%00-00 _][%00-00@0 Open][%00-00 (][%00-00@(0.0.255) const][%00-00 _ +][%00-00@(0.0.255) char][%00-00 _`*][%00-00@3 fn][%00-00 )]&] +[s2; Opens file for reading.&] +[s4; [%00-00*C@3 fn]-|File name.&] +[s4; [*/ Return value]-|True if open was successful.&] +[s0;3 &] +[s0;3 &] +[s0;3 &] +[s0;3 &] +[s5;K^`:`:FileStream^ [%00-00^^@(0.0.255) class][%00-00^^ _][%00-00^^@0 FileOut][%00-00^^ _:_][%00-00^^@(0.0.255) p +ublic][%00-00^^ _][%00-00 FileStream]&] +[s2; &] +[s2; Simple helper class that represents FileStream in write mode.&] +[s2; &] +[s0;^topic`:`/`/Core`/src`/Stream`$en`-us`#`:`:FileStream`:`:class FileStream^ [/^^ Der +ived from][^^ ][%00-00 FileStream]&] +[s0;3 &] +[s0;:`:`:FileOut`:`:FileOut`(const char`*`): [%00-00* FileOut][%00-00 (const_char_`*][%00-00*@3 f +n][%00-00 )]&] +[s2; Opens file for writing.&] +[s4; [%00-00*C@3 fn]-|File name.&] +[s0;3 &] +[s0;:`:`:FileOut`:`:FileOut`(`): [%00-00* FileOut][%00-00 ()]&] +[s2; [%00-00 Constructs non`-opened FileStream.]&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) bool][%00-00 _][%00-00@0 Open][%00-00 (][%00-00@(0.0.255) const][%00-00 _ +][%00-00@(0.0.255) char][%00-00 _`*][%00-00@3 fn][%00-00 , ][%00-00^mode`_t^ mode`_t][%00-00 _ +][%00-00@3 acm][%00-00 _`=_][%00-00@3 0644][%00-00 )]&] +[s2; Opens file for writing.&] +[s4; [%00-00*C@3 fn]-|File name.&] +[s4; [*/ Return value]-|True if open was successful.&] +[s0;3 &] +[s0;3 &] +[s0;3 &] +[s0;3 &] +[s5;K^`:`:FileStream^ [%00-00^^@(0.0.255) class][%00-00^^ _][%00-00^^@0 FileAppend][%00-00^^ _ +:_][%00-00^^@(0.0.255) public][%00-00^^ _][%00-00 FileStream]&] +[s2; &] +[s2; Simple helper class that represents FileStream in append mode +`- that in fact means in write mode with current position at +the end of the file.&] +[s2; &] +[s0; [/ Derived from] [%00-00 FileStream]&] +[s0;3 &] +[s0;:`:`:FileAppend`:`:FileAppend`(const char`*`): [%00-00* FileAppend][%00-00 (const_cha +r_`*][%00-00*@3 fn][%00-00 )]&] +[s2; Opens file in append mode.&] +[s4; [%00-00*C@3 fn]-|File name.&] +[s0;3 &] +[s0;:`:`:FileAppend`:`:FileAppend`(`): [%00-00* FileAppend][%00-00 ()]&] +[s2; Constructs empty FileStream.&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) bool][%00-00 _][%00-00@0 Open][%00-00 (][%00-00@(0.0.255) const][%00-00 _ +][%00-00@(0.0.255) char][%00-00 _`*][%00-00@3 fn][%00-00 )]&] +[s2; Opens file in append mode.&] +[s4; [%00-00*C@3 fn]-|File name.&] +[s4; [*/ Return value]-|true when Open was successful.&] +[s0;3 &] +[s0;3 &] +[s0;3 &] +[s0;3 &] +[s5;K^`:`:Stream^ [%00-00^^@(0.0.255) class][%00-00^^ _][%00-00^^@0 SizeStream][%00-00^^ _:_][%00-00^^@(0.0.255) p +ublic][%00-00^^ _][%00-00 Stream]&] +[s2; &] +[s2; Special output stream that in fact does not store output data, +only counts the total number of bytes written.&] +[s2; &] +[s0;^topic`:`/`/Core`/src`/Stream`$en`-us`#`:`:BufferStream`:`:class BufferStream^ [/^^ D +erived from][^^ ][%00-00 BufferStream]&] +[s0;3 &] +[s0;:`:`:SizeStream`:`:SizeStream`(`): [%00-00* SizeStream][%00-00 ()]&] +[s2; Constructor `- co&] +[s0;3 &] +[s5;K [%00-00 virtual ][%00-00@(0.0.255) void][%00-00 _][%00-00@0 `_Put][%00-00 (][%00-00@(0.0.255) i +nt][%00-00 _][%00-00@3 w][%00-00 )]&] +[s4; [*/ Return value]-|Current number of bytes written.&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) void][%00-00 _][%00-00@0 Open][%00-00 ()]&] +[s2; Reopens data `- resets the counter of output bytes.&] +[s0;3 &] +[s0;3 &] +[s0;3 &] +[s0;3 &] +[s5;K^`:`:Stream^ [%00-00^^@(0.0.255) class][%00-00^^ _][%00-00^^@0 CompareStream][%00-00^^ _ +:_][%00-00^^@(0.0.255) public][%00-00^^ _][%00-00 Stream]&] +[s2; &] +[s2; Special output stream that instead of storing data performs +their comparison to the data of another stream.&] +[s2; &] +[s0;^topic`:`/`/Core`/src`/Stream`$en`-us`#`:`:BufferStream`:`:class BufferStream^ [/^^ D +erived from][^^ ][%00-00 BufferStream]&] +[s0;3 &] +[s0;:`:`:CompareStream`:`:CompareStream`(`): [%00-00* CompareStream][%00-00 ()]&] +[s2; Constructs closed CompareStream.&] +[s0;3 &] +[s0;:`:`:CompareStream`:`:CompareStream`(`:`:Stream`&`): [%00-00* CompareStream][%00-00 ( +Stream`&_][%00-00*@3 aStream][%00-00 )]&] +[s2; Constructors CompareStream opened for comparison with specified +stream.&] +[s4; [%00-00*C@3 aStream]-|Stream to compare with.&] +[s0;3 &] +[s5;K [%00-00 virtual ][%00-00@(0.0.255) void][%00-00 _][%00-00@0 `_Put][%00-00 (][%00-00@(0.0.255) i +nt][%00-00 _][%00-00@3 w][%00-00 )]&] +[s2; Opens CompareStream for comparison with the specified stream.&] +[s4; [%00-00*C@3 aStream]-|Stream to compare with.&] +[s0;3 &] +[s5;K [%00-00@(0.0.255) bool][%00-00 _][%00-00@0 IsEqual][%00-00 ()]&] +[s4; [*/ Return value]-|true if all bytes written so far match those +in comparison stream.&] +[s0;3 &] +[s5;K [%00-00 operator_][%00-00@(0.0.255) bool][%00-00 ()]&] +[s4; [*/ Return value]-|IsEqual().&] +[s0; ] \ No newline at end of file diff --git a/uppsrc/Core/src.tpp/Vector$en-us.tpp b/uppsrc/Core/src.tpp/Vector$en-us.tpp index 9dd93b9ec..3686dace7 100644 --- a/uppsrc/Core/src.tpp/Vector$en-us.tpp +++ b/uppsrc/Core/src.tpp/Vector$en-us.tpp @@ -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, \ No newline at end of file +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() << 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.] \ No newline at end of file