diff --git a/uppsrc/$.tpp/Reference$en-us.tpp b/uppsrc/$.tpp/Reference$en-us.tpp index 5f08de797..00ac68e64 100644 --- a/uppsrc/$.tpp/Reference$en-us.tpp +++ b/uppsrc/$.tpp/Reference$en-us.tpp @@ -5,558 +5,11 @@ topic "AIndex"; [0 $$3,0#96390100711032703541132217272105:end] [H6;0 $$4,0#05600065144404261032431302351956:begin] [i448;a25;kKO9;2 $$5,0#37138531426314131252341829483370:item] -[l288;a17;*@5;1 $$6,6#70004532496200323422659154056402:requirement] +[l288;a4;*@5;1 $$6,6#70004532496200323422659154056402:requirement] [l288;i1121;b17;O9;~~~.1408;2 $$7,0#10431211400427159095818037425705:param] [i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam] -[{_}%EN-US -[s1;%- [@(0.0.255) template]_<[@(0.0.255) class]_[*@4 T], [@(0.0.255) class]_[*@4 V], -[@(0.0.255) class]_[*@4 HashFn]>&] -[s1;:`:`:AIndex`:`:class:%- [@(0.0.255) class]_[* AIndex]&] -[s0;t292; &] -[s0;i150;O9; [*C@4 T]-|Type of elements to store. T must satisfy requirements -for container flavor identified by parameter V and must have -[*C operator`=`=] defined.&] -[s0;i150;O9; [*C@4 V]-|Basic random access container.&] -[s8; [*C@4 HashFn]-|Hashing class. Must have defined [*C unsigned operator()(const -T`& x)] method returning hash value for elements.&] -[s0;i448;b42;O9; &] -[s0; This template class adds associative capabilities to basic random -access containers, forming flavors of Index. It is used as base -class for concrete index flavors, [* Index] and [* ArrayIndex].&] -[s0; It allows adding elements at the end of sequence in constant -amortized time like basic random container. Additionally, it -also allows fast retrieval of a position of the element with -specified value. Hashing is used for this operation. AIndex stores -hash`-values of elements, so it has no sense to cache them externally.&] -[s0; Building of internal hash maps of AIndex is always deferred -till search operation. This effectively avoids unneeded remapping -if large number of elements is added.&] -[s0; Removing elements from an AIndex causes an interesting problem. -While it is possible to simply remove (or insert) an element -at a specified position, such operation has to move a lot of -elements and also scratches internal hash maps. Thus removing -elements this way is slow, especially when combined with searching.&] -[s0; The solution for this problem is [*/ unlinking] of elements. Unlinked -elements are not removed from index, but they are [*/ ignored][/ -]by search operations. Unlinking is a simple, constant time, -fast operation. Further, it is possible to place an element at -the first available unlinked position (rather than to the end -of sequence) using the [* Put] method, reusing unlinked position -in short constant time.&] -[s0; The only problem of unlinking is that it breaks the so`-called -[* multi`-key ordering]. This term means that if there are more -elements with the same value in the index and they are iterated -through using the FindNext method, their positions (got as the -result of Find and subsequent FindNext methods) are in ascending -order. The problem is that it is impossible to implement placing -elements at unlinked positions in short time while preserving -this ordering. On the other hand, usage scenarios for indexes -show that need for unlinking elements and multi`-key ordering -is almost always disjunct. For the rest of the cases, it is always -possible to restore ordering by the [* Reindex] or the [* Sweep] -method.&] -[s0; Like any other NTL container, AIndex is [*/^topic`:`/`/Core`/srcdoc`/Moveable`$en`-us^ m -oveable][*/ ]type with [*/^topic`:`/`/Core`/srcdoc`/Moveable`$en`-us^ pick -and optional deep copy] transfer semantics, although these features -are more important in derived concrete index flavors.&] -[s0; Members&] -[s3;%- &] -[s4;%- &] -[s5;:`:`:AIndex`:`:Add`(const T`&`,unsigned`):%- [@(0.0.255) void]_[* Add]([@(0.0.255) cons -t]_T`&_[*@3 x], [@(0.0.255) unsigned]_[*@3 `_hash])&] -[s2; Adds a new element with a precomputed hash value.The precomputed -hash value must be the same as the hash value that would be the -result of HashFn. The benefit of this variant is that sometimes -you can compute hash`-value as the part of an other process, -like fetching strings from an input stream.&] -[s6; Requires T to have deep copy constructor.&] -[s6; Invalidates iterators to AIndex.&] -[s6; Invalidates references to Index.&] -[s7; [*C@3 x]-|Element to add.&] -[s7; [*C@3 `_hash]-|Precomputed hash value.&] -[s3;%- &] -[s4;%- &] -[s5;:`:`:AIndex`:`:Add`(const T`&`):%- [@(0.0.255) void]_[* Add]([@(0.0.255) const]_T`&_[*@3 x -])&] -[s2; Adds a new element to AIndex.&] -[s6; Requires T to have deep copy constructor.&] -[s6; Invalidates iterators to AIndex.&] -[s6; Invalidates references to Index.&] -[s7; [*C@3 x]-|Element to add.&] -[s3;%- &] -[s4;%- &] -[s5;:`:`:AIndex`:`:Find`(const T`&`,unsigned`)const:%- [@(0.0.255) int]_[* Find]([@(0.0.255) c -onst]_T`&_[*@3 x], [@(0.0.255) unsigned]_[*@3 `_hash])_[@(0.0.255) const]&] -[s2; Retrieves the position of the first element with the specified -value in AIndex, using a precomputed hash value. The precomputed -hash value must be the same as the hash value that would be result -of HashFn. If multi`-key ordering is not broken and more than -one element with the same value exists in AIndex, the lowest -position is retrieved. If the specified value does not exist -in AIndex, a negative number is returned. Unlinked elements are -ignored.&] -[s7; [*C@3 x]-|Element to find.&] -[s7; [*C@3 `_hash]-|Precomputed hash value.&] -[s7; [*/ Return value]-|Position of the element or negative value if -value is not in AIndex.&] -[s3;%- &] -[s4;%- &] -[s5;:`:`:AIndex`:`:Find`(const T`&`)const:%- [@(0.0.255) int]_[* Find]([@(0.0.255) const]_T -`&_[*@3 x])_[@(0.0.255) const]&] -[s2; Retrieves the position of the first element with the specified -value in AIndex. If multi`-key ordering is not broken and more -than one element with the same value exists in AIndex, lowest -position is retrieved. If the specified value does not exist -in AIndex, a negative number is returned. Unlinked elements are -ignored.&] -[s7; [*C@3 x]-|Element to find.&] -[s7; [*/ Return value]-|Position of the element or negative value if -value is not in AIndex.&] -[s3;%- &] -[s4;%- &] -[s5;:`:`:AIndex`:`:FindNext`(int`)const:%- [@(0.0.255) int]_[* FindNext]([@(0.0.255) int]_[*@3 i -])_[@(0.0.255) const]&] -[s2; Retrieves the position of the next element with the same value -as the element at specified position. If multi`-key ordering -is not broken and more than one element with that value exists -in AIndex, the lowest position greater than specified one is -retrieved, so positions returned by subsequent calls to FindNext -are in ascending order. When there are no more elements with -the required value, a negative number is returned. Unlinked elements -are ignored.&] -[s7; [*C@3 i]-|Position of the element.&] -[s7; [*/ Return value]-|Position of the next element with same value.&] -[s3;%- &] -[s4;%- &] -[s5;:`:`:AIndex`:`:FindLast`(const T`&`,unsigned`)const:%- [@(0.0.255) int]_[* FindLast]( -[@(0.0.255) const]_T`&_[*@3 x], [@(0.0.255) unsigned]_[*@3 `_hash])_[@(0.0.255) const]&] -[s2; Retrieves the position of the last element with specified value -in AIndex, using a precomputed hash value. The precomputed hash -value must be the same as the hash value that would be the result -of HashFn. If multi`-key ordering is not broken and more than -one element with the same value exists in AIndex, the greatest -position is retrieved. If the specified value does not exist -in AIndex, a negative number is returned. Unlinked elements are -ignored.&] -[s7; [*C@3 x]-|Element to find.&] -[s7; [*C@3 `_hash]-|Precomputed hash value.&] -[s7; [*/ Return value]-|Position of the element or negative number if -value is not in AIndex.&] -[s3;%- &] -[s4;%- &] -[s5;:`:`:AIndex`:`:FindLast`(const T`&`)const:%- [@(0.0.255) int]_[* FindLast]([@(0.0.255) c -onst]_T`&_[*@3 x])_[@(0.0.255) const]&] -[s2; Retrieves the position of the last element with specified value -in AIndex. If multi`-key ordering is not broken and more than -one element with the same value exists in AIndex, the greatest -position is retrieved. If element does not exist in AIndex, a -negative number is returned. Unlinked elements are ignored.&] -[s7; [*C@3 x]-|Element to find.&] -[s7; [*C@3 `_hash]-|Precomputed hash value.&] -[s7; [*/ Return value]-|Position of the element or negative number if -value is not in AIndex.&] -[s3;%- &] -[s4;%- &] -[s5;:`:`:AIndex`:`:FindPrev`(int`)const:%- [@(0.0.255) int]_[* FindPrev]([@(0.0.255) int]_[*@3 i -])_[@(0.0.255) const]&] -[s2; Retrieves the position of the previous element with the same -value as the element at the specified position. If multi`-key -ordering is not broken and more than one element with that value -exists in AIndex, the greatest position lower than specified -one is retrieved (so that positions got by subsequent calls to -FindNext are in descending order). When there are no more elements -with required value, negative number is returned. Unlinked elements -are ignored.&] -[s7; [*C@3 i]-|Position of the element.&] -[s7; [*/ Return value]-|Position of the previous element with same value.&] -[s3;%- &] -[s4;%- &] -[s5;:`:`:AIndex`:`:FindAdd`(const T`&`,unsigned`):%- [@(0.0.255) int]_[* FindAdd]([@(0.0.255) c -onst]_T`&_[*@3 key], [@(0.0.255) unsigned]_[*@3 `_hash])&] -[s2; Retrieves position of first element with specified value in -AIndex, using a precomputed hash value. Precomputed hash value -must be same as hash value that would be result of HashFn. If -multi`-key ordering is not broken and more than one element with -the same value exists in AIndex, the lowest position is retrieved. -If element does not exist in AIndex, it is added to AIndex and -position of this newly added element is returned. Unlinked elements -are ignored.&] -[s7; [*C@3 key]-|Element to find or add.&] -[s7; [*C@3 `_hash]-|Precomputed hash value.&] -[s7; [*/ Return value]-|Position of the found or added element.&] -[s3;%- &] -[s4;%- &] -[s5;:`:`:AIndex`:`:FindAdd`(const T`&`):%- [@(0.0.255) int]_[* FindAdd]([@(0.0.255) const]_ -T`&_[*@3 key])&] -[s2; Retrieves position of first element with specified value in -AIndex. If multi`-key ordering is not broken and more than one -element with the same value exists in AIndex, lowest position -is retrieved. If element does not exist in AIndex, it is added -to AIndex and position of this newly added element is returned. -Unlinked elements are ignored.&] -[s7; [*C@3 key]-|Element to find or add.&] -[s7; [*/ Return value]-|Position of the found or added element.&] -[s3;%- &] -[s4;%- &] -[s5;:`:`:AIndex`:`:operator`<`<`(const T`&`):%- [_^`:`:AIndex^ AIndex]`&_[* operator<<]([@(0.0.255) c -onst]_[*@4 T]`&_[*@3 x])&] -[s2; Operator replacement of [* void Add(const T`& x)]. By returning -reference to AIndex it allows adding multiple elements in a single -expression, thus e.g. allowing to construct a temporary Index -as part of an expression like Foo((Index() << 1 << 2)).&] -[s6; Requires T to have deep copy constructor.&] -[s6; Invalidates iterators to AIndex.&] -[s6; Invalidates references to Index.&] -[s7; [*C@3 newt]-|Element to be added.&] -[s7; [*/ Return value]-|Reference to AIndex.&] -[s3;%- &] -[s4;%- &] -[s5;:`:`:AIndex`:`:Unlink`(int`):%- [@(0.0.255) void]_[* Unlink]([@(0.0.255) int]_[*@3 i])&] -[s2; Unlinks the element at the specified position. The unlinked -item stays in AIndex but is ignored by any Find operation.&] -[s7; [*C@3 i]-|Position of item to unlink.&] -[s3;%- &] -[s4;%- &] -[s5;:`:`:AIndex`:`:Put`(const T`&`,unsigned`):%- [@(0.0.255) int]_[* Put]([@(0.0.255) const -]_T`&_[*@3 x], [@(0.0.255) unsigned]_[*@3 `_hash])&] -[s2; If there are any unlinked elements in AIndex, one of them is -replaced by specified value. If there are no unlinked elements, -the element with the specified value is appended to the end of -AIndex using [* Add]. The precomputed hash should be same as the -result of HashFn. The position of the placed element is returned.&] -[s6; Invalidates multi`-key ordering.&] -[s6; Requires T to have deep copy constructor.&] -[s6; Invalidates iterators to AIndex.&] -[s6; Invalidates references to Index.&] -[s7; [*C@3 x]-|Element to put into AIndex.&] -[s7; [*C@3 `_hash]-|Precomputed hash value.&] -[s7; [*/ Return value]-|Position where the element was placed.&] -[s3;%- &] -[s4;%- &] -[s5;:`:`:AIndex`:`:Put`(const T`&`):%- [@(0.0.255) int]_[* Put]([@(0.0.255) const]_T`&_[*@3 x -])&] -[s2; If there are any unlinked elements in AIndex, one of them is -replaced by specified value. If there are no unlinked elements, -the element with the specified value is appended to the end of -AIndex using [* Add]. The position of the placed element is returned.&] -[s6; Invalidates multi`-key ordering.&] -[s6; Requires T to have deep copy constructor.&] -[s6; Invalidates iterators to AIndex.&] -[s7; [*C@3 x]-|Element to put into AIndex.&] -[s7; [*/ Return value]-|Position where element is placed.&] -[s3;%- &] -[s4;%- &] -[s5;:`:`:AIndex`:`:FindPut`(const T`&`,unsigned`):%- [@(0.0.255) int]_[* FindPut]([@(0.0.255) c -onst]_T`&_[*@3 key], [@(0.0.255) unsigned]_[*@3 `_hash])&] -[s2; Retrieves the position of the first element with the specified -value in AIndex, using a precomputed hash value. The precomputed -hash value must be the same as the hash value that would be the -result of HashFn. If the specified value does not exist in the -AIndex, it is placed to it using [* Put(const T`& x, unsigned `_hash).] -The position of the found or placed element is returned.&] -[s6;~~~.992; Invalidates multi`-key ordering.&] -[s6; Requires T to have deep copy constructor.&] -[s6; Invalidates iterators to AIndex.&] -[s6; Invalidates references to Index.&] -[s7; [*C@3 key]-|Element to find or put.&] -[s7; [*C@3 `_hash]-|Precomputed hash value.&] -[s7; [*/ Return value]-|Position of the found or placed element.&] -[s3;%- &] -[s4;%- &] -[s5;:`:`:AIndex`:`:FindPut`(const T`&`):%- [@(0.0.255) int]_[* FindPut]([@(0.0.255) const]_ -T`&_[*@3 key])&] -[s2; Retrieves the position of the first element with the specified -value in AIndex. If the element does not exist in the AIndex, -it is placed to it using [* Put(const T`& x).] The position of -the found or placed element is returned.&] -[s6; Invalidates multi`-key ordering.&] -[s6; Requires T to have deep copy constructor.&] -[s6; Invalidates iterators to AIndex.&] -[s6; Invalidates references to Index.&] -[s7; [*C@3 key]-|Element to find or put.&] -[s7; [*C@3 `_hash]-|Precomputed hash value.&] -[s7; [*/ Return value]-|Position of the found or placed element.&] -[s3;%- &] -[s4;%- &] -[s5;:`:`:AIndex`:`:Set`(int`,const T`&`,unsigned`):%- [@(0.0.255) void]_[* Set]([@(0.0.255) i -nt]_[*@3 i], [@(0.0.255) const]_T`&_[*@3 x], [@(0.0.255) unsigned]_[*@3 `_hash])&] -[s2; Replaces the element at the specified position with a new element -with the specified value, using a precomputed hash`-value. Speed -of this operation depends on the total number of elements with -the same value as the specified one.&] -[s6; Requires T to have deep copy constructor.&] -[s6; Invalidates iterators to AIndex.&] -[s6; Invalidates references to Index.&] -[s7; [*C@3 i]-|Position of the element.&] -[s7; [*C@3 x]-|Value to set.&] -[s7; [*C@3 `_hash]-|Precomputed hash value.&] -[s3;%- &] -[s4;%- &] -[s5;:`:`:AIndex`:`:Set`(int`,const T`&`):%- [@(0.0.255) void]_[* Set]([@(0.0.255) int]_[*@3 i -], [@(0.0.255) const]_T`&_[*@3 x])&] -[s2; Replaces the element at the specified position with a new element -with the specified value. Speed of this operation depends on -total number of elements with the same value as specified the -specified one.&] -[s6; Requires T to have deep copy constructor.&] -[s6; Invalidates iterators to AIndex.&] -[s6; Invalidates references to Index.&] -[s7; [*C@3 i]-|Position of the element.&] -[s7; [*C@3 x]-|Value to set.&] -[s3;%- &] -[s4;%- &] -[s5;:`:`:AIndex`:`:operator`[`]`(int`)const:%- [@(0.0.255) const]_[*@4 T]`&_[* operator`[`] -]([@(0.0.255) int]_[*@3 i])_[@(0.0.255) const]&] -[s2; Returns the element at the specified position.&] -[s7; [*C@3 i]-|Position of the element.&] -[s7; [*/ Return value]-|Constant reference to element.&] -[s3;%- &] -[s4;%- &] -[s5;:`:`:AIndex`:`:GetCount`(`)const:%- [@(0.0.255) int]_[* GetCount]()_[@(0.0.255) const]&] -[s2; Returns number of elements in AIndex.&] -[s7; [*/ Return value]-|Actual number of elements.&] -[s3;%- &] -[s4;%- &] -[s5;:`:`:AIndex`:`:IsEmpty`(`)const:%- [@(0.0.255) bool]_[* IsEmpty]()_[@(0.0.255) const]&] -[s2; Tests whether AIndex is empty. Same as GetCount() `=`= 0.&] -[s7; [*/ Return value]-|true if AIndex is empty, false otherwise.&] -[s3;%- &] -[s4;%- &] -[s5;:`:`:AIndex`:`:Clear`(`):%- [@(0.0.255) void]_[* Clear]()&] -[s2; Removes all elements from AIndex.&] -[s3;%- &] -[s4;%- &] -[s5;:`:`:AIndex`:`:ClearIndex`(`):%- [@(0.0.255) void]_[* ClearIndex]()&] -[s2; Restores multi`-key ordering.&] -[s3;%- &] -[s4;%- &] -[s5;:`:`:AIndex`:`:UnlinkKey`(const T`&`,unsigned`):%- [@(0.0.255) int]_[* UnlinkKey]([@(0.0.255) c -onst]_T`&_[*@3 k], [@(0.0.255) unsigned]_[*@3 h])&] -[s2; Unlinks all elements with specified value using precomputed -hash`-value. Unlinked elements stay in AIndex but are ignored -by any Find operations. Precomputed hash value must be same as -hash value that would be result of HashFn. &] -[s7; [*C@3 k]-|Value of elements to unlink.&] -[s7; [*C@3 h]-|Precomputed hash value.&] -[s7; [*/ Return value]-|Number of elements unlinked.&] -[s3;%- &] -[s4;%- &] -[s5;:`:`:AIndex`:`:UnlinkKey`(const T`&`):%- [@(0.0.255) int]_[* UnlinkKey]([@(0.0.255) con -st]_T`&_[*@3 k])&] -[s2; Unlinks all elements with specified value. Unlinked elements -remain in the AIndex but are ignored by any Find operations.&] -[s7; [*C@3 k]-|Value of elements to unlink.&] -[s7; [*/ Return value]-|Number of elements unlinked.&] -[s3;%- &] -[s4;%- &] -[s5;:`:`:AIndex`:`:IsUnlinked`(int`)const:%- [@(0.0.255) bool]_[* IsUnlinked]([@(0.0.255) i -nt]_[*@3 i])_[@(0.0.255) const]&] -[s2; Tests whether the element at the specified position is unlinked.&] -[s7; [*C@3 i]-|Position.&] -[s7; [*/ Return value]-|true if element is unlinked.&] -[s3;%- &] -[s4;%- &] -[s5;:`:`:AIndex`:`:Sweep`(`):%- [@(0.0.255) void]_[* Sweep]()&] -[s2; Removes all unlinked elements from AIndex. Complexity of the -operation depends on the number of elements in AIndex, not on -the number of unlinked elements. Also restores multi`-key ordering.&] -[s3;%- &] -[s4;%- &] -[s5;:`:`:AIndex`:`:Insert`(int`,const T`&`,unsigned`):%- [@(0.0.255) void]_[* Insert]([@(0.0.255) i -nt]_[*@3 i], [@(0.0.255) const]_T`&_[*@3 k], [@(0.0.255) unsigned]_[*@3 h])&] -[s2; Inserts an element with the specified value at the specified -position, using a precomputed hash value. The precomputed hash -value must be the same as the hash value that would be the result -of HashFn. This is a slow operation, especially when combined -with any search operations.&] -[s6; Requires T to have deep copy constructor.&] -[s6; Invalidates iterators to AIndex.&] -[s6; Invalidates references to Index.&] -[s7; [*C@3 i]-|Insert position.&] -[s7; [*C@3 k]-|Element to insert.&] -[s7; [*C@3 h]-|Precomputed hash value.&] -[s3;%- &] -[s4;%- &] -[s5;:`:`:AIndex`:`:Insert`(int`,const T`&`):%- [@(0.0.255) void]_[* Insert]([@(0.0.255) int -]_[*@3 i], [@(0.0.255) const]_T`&_[*@3 k])&] -[s2; Inserts an element with the specified value at the specified -position. This is a slow operation, especially when combined -with any search operations.&] -[s6; Requires T to have deep copy constructor.&] -[s6; Invalidates iterators to AIndex.&] -[s6; Invalidates references to Index.&] -[s7; [*C@3 i]-|Insert position.&] -[s7; [*C@3 k]-|Element to insert.&] -[s3;%- &] -[s4;%- &] -[s5;:`:`:AIndex`:`:Remove`(int`):%- [@(0.0.255) void]_[* Remove]([@(0.0.255) int]_[*@3 i])&] -[s2; Removes the element at the specified position. This is a slow -operation, especially when combined with any search operations.&] -[s6; Invalidates iterators to AIndex.&] -[s6; Invalidates references to Index.&] -[s7; [*C@3 i]-|Position of the element to remove.&] -[s3;%- &] -[s4;%- &] -[s5;:`:`:AIndex`:`:Remove`(const int`*`,int`):%- [@(0.0.255) void]_[* Remove]([@(0.0.255) c -onst]_[@(0.0.255) int]_`*[*@3 sorted`_list], [@(0.0.255) int]_[*@3 count])&] -[s2; Removes multiple elements from AIndex. Time of operation only -slightly depends on the number of removed elements. This is a -slow operation, especially when combined with any search operations.&] -[s6; Invalidates iterators to AIndex.&] -[s6; Invalidates references to Index.&] -[s7; [*C@3 sorted`_list]-|Pointer to array of positions to remove, in -ascending order.&] -[s7; [*C@3 count]-|Number of elements to remove.&] -[s3;%- &] -[s4;%- &] -[s5;:`:`:AIndex`:`:Remove`(const`:`:Vector``&`):%- [@(0.0.255) void]_[* Remove]([@(0.0.255) c -onst]_[_^`:`:Vector^ Vector]<[@(0.0.255) int]>`&_[*@3 sorted`_list])&] -[s2; Removes multiple elements from AIndex. Same as Remove(sorted`_list, -sorted`_list.GetCount()).&] -[s6; Invalidates iterators to AIndex.&] -[s6; Invalidates references to Index.&] -[s7; [*C@3 sorted`_list]-|Sorted Vector of positions to remove.&] -[s3;%- &] -[s4;%- &] -[s5;:`:`:AIndex`:`:RemoveKey`(const T`&`,unsigned`):%- [@(0.0.255) int]_[* RemoveKey]([@(0.0.255) c -onst]_T`&_[*@3 k], [@(0.0.255) unsigned]_[*@3 h])&] -[s2; Removes all elements with the specified value using a precomputed -hash`-value. The precomputed hash value must be the same as the -hash value that would be the result of HashFn. This is a slow -operation, especially when combined with any search operations.&] -[s7; [*C@3 k]-|Value of the elements to remove.&] -[s7; [*C@3 h]-|Precomputed hash value.&] -[s3;%- &] -[s4;%- &] -[s5;:`:`:AIndex`:`:RemoveKey`(const T`&`):%- [@(0.0.255) int]_[* RemoveKey]([@(0.0.255) con -st]_T`&_[*@3 k])&] -[s2; Removes all elements with the specified value. This is a slow -operation, especially when combined with any search operations.&] -[s7; [*C@3 k]-|Value of the elements to remove.&] -[s3;%- &] -[s4;%- &] -[s5;:`:`:AIndex`:`:Trim`(int`):%- [@(0.0.255) void]_[* Trim]([@(0.0.255) int]_[*@3 n])&] -[s2; Reduces the number of elements in AIndex to the specified number. -Requested number must be less than or equal to actual number -of elements in AIndex.&] -[s7; [*C@3 n]-|Requested number of elements.&] -[s3;%- &] -[s4;%- &] -[s5;:`:`:AIndex`:`:Drop`(int`):%- [@(0.0.255) void]_[* Drop]([@(0.0.255) int]_[*@3 n]_`=_[@3 1]) -&] -[s2; Drops the specified number of elements from the end of the AIndex -(same as Trim(GetCount() `- n)).&] -[s7; [*C@3 n]-|Number of elements.&] -[s3;%- &] -[s4;%- &] -[s5;:`:`:AIndex`:`:Top`(`)const:%- [@(0.0.255) const]_[*@4 T]`&_[* Top]()_[@(0.0.255) const]&] -[s2; Returns a reference to the last element in the AIndex.&] -[s7; [*/ Return value]-|Reference of thr last element in the AIndex.&] -[s3;%- &] -[s4;%- &] -[s5;:`:`:AIndex`:`:Reserve`(int`):%- [@(0.0.255) void]_[* Reserve]([@(0.0.255) int]_[*@3 n])&] -[s2; Reserves capacity. If the requested capacity is greater than -current capacity, capacity is increased to the requested value.&] -[s7; [*C@3 n]-|Requested capacity.&] -[s3;%- &] -[s4;%- &] -[s5;:`:`:AIndex`:`:Shrink`(`):%- [@(0.0.255) void]_[* Shrink]()&] -[s2; Minimizes the memory consumption of AIndex by decreasing the -capacity to the number of elements.&] -[s3;%- &] -[s4;%- &] -[s5;:`:`:AIndex`:`:GetAlloc`(`)const:%- [@(0.0.255) int]_[* GetAlloc]()_[@(0.0.255) const]&] -[s2; Returns the current capacity of AIndex.&] -[s7; [*/ Return value]-|Capacity of AIndex.&] -[s3;%- &] -[s4;%- &] -[s5;:`:`:AIndex`:`:Serialize`(`:`:Stream`&`):%- [@(0.0.255) void]_[* Serialize]([_^`:`:Stream^ S -tream]`&_[*@3 s])&] -[s2; Serializes content of AIndex to/from Stream. Works only if NTL -is used as part of UPP.&] -[s6; Requires T to have serialization operator defined.&] -[s7; [*C@3 s]-|Target/source stream.&] -[s3;%- &] -[s4;%- &] -[s5;:`:`:AIndex`:`:PickKeys`(`)pick`_:%- [*@4 V]_[* PickKeys]()_[@(0.128.128) pick`_]&] -[s2; Returns a basic random access container of elements. Destroys -AIndex by picking.&] -[s7; [*/ Return value]-|Basic random access container of elements in -AIndex.&] -[s3;%- &] -[s4;%- &] -[s5;:`:`:AIndex`:`:GetKeys`(`)const:%- [@(0.0.255) const]_[*@4 V]`&_[* GetKeys]()_[@(0.0.255) c -onst]&] -[s2; Returns a constant reference to basic random access container -of elements.&] -[s7; [*/ Return value]-|Constant reference to a basic random access -container of elements.&] -[s3;%- &] -[s4;%- &] -[s5;:`:`:AIndex`:`:operator`=`(pick`_ V`&`):%- [_^`:`:AIndex^ AIndex]`&_[* operator`=]([@(0.128.128) p -ick`_]_V`&_[*@3 s])&] -[s2; Assigns basic random access container to AIndex. Transfers the -source container in short constant time, but destroys it by picking.&] -[s7; [*C@3 s]-|Source container.&] -[s3;%- &] -[s4;%- &] -[s5;:`:`:AIndex`:`:operator`<`<`=`(const V`&`):%- [_^`:`:AIndex^ AIndex]`&_[* operator<<`= -]([@(0.0.255) const]_V`&_[*@3 s])&] -[s2; Assigns the basic random access container to AIndex, while preserving -the value of the source container.&] -[s6; Requires T to have deep copy constructor or optional deep copy.&] -[s7; [*C@3 s]-|Source container.&] -[s3;%- &] -[s4;%- &] -[s5;:`:`:AIndex`:`:AIndex`(pick`_ V`&`):%- [* AIndex]([@(0.128.128) pick`_]_V`&_[*@3 s])&] -[s2; Pick`-constructs AIndex from a basic random access container. -Transfers the source container in short constant time, but destroys -it by picking.&] -[s7; [*C@3 s]-|Source basic random access container.&] -[s3;%- &] -[s4;%- &] -[s5;:`:`:AIndex`:`:AIndex`(const V`&`,int`):%- [* AIndex]([@(0.0.255) const]_V`&_[*@3 s], -[@(0.0.255) int])&] -[s2; Deep`-copy constructs AIndex from basic random access container.&] -[s6; Requires T to have deep copy constructor or optional deep copy -constructor.&] -[s7; [*C@3 s]-|Source AIndex.&] -[s5;K%- typedef_T_ValueType&] -[s2; Typedef of T for use in templated algorithms.&] -[s5;K%- typedef_typename_[^V`:`:ConstIterator^ V`::ConstIterator]_ConstIterator&] -[s2; Constant iterator type.&] -[s3;%- &] -[s4;%- &] -[s5;:`:`:AIndex`:`:Begin`(`)const:%- [_^`:`:AIndex`:`:ConstIterator^ ConstIterator]_[* Be -gin]()_[@(0.0.255) const]&] -[s2; Returns a constant iterator to the first element in AIndex.&] -[s7; [*/ Return value]-|Iterator.&] -[s3;%- &] -[s4;%- &] -[s5;:`:`:AIndex`:`:End`(`)const:%- [_^`:`:AIndex`:`:ConstIterator^ ConstIterator]_[* End]( -)_[@(0.0.255) const]&] -[s2; Returns a constant iterator to the position just beyond the -last element in AIndex.&] -[s7; [*/ Return value]-|Iterator.&] -[s3;%- &] -[s4;%- &] -[s5;:`:`:AIndex`:`:GetIter`(int`)const:%- [_^`:`:AIndex`:`:ConstIterator^ ConstIterator -]_[* GetIter]([@(0.0.255) int]_[*@3 pos])_[@(0.0.255) const]&] -[s2; Returns a constant iterator to the element at specified position. -Same as [* Begin() `+ i]. The benefit of this method is that [* pos] -is range checked in debug mode.&] -[s7; [*C@3 pos]-|Required position.&] -[s7; [*/ Return value]-|Iterator.&] -[s3;%- &] -[s4;%- &] -[s5;:`:`:AIndex`:`:AIndex`(`):%- [* AIndex]()&] -[s2; Constructor. Constructs an empty AIndex.&] -[s3;%- &] -[s4;%- &] -[s5;:`:`:AIndex`:`:AIndex`(const`:`:AIndex`&`,int`):%- [* AIndex]([@(0.0.255) const]_[* AIn -dex]`&_[*@3 s], [@(0.0.255) int])&] -[s2; Optional deep copy constructor.&] -[s6; Requires T to have deep copy constructor or optional deep copy -constructor.&] -[s7; [*C s]-|Source AIndex.&] +[b42;2 $$9,9#13035079074754324216151401829390:normal] +[{_} +[s0;i448;a25;kKO9;:noref:@(0.0.255) &] +[ {{10000F(128)G(128)@1 [s0;%% [* Public Method List]]}}&] [s0; ] \ No newline at end of file diff --git a/uppsrc/Core/src.tpp/AIndex$en-us.tpp b/uppsrc/Core/src.tpp/AIndex$en-us.tpp index 2bb4808f4..f6acb7b6d 100644 --- a/uppsrc/Core/src.tpp/AIndex$en-us.tpp +++ b/uppsrc/Core/src.tpp/AIndex$en-us.tpp @@ -5,7 +5,7 @@ topic "AIndex"; [0 $$3,0#96390100711032703541132217272105:end] [H6;0 $$4,0#05600065144404261032431302351956:begin] [i448;a25;kKO9;2 $$5,0#37138531426314131252341829483370:item] -[l288;a17;*@5;1 $$6,6#70004532496200323422659154056402:requirement] +[l288;a4;*@5;1 $$6,6#70004532496200323422659154056402:requirement] [l288;i1121;b17;O9;~~~.1408;2 $$7,0#10431211400427159095818037425705:param] [i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam] [b42;2 $$9,9#13035079074754324216151401829390:normal] @@ -60,14 +60,15 @@ are more important in derived concrete index flavors.&] [s4;%- &] [s5;:`:`:AIndex`:`:Add`(const T`&`,unsigned`):%- [@(0.0.255) void]_[* Add]([@(0.0.255) cons t]_[*@4 T][@(0.0.255) `&]_[*@3 x], [@(0.0.255) unsigned]_[*@3 `_hash])&] -[s2; Adds a new element [%-*@3 x] with a precomputed hash value [%-*@3 `_hash].The -precomputed hash value must be the same as the hash value that -would be the result of HashFn. The benefit of this variant is -that sometimes you can compute hash`-value as the part of an -other process, like fetching strings from an input stream.&] +[s2; Adds a new element [%-*@3 x] with a precomputed hash value [%-*@3 `_hash]. +The performance benefit of this variant is that sometimes you +can compute hash`-value as the part of an other process, like +fetching strings from an input stream.&] [s6; Requires T to have deep copy constructor.&] [s6; Invalidates iterators to AIndex.&] [s6; Invalidates references to Index.&] +[s6; The precomputed [%-@3 `_hash] must be the same as the hash specified +by HashFn.&] [s3;%- &] [s4;%- &] [s5;:`:`:AIndex`:`:Add`(const T`&`):%- [@(0.0.255) void]_[* Add]([@(0.0.255) const]_[*@4 T][@(0.0.255) `& @@ -81,12 +82,13 @@ other process, like fetching strings from an input stream.&] [s5;:`:`:AIndex`:`:Find`(const T`&`,unsigned`)const:%- [@(0.0.255) int]_[* Find]([@(0.0.255) c onst]_[*@4 T][@(0.0.255) `&]_[*@3 x], [@(0.0.255) unsigned]_[*@3 `_hash])_[@(0.0.255) const]&] [s2; Returns the position of the first element with value [%-*@3 x] -in AIndex, using a precomputed [%-*@3 `_hash]. The precomputed -hash must be the same as the hash specified by HashFn. If multi`-key -ordering is not broken and more than one element with the same -value exists in AIndex, the lowest position is returned. If the -specified value does not exist in AIndex, a negative number is -returned. Unlinked elements are ignored.&] +in AIndex, using a precomputed [%-*@3 `_hash]. If multi`-key ordering +is not broken and more than one element with the same value exists +in AIndex, the lowest position is returned. If the specified +value does not exist in AIndex, a negative number is returned. +Unlinked elements are ignored.&] +[s6; The precomputed [%-@3 `_hash] must be the same as the hash specified +by HashFn.&] [s3;%- &] [s4;%- &] [s5;:`:`:AIndex`:`:Find`(const T`&`)const:%- [@(0.0.255) int]_[* Find]([@(0.0.255) const]_[*@4 T @@ -113,12 +115,13 @@ number is returned. Unlinked elements are ignored.&] [@(0.0.255) const]_[*@4 T][@(0.0.255) `&]_[*@3 x], [@(0.0.255) unsigned]_[*@3 `_hash])_[@(0.0.255) c onst]&] [s2; Returns the position of the last element with value [%-*@3 x] -in AIndex, using a precomputed [%-*@3 `_hash]. The precomputed -hash must be the same as the hash specified by HashFn. If multi`-key -ordering is not broken and more than one element with the same -value exists in AIndex, the greatest position is retrieved. If -the specified value does not exist in AIndex, a negative number -is returned. Unlinked elements are ignored.&] +in AIndex, using a precomputed [%-*@3 `_hash]. If multi`-key ordering +is not broken and more than one element with the same value exists +in AIndex, the greatest position is retrieved. If the specified +value does not exist in AIndex, a negative number is returned. +Unlinked elements are ignored.&] +[s6; The precomputed [%-@3 `_hash] must be the same as the hash specified +by HashFn.&] [s3;%- &] [s4;%- &] [s5;:`:`:AIndex`:`:FindLast`(const T`&`)const:%- [@(0.0.255) int]_[* FindLast]([@(0.0.255) c @@ -143,83 +146,78 @@ negative number is returned. Unlinked elements are ignored.&] [s4;%- &] [s5;:`:`:AIndex`:`:FindAdd`(const T`&`,unsigned`):%- [@(0.0.255) int]_[* FindAdd]([@(0.0.255) c onst]_[*@4 T][@(0.0.255) `&]_[*@3 key], [@(0.0.255) unsigned]_[*@3 `_hash])&] -[s2; Retrieves position of first element with specified value in -AIndex, using a precomputed hash value. Precomputed hash value -must be same as hash value that would be result of HashFn. If -multi`-key ordering is not broken and more than one element with -the same value exists in AIndex, the lowest position is retrieved. -If element does not exist in AIndex, it is added to AIndex and -position of this newly added element is returned. Unlinked elements -are ignored.&] -[s7; [*C@3 key]-|Element to find or add.&] -[s7; [*C@3 `_hash]-|Precomputed hash value.&] -[s7; [*/ Return value]-|Position of the found or added element.&] -[s3;%- &] +[s2; Retrieves position of first element with value [%-*@3 key] in +AIndex, using a precomputed [%-*@3 `_hash]. If multi`-key ordering +is not broken and more than one element with the same value exists +in AIndex, the greatest position is retrieved. If element does +not exist in AIndex, it is added to AIndex and position of this +newly added element is returned. Unlinked elements are ignored.&] +[s0;l288;a4;%- [*@5;1 Requires T to have deep copy constructor.]&] +[s0;l288;a4;%- [*@5;1 Invalidates iterators to AIndex.]&] +[s6;%- Invalidates references to Index.&] +[s6; The precomputed [%-@3 `_hash] must be the same as the hash specified +by HashFn.&] +[s3;@5 &] [s4;%- &] [s5;:`:`:AIndex`:`:FindAdd`(const T`&`):%- [@(0.0.255) int]_[* FindAdd]([@(0.0.255) const]_ [*@4 T][@(0.0.255) `&]_[*@3 key])&] -[s2; Retrieves position of first element with specified value in +[s2; Retrieves position of first element with value [%-*@3 key] in AIndex. If multi`-key ordering is not broken and more than one element with the same value exists in AIndex, lowest position is retrieved. If element does not exist in AIndex, it is added to AIndex and position of this newly added element is returned. Unlinked elements are ignored.&] -[s7; [*C@3 key]-|Element to find or add.&] -[s7; [*/ Return value]-|Position of the found or added element.&] +[s0;l288;a4;%- [*@5;1 Requires T to have deep copy constructor.]&] +[s0;l288;a4;%- [*@5;1 Invalidates iterators to AIndex.]&] +[s2;%- [*@5;1 Invalidates references to Index.]&] [s3;%- &] [s4;%- &] [s5;:`:`:AIndex`:`:operator`<`<`(const T`&`):%- [_^`:`:AIndex^ AIndex][@(0.0.255) `&]_[* op erator<<]([@(0.0.255) const]_[*@4 T][@(0.0.255) `&]_[*@3 x])&] -[s2; Operator replacement of [* void Add(const T`& x)]. By returning +[s2; Operator alternative of [* void Add(const T`& x)]. By returning reference to AIndex it allows adding multiple elements in a single expression, thus e.g. allowing to construct a temporary Index as part of an expression like Foo((Index() << 1 << 2)).&] [s6; Requires T to have deep copy constructor.&] [s6; Invalidates iterators to AIndex.&] [s6; Invalidates references to Index.&] -[s7; [*C@3 newt]-|Element to be added.&] -[s7; [*/ Return value]-|Reference to AIndex.&] [s3;%- &] [s4;%- &] [s5;:`:`:AIndex`:`:Unlink`(int`):%- [@(0.0.255) void]_[* Unlink]([@(0.0.255) int]_[*@3 i])&] -[s2; Unlinks the element at the specified position. The unlinked -item stays in AIndex but is ignored by any Find operation.&] -[s7; [*C@3 i]-|Position of item to unlink.&] +[s2; Unlinks the element at [%-*@3 i]. The unlinked item stays in AIndex +but is ignored by any Find operation.&] [s3;%- &] [s4;%- &] [s5;:`:`:AIndex`:`:Put`(const T`&`,unsigned`):%- [@(0.0.255) int]_[* Put]([@(0.0.255) const ]_[*@4 T][@(0.0.255) `&]_[*@3 x], [@(0.0.255) unsigned]_[*@3 `_hash])&] [s2; If there are any unlinked elements in AIndex, one of them is -replaced by specified value. If there are no unlinked elements, -the element with the specified value is appended to the end of -AIndex using [* Add]. The precomputed hash should be same as the -result of HashFn. The position of the placed element is returned.&] +replaced by [%-*@3 x]. If there are no unlinked elements, the element +with the specified value is appended to the end of AIndex using +[* Add]. The position of newly placed element is returned.&] [s6; Invalidates multi`-key ordering.&] [s6; Requires T to have deep copy constructor.&] [s6; Invalidates iterators to AIndex.&] [s6; Invalidates references to Index.&] -[s7; [*C@3 x]-|Element to put into AIndex.&] -[s7; [*C@3 `_hash]-|Precomputed hash value.&] -[s7; [*/ Return value]-|Position where the element was placed.&] +[s6; The precomputed [%-@3 `_hash] must be the same as the hash specified +by HashFn.&] [s3;%- &] [s4;%- &] [s5;:`:`:AIndex`:`:Put`(const T`&`):%- [@(0.0.255) int]_[* Put]([@(0.0.255) const]_[*@4 T][@(0.0.255) `& ]_[*@3 x])&] [s2; If there are any unlinked elements in AIndex, one of them is -replaced by specified value. If there are no unlinked elements, -the element with the specified value is appended to the end of -AIndex using [* Add]. The position of the placed element is returned.&] +replaced by [%-*@3 x]. If there are no unlinked elements, the element +with the specified value is appended to the end of AIndex using +[* Add]. The position of the newly placed element is returned.&] [s6; Invalidates multi`-key ordering.&] [s6; Requires T to have deep copy constructor.&] [s6; Invalidates iterators to AIndex.&] -[s7; [*C@3 x]-|Element to put into AIndex.&] -[s7; [*/ Return value]-|Position where element is placed.&] -[s3;%- &] +[s6; Invalidates references to Index.&] +[s3; &] [s4;%- &] [s5;:`:`:AIndex`:`:FindPut`(const T`&`,unsigned`):%- [@(0.0.255) int]_[* FindPut]([@(0.0.255) c onst]_[*@4 T][@(0.0.255) `&]_[*@3 key], [@(0.0.255) unsigned]_[*@3 `_hash])&] -[s2; Retrieves the position of the first element with the specified -value in AIndex, using a precomputed hash value. The precomputed +[s2; Retrieves the position of the first element with the value [%-*@3 key] +in AIndex, using a precomputed [%-*@3 `_hash]. The precomputed hash value must be the same as the hash value that would be the result of HashFn. If the specified value does not exist in the AIndex, it is placed to it using [* Put(const T`& x, unsigned `_hash).] @@ -228,69 +226,57 @@ The position of the found or placed element is returned.&] [s6; Requires T to have deep copy constructor.&] [s6; Invalidates iterators to AIndex.&] [s6; Invalidates references to Index.&] -[s7; [*C@3 key]-|Element to find or put.&] -[s7; [*C@3 `_hash]-|Precomputed hash value.&] -[s7; [*/ Return value]-|Position of the found or placed element.&] +[s6;%- The precomputed [@3 `_hash] must be the same as the hash specified +by HashFn.&] [s3;%- &] [s4;%- &] [s5;:`:`:AIndex`:`:FindPut`(const T`&`):%- [@(0.0.255) int]_[* FindPut]([@(0.0.255) const]_ [*@4 T][@(0.0.255) `&]_[*@3 key])&] -[s2; Retrieves the position of the first element with the specified -value in AIndex. If the element does not exist in the AIndex, -it is placed to it using [* Put(const T`& x).] The position of -the found or placed element is returned.&] +[s2; Retrieves the position of the first element with value [%-*@3 key] +in AIndex. If the element does not exist in the AIndex, it is +placed to it using [* Put(const T`& x).] The position of the found +or placed element is returned.&] [s6; Invalidates multi`-key ordering.&] [s6; Requires T to have deep copy constructor.&] [s6; Invalidates iterators to AIndex.&] [s6; Invalidates references to Index.&] -[s7; [*C@3 key]-|Element to find or put.&] -[s7; [*C@3 `_hash]-|Precomputed hash value.&] -[s7; [*/ Return value]-|Position of the found or placed element.&] [s3;%- &] [s4;%- &] [s5;:`:`:AIndex`:`:Set`(int`,const T`&`,unsigned`):%- [@(0.0.255) void]_[* Set]([@(0.0.255) i nt]_[*@3 i], [@(0.0.255) const]_[*@4 T][@(0.0.255) `&]_[*@3 x], [@(0.0.255) unsigned]_[*@3 `_ha sh])&] [s2; Replaces the element at the specified position with a new element -with the specified value, using a precomputed hash`-value. Speed -of this operation depends on the total number of elements with -the same value as the specified one.&] +with value [%-*@3 x], using a precomputed [%-*@3 `_hash]. Speed of +this operation depends on the total number of elements with the +same value as the specified one.&] [s6; Requires T to have deep copy constructor.&] [s6; Invalidates iterators to AIndex.&] [s6; Invalidates references to Index.&] -[s7; [*C@3 i]-|Position of the element.&] -[s7; [*C@3 x]-|Value to set.&] -[s7; [*C@3 `_hash]-|Precomputed hash value.&] +[s6;%- The precomputed [@3 `_hash] must be the same as the hash specified +by HashFn.&] [s3;%- &] [s4;%- &] [s5;:`:`:AIndex`:`:Set`(int`,const T`&`):%- [@(0.0.255) void]_[* Set]([@(0.0.255) int]_[*@3 i ], [@(0.0.255) const]_[*@4 T][@(0.0.255) `&]_[*@3 x])&] [s2; Replaces the element at the specified position with a new element -with the specified value. Speed of this operation depends on -total number of elements with the same value as specified the -specified one.&] +with value [%-*@3 x]. Speed of this operation depends on the total +number of elements with the same value as the specified one.&] [s6; Requires T to have deep copy constructor.&] [s6; Invalidates iterators to AIndex.&] [s6; Invalidates references to Index.&] -[s7; [*C@3 i]-|Position of the element.&] -[s7; [*C@3 x]-|Value to set.&] [s3;%- &] [s4;%- &] [s5;:`:`:AIndex`:`:operator`[`]`(int`)const:%- [@(0.0.255) const]_[*@4 T][@(0.0.255) `&]_[* o perator`[`]]([@(0.0.255) int]_[*@3 i])_[@(0.0.255) const]&] [s2; Returns the element at the specified position.&] -[s7; [*C@3 i]-|Position of the element.&] -[s7; [*/ Return value]-|Constant reference to element.&] [s3;%- &] [s4;%- &] [s5;:`:`:AIndex`:`:GetCount`(`)const:%- [@(0.0.255) int]_[* GetCount]()_[@(0.0.255) const]&] [s2; Returns number of elements in AIndex.&] -[s7; [*/ Return value]-|Actual number of elements.&] [s3;%- &] [s4;%- &] [s5;:`:`:AIndex`:`:IsEmpty`(`)const:%- [@(0.0.255) bool]_[* IsEmpty]()_[@(0.0.255) const]&] [s2; Tests whether AIndex is empty. Same as GetCount() `=`= 0.&] -[s7; [*/ Return value]-|true if AIndex is empty, false otherwise.&] [s3;%- &] [s4;%- &] [s5;:`:`:AIndex`:`:Clear`(`):%- [@(0.0.255) void]_[* Clear]()&] @@ -302,29 +288,24 @@ perator`[`]]([@(0.0.255) int]_[*@3 i])_[@(0.0.255) const]&] [s3;%- &] [s4;%- &] [s5;:`:`:AIndex`:`:UnlinkKey`(const T`&`,unsigned`):%- [@(0.0.255) int]_[* UnlinkKey]([@(0.0.255) c -onst]_[*@4 T][@(0.0.255) `&]_[*@3 k], [@(0.0.255) unsigned]_[*@3 h])&] -[s2; Unlinks all elements with specified value using precomputed -hash`-value. Unlinked elements stay in AIndex but are ignored -by any Find operations. Precomputed hash value must be same as -hash value that would be result of HashFn. &] -[s7; [*C@3 k]-|Value of elements to unlink.&] -[s7; [*C@3 h]-|Precomputed hash value.&] -[s7; [*/ Return value]-|Number of elements unlinked.&] +onst]_[*@4 T][@(0.0.255) `&]_[*@3 k], [@(0.0.255) unsigned]_[*@3 `_hash])&] +[s2; Unlinks all elements with value [%-*@3 k] using precomputed [%-*@3 `_hash]. +Unlinked elements stay in AIndex but are ignored by any Find +operations. Precomputed hash value must be same as hash value +that would be result of HashFn. &] +[s6;%- The precomputed [@3 `_hash] must be the same as the hash specified +by HashFn.&] [s3;%- &] [s4;%- &] [s5;:`:`:AIndex`:`:UnlinkKey`(const T`&`):%- [@(0.0.255) int]_[* UnlinkKey]([@(0.0.255) con st]_[*@4 T][@(0.0.255) `&]_[*@3 k])&] -[s2; Unlinks all elements with specified value. Unlinked elements -remain in the AIndex but are ignored by any Find operations.&] -[s7; [*C@3 k]-|Value of elements to unlink.&] -[s7; [*/ Return value]-|Number of elements unlinked.&] +[s2; Unlinks all elements with value [%-*@3 k]. Unlinked elements remain +in the AIndex but are ignored by any Find operations.&] [s3;%- &] [s4;%- &] [s5;:`:`:AIndex`:`:IsUnlinked`(int`)const:%- [@(0.0.255) bool]_[* IsUnlinked]([@(0.0.255) i nt]_[*@3 i])_[@(0.0.255) const]&] -[s2; Tests whether the element at the specified position is unlinked.&] -[s7; [*C@3 i]-|Position.&] -[s7; [*/ Return value]-|true if element is unlinked.&] +[s2; Tests whether the element at [%-*@3 i] is unlinked.&] [s3;%- &] [s4;%- &] [s5;:`:`:AIndex`:`:Sweep`(`):%- [@(0.0.255) void]_[* Sweep]()&] @@ -335,49 +316,39 @@ the number of unlinked elements. Also restores multi`-key ordering.&] [s4;%- &] [s5;:`:`:AIndex`:`:Insert`(int`,const T`&`,unsigned`):%- [@(0.0.255) void]_[* Insert]([@(0.0.255) i nt]_[*@3 i], [@(0.0.255) const]_[*@4 T][@(0.0.255) `&]_[*@3 k], [@(0.0.255) unsigned]_[*@3 h])&] -[s2; Inserts an element with the specified value at the specified -position, using a precomputed hash value. The precomputed hash -value must be the same as the hash value that would be the result -of HashFn. This is a slow operation, especially when combined -with any search operations.&] +[s2; Inserts an element with value [%-*@3 k] at the specified position +[%-*@3 i], using a precomputed hash [%-*@3 h]. This is a slow operation.&] [s6; Requires T to have deep copy constructor.&] [s6; Invalidates iterators to AIndex.&] [s6; Invalidates references to Index.&] -[s7; [*C@3 i]-|Insert position.&] -[s7; [*C@3 k]-|Element to insert.&] -[s7; [*C@3 h]-|Precomputed hash value.&] +[s6;%- The precomputed [@3 `_hash] must be the same as the hash specified +by HashFn.&] [s3;%- &] [s4;%- &] [s5;:`:`:AIndex`:`:Insert`(int`,const T`&`):%- [@(0.0.255) void]_[* Insert]([@(0.0.255) int ]_[*@3 i], [@(0.0.255) const]_[*@4 T][@(0.0.255) `&]_[*@3 k])&] -[s2; Inserts an element with the specified value at the specified -position. This is a slow operation, especially when combined -with any search operations.&] +[s2; Inserts an element with value [%-*@3 k] at the specified position +[%-*@3 i]. This is a slow operation.&] [s6; Requires T to have deep copy constructor.&] [s6; Invalidates iterators to AIndex.&] [s6; Invalidates references to Index.&] -[s7; [*C@3 i]-|Insert position.&] -[s7; [*C@3 k]-|Element to insert.&] [s3;%- &] [s4;%- &] [s5;:`:`:AIndex`:`:Remove`(int`):%- [@(0.0.255) void]_[* Remove]([@(0.0.255) int]_[*@3 i])&] -[s2; Removes the element at the specified position. This is a slow -operation, especially when combined with any search operations.&] +[s2; Removes an element with value [%-*@3 k] at the specified position +[%-*@3 i]. This is a slow operation.&] [s6; Invalidates iterators to AIndex.&] [s6; Invalidates references to Index.&] -[s7; [*C@3 i]-|Position of the element to remove.&] [s3;%- &] [s4;%- &] [s5;:`:`:AIndex`:`:Remove`(const int`*`,int`):%- [@(0.0.255) void]_[* Remove]([@(0.0.255) c onst]_[@(0.0.255) int]_`*[*@3 sorted`_list], [@(0.0.255) int]_[*@3 count])&] [s2; Removes multiple elements from AIndex. Time of operation only slightly depends on the number of removed elements. This is a -slow operation, especially when combined with any search operations.&] +slow operation. [%-*@3 sorted`_list] must point to [%-*@3 count] +positions, sorted in ascending order.&] [s6; Invalidates iterators to AIndex.&] [s6; Invalidates references to Index.&] -[s7; [*C@3 sorted`_list]-|Pointer to array of positions to remove, in -ascending order.&] -[s7; [*C@3 count]-|Number of elements to remove.&] [s3;%- &] [s4;%- &] [s5;:`:`:AIndex`:`:Remove`(const`:`:Vector``&`):%- [@(0.0.255) void]_[* Remove]([@(0.0.255) c @@ -386,50 +357,45 @@ onst]_[_^`:`:Vector^ Vector][@(0.0.255) `&]_[*@3 sorted`_list])&] sorted`_list.GetCount()).&] [s6; Invalidates iterators to AIndex.&] [s6; Invalidates references to Index.&] -[s7; [*C@3 sorted`_list]-|Sorted Vector of positions to remove.&] [s3;%- &] [s4;%- &] [s5;:`:`:AIndex`:`:RemoveKey`(const T`&`,unsigned`):%- [@(0.0.255) int]_[* RemoveKey]([@(0.0.255) c onst]_[*@4 T][@(0.0.255) `&]_[*@3 k], [@(0.0.255) unsigned]_[*@3 h])&] -[s2; Removes all elements with the specified value using a precomputed -hash`-value. The precomputed hash value must be the same as the -hash value that would be the result of HashFn. This is a slow -operation, especially when combined with any search operations.&] -[s7; [*C@3 k]-|Value of the elements to remove.&] -[s7; [*C@3 h]-|Precomputed hash value.&] +[s2; Removes all elements with value [%-*@3 k] using a precomputed +hash [%-*@3 h]. Slow.&] +[s6; Invalidates iterators to AIndex.&] +[s6; Invalidates references to Index.&] +[s6;%- The precomputed [@3 `_hash] must be the same as the hash specified +by HashFn.&] [s3;%- &] [s4;%- &] [s5;:`:`:AIndex`:`:RemoveKey`(const T`&`):%- [@(0.0.255) int]_[* RemoveKey]([@(0.0.255) con st]_[*@4 T][@(0.0.255) `&]_[*@3 k])&] -[s2; Removes all elements with the specified value. This is a slow -operation, especially when combined with any search operations.&] -[s7; [*C@3 k]-|Value of the elements to remove.&] +[s2; Removes all elements with value [%-*@3 k]. Slow.&] +[s6; Invalidates iterators to AIndex.&] +[s6; Invalidates references to Index.&] [s3;%- &] [s4;%- &] [s5;:`:`:AIndex`:`:Trim`(int`):%- [@(0.0.255) void]_[* Trim]([@(0.0.255) int]_[*@3 n])&] -[s2; Reduces the number of elements in AIndex to the specified number. -Requested number must be less than or equal to actual number -of elements in AIndex.&] -[s7; [*C@3 n]-|Requested number of elements.&] +[s2; Reduces the number of elements in AIndex to [%-*@3 n]. Requested +number must be less than or equal to actual number of elements +in AIndex.&] [s3;%- &] [s4;%- &] [s5;:`:`:AIndex`:`:Drop`(int`):%- [@(0.0.255) void]_[* Drop]([@(0.0.255) int]_[*@3 n]_`=_[@3 1]) &] -[s2; Drops the specified number of elements from the end of the AIndex -(same as Trim(GetCount() `- n)).&] -[s7; [*C@3 n]-|Number of elements.&] +[s2; Drops [%-*@3 n] elements from the end of the AIndex (same as Trim(GetCount() +`- n)).&] [s3;%- &] [s4;%- &] [s5;:`:`:AIndex`:`:Top`(`)const:%- [@(0.0.255) const]_[*@4 T][@(0.0.255) `&]_[* Top]()_[@(0.0.255) c onst]&] [s2; Returns a reference to the last element in the AIndex.&] -[s7; [*/ Return value]-|Reference of thr last element in the AIndex.&] [s3;%- &] [s4;%- &] [s5;:`:`:AIndex`:`:Reserve`(int`):%- [@(0.0.255) void]_[* Reserve]([@(0.0.255) int]_[*@3 n])&] -[s2; Reserves capacity. If the requested capacity is greater than -current capacity, capacity is increased to the requested value.&] -[s7; [*C@3 n]-|Requested capacity.&] +[s2; Reserves capacity. If [%-*@3 n] is greater than current capacity, +capacity is increased to the requested value.&] [s3;%- &] [s4;%- &] [s5;:`:`:AIndex`:`:Shrink`(`):%- [@(0.0.255) void]_[* Shrink]()&] @@ -439,37 +405,29 @@ capacity to the number of elements.&] [s4;%- &] [s5;:`:`:AIndex`:`:GetAlloc`(`)const:%- [@(0.0.255) int]_[* GetAlloc]()_[@(0.0.255) const]&] [s2; Returns the current capacity of AIndex.&] -[s7; [*/ Return value]-|Capacity of AIndex.&] [s3;%- &] [s4;%- &] [s5;:`:`:AIndex`:`:Serialize`(`:`:Stream`&`):%- [@(0.0.255) void]_[* Serialize]([_^`:`:Stream^ S tream][@(0.0.255) `&]_[*@3 s])&] -[s2; Serializes content of AIndex to/from Stream. Works only if NTL -is used as part of UPP.&] +[s2; Serializes content of AIndex to/from Stream.&] [s6; Requires T to have serialization operator defined.&] -[s7; [*C@3 s]-|Target/source stream.&] [s3;%- &] [s4;%- &] [s5;:`:`:AIndex`:`:PickKeys`(`)pick`_:%- [*@4 V]_[* PickKeys]()_[@(0.128.128) pick`_]&] [s2; Returns a basic random access container of elements. Destroys AIndex by picking.&] -[s7; [*/ Return value]-|Basic random access container of elements in -AIndex.&] [s3;%- &] [s4;%- &] [s5;:`:`:AIndex`:`:GetKeys`(`)const:%- [@(0.0.255) const]_[*@4 V][@(0.0.255) `&]_[* GetKeys]( )_[@(0.0.255) const]&] [s2; Returns a constant reference to basic random access container of elements.&] -[s7; [*/ Return value]-|Constant reference to a basic random access -container of elements.&] [s3;%- &] [s4;%- &] [s5;:`:`:AIndex`:`:operator`=`(pick`_ V`&`):%- [_^`:`:AIndex^ AIndex][@(0.0.255) `&]_[* ope rator`=]([@(0.128.128) pick`_]_[*@4 V][@(0.0.255) `&]_[*@3 s])&] [s2; Assigns basic random access container to AIndex. Transfers the source container in short constant time, but destroys it by picking.&] -[s7; [*C@3 s]-|Source container.&] [s3;%- &] [s4;%- &] [s5;:`:`:AIndex`:`:operator`<`<`=`(const V`&`):%- [_^`:`:AIndex^ AIndex][@(0.0.255) `&]_[* o @@ -477,7 +435,6 @@ perator<<`=]([@(0.0.255) const]_[*@4 V][@(0.0.255) `&]_[*@3 s])&] [s2; Assigns the basic random access container to AIndex, while preserving the value of the source container.&] [s6; Requires T to have deep copy constructor or optional deep copy.&] -[s7; [*C@3 s]-|Source container.&] [s3;%- &] [s4;%- &] [s5;:`:`:AIndex`:`:AIndex`(pick`_ V`&`):%- [* AIndex]([@(0.128.128) pick`_]_[*@4 V][@(0.0.255) `& @@ -485,7 +442,6 @@ the value of the source container.&] [s2; Pick`-constructs AIndex from a basic random access container. Transfers the source container in short constant time, but destroys it by picking.&] -[s7; [*C@3 s]-|Source basic random access container.&] [s3;%- &] [s4;%- &] [s5;:`:`:AIndex`:`:AIndex`(const V`&`,int`):%- [* AIndex]([@(0.0.255) const]_[*@4 V][@(0.0.255) `& @@ -493,20 +449,17 @@ it by picking.&] [s2; Deep`-copy constructs AIndex from basic random access container.&] [s6; Requires T to have deep copy constructor or optional deep copy constructor.&] -[s7; [*C@3 s]-|Source AIndex.&] [s3;%- &] [s4;%- &] [s5;:`:`:AIndex`:`:Begin`(`)const:%- [_^`:`:AIndex`:`:ConstIterator^ ConstIterator]_[* Be gin]()_[@(0.0.255) const]&] [s2; Returns a constant iterator to the first element in AIndex.&] -[s7; [*/ Return value]-|Iterator.&] [s3;%- &] [s4;%- &] [s5;:`:`:AIndex`:`:End`(`)const:%- [_^`:`:AIndex`:`:ConstIterator^ ConstIterator]_[* End]( )_[@(0.0.255) const]&] [s2; Returns a constant iterator to the position just beyond the last element in AIndex.&] -[s7; [*/ Return value]-|Iterator.&] [s3;%- &] [s4;%- &] [s5;:`:`:AIndex`:`:GetIter`(int`)const:%- [_^`:`:AIndex`:`:ConstIterator^ ConstIterator @@ -514,12 +467,10 @@ last element in AIndex.&] [s2; Returns a constant iterator to the element at specified position. Same as [* Begin() `+ i]. The benefit of this method is that [* pos] is range checked in debug mode.&] -[s7; [*C@3 pos]-|Required position.&] -[s7; [*/ Return value]-|Iterator.&] [s3;%- &] [s4;%- &] [s5;:`:`:AIndex`:`:AIndex`(`):%- [* AIndex]()&] -[s2; Constructor. Constructs an empty AIndex.&] +[s2; Default constructor.&] [s3;%- &] [s4;%- &] [s5;:`:`:AIndex`:`:AIndex`(const`:`:AIndex`&`,int`):%- [* AIndex]([@(0.0.255) const]_[* AIn @@ -527,6 +478,4 @@ dex][@(0.0.255) `&]_[*@3 s], [@(0.0.255) int])&] [s2; Optional deep copy constructor.&] [s6; Requires T to have deep copy constructor or optional deep copy constructor.&] -[s7; [*C s]-|Source AIndex.&] -[s0; &] [s0; ] \ No newline at end of file diff --git a/uppsrc/Core/src.tpp/AMap$en-us.tpp b/uppsrc/Core/src.tpp/AMap$en-us.tpp index 9d725769e..d2da51bfd 100644 --- a/uppsrc/Core/src.tpp/AMap$en-us.tpp +++ b/uppsrc/Core/src.tpp/AMap$en-us.tpp @@ -5,21 +5,18 @@ topic "AMap"; [0 $$3,0#96390100711032703541132217272105:end] [H6;0 $$4,0#05600065144404261032431302351956:begin] [i448;a25;kKO9;2 $$5,0#37138531426314131252341829483370:item] -[l288;a17;*@5;1 $$6,6#70004532496200323422659154056402:requirement] +[l288;a4;*@5;1 $$6,6#70004532496200323422659154056402:requirement] [l288;i1121;b17;O9;~~~.1408;2 $$7,0#10431211400427159095818037425705:param] +[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam] +[b42;2 $$9,9#13035079074754324216151401829390:normal] [{_}%EN-US -[s5;K%- template_<[@(0.0.255) class][@(64) _][@4 K][@(64) , ][@(0.0.255) class][@(64) _][@4 T][@(64) , - ][@(0.0.255) class][@(64) _][@4 V][@(64) , ][@(0.0.255) class][@(64) _][@4 HashFn][@(64) >__][@(0.0.255) c -lass][@(64) _]AMap&] -[s0;~~~64; template &] -[s0;3 &] -[s5;K%- template_<[@(0.0.255) class][@(64) _][@4 K][@(64) , ][@(0.0.255) class][@(64) _][@4 T][@(64) , - ][@(0.0.255) class][@(64) _][@4 V][@(64) , ][@(0.0.255) class][@(64) _][@4 HashFn][@(64) >__][@(0.0.255) c -lass][@(64) _]AMap&] -[s0; &] -[s0; [*C@4 K]-|Type of keys. K must have deep copy constructor, be [*/^dpp`:`/`/SourceDoc`/Containers`/Moveable^ m -oveable] and must have [*C operator`=`=] defined.&] +[s5;:noref:%- [@(0.0.255) template]_<[@(0.0.255) class]_[*@4 K], [@(0.0.255) class]_[*@4 T], +[@(0.0.255) class]_[*@4 V], [@(0.0.255) class]_[*@4 HashFn][@(0.0.255) >]&] +[s1;:`:`:AMap`:`:class:%- [@(0.0.255) class]_[* AMap]&] +[s0;*%- &] +[s0;~~~64; [*C@4 K]-|Type of keys. K must have deep copy constructor, +be [*/^dpp`:`/`/SourceDoc`/Containers`/Moveable^ moveable] and +must have [*C operator`=`=] defined.&] [s0; [*C@4 T]-|Type of values. T must satisfy requirements for container flavor identified by parameter V.&] [s0; [*C@4 V]-|Type of basic random access container.&] @@ -34,9 +31,10 @@ oveable][*/ ]type with [*/^topic`:`/`/Core`/srcdoc`/pick`_`$en`-us^ pick and optional deep copy] transfer semantics, although these features are more important in derived concrete index flavors.&] [s0; Members&] -[s0;3 &] -[s5;K%- [@(0.0.255) void][@(64) _]Add[@(64) (][@(0.0.255) const][@(64) _K`&_][@3 k][@(64) , -][@(0.0.255) const][@(64) _T`&_][@3 x][@(64) )]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:Add`(const K`&`,const T`&`):%- [@(0.0.255) void]_[* Add]([@(0.0.255) const +]_[*@4 K][@(0.0.255) `&]_[*@3 k], [@(0.0.255) const]_[*@4 T][@(0.0.255) `&]_[*@3 x])&] [s2; Adds a key and value pair to the AMap.&] [s6; Invalidates iterators to AIndex.&] [s6; T must have deep copy constructor.&] @@ -45,9 +43,10 @@ are more important in derived concrete index flavors.&] [s6; Invalidates references to VectorMap values.&] [s7; [*C@3 k]-|Key.&] [s7; [*C@3 x]-|Value.&] -[s0;3 &] -[s5;K%- [@(0.0.255) void][@(64) _]AddPick[@(64) (][@(0.0.255) const][@(64) _K`&_][@3 k][@(64) , -pick`__T`&_][@3 x][@(64) )]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:AddPick`(const K`&`,pick`_ T`&`):%- [@(0.0.255) void]_[* AddPick]([@(0.0.255) c +onst]_[*@4 K][@(0.0.255) `&]_[*@3 k], [@(0.128.128) pick`_]_[*@4 T][@(0.0.255) `&]_[*@3 x])&] [s2; Adds a key and value pair to the AMap. Value is transfered by pick constructor in low constant time, but the source value is destroyed.&] @@ -57,8 +56,10 @@ destroyed.&] [s6; Invalidates references to VectorMap values.&] [s7; [*C@3 k]-|Key.&] [s7; [*C@3 x]-|-|Value.&] -[s0;3 &] -[s5;K%- T`&_Add[@(64) (][@(0.0.255) const][@(64) _K`&_][@3 k][@(64) )]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:Add`(const K`&`):%- [*@4 T][@(0.0.255) `&]_[* Add]([@(0.0.255) const]_[*@4 K][@(0.0.255) `& +]_[*@3 k])&] [s2; Adds a key to the AMap and returns a reference to the corresponding default constructed value.&] [s6; T must have default constructor.&] @@ -67,9 +68,10 @@ default constructed value.&] [s6; Invalidates references to VectorMap values.&] [s7; [*C@3 k]-|Key.&] [s7; [*/ Return value]-|Reference to value.&] -[s0;3 &] -[s5;K%- [@(0.0.255) int][@(64) _]FindAdd[@(64) (][@(0.0.255) const][@(64) _][@4 K][@(64) `&_][@3 k][@(64) ) -]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:FindAdd`(const K`&`):%- [@(0.0.255) int]_[* FindAdd]([@(0.0.255) const]_[*@4 K +][@(0.0.255) `&]_[*@3 k])&] [s2; Retrieves the position of first element with the specified key in AMap, using a precomputed hash value. The precomputed hash value must be the same as the hash value that would be the result @@ -81,9 +83,10 @@ number is returned. Unlinked elements are ignored.&] [s7; [*C@3 h]-|Precomputed hash value.&] [s7; [*/ Return value]-|Position of element or a negative value if element is not in AMap.&] -[s0;3 &] -[s5;K%- [@(0.0.255) int][@(64) _]Find[@(64) (][@(0.0.255) const][@(64) _K`&_][@3 k][@(64) )_][@(0.0.255) c -onst]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:Find`(const K`&`)const:%- [@(0.0.255) int]_[* Find]([@(0.0.255) const]_[*@4 K +][@(0.0.255) `&]_[*@3 k])_[@(0.0.255) const]&] [s2; Retrieves the position of first element with the specified key in AMap. If multi`-key ordering is not broken and more than one element with the same value exists in AMap, the lowest position @@ -92,9 +95,10 @@ number is returned. Unlinked elements are ignored.&] [s7; [*C@3 x]-|Key to find.&] [s7; [*/ Return value]-|Position of element or a negative value if element is not in AMap.&] -[s0;3 &] -[s5;K%- [@(0.0.255) int][@(64) _]Find[@(64) (][@(0.0.255) const][@(64) _K`&_][@3 k][@(64) , -][@(0.0.255) unsigned][@(64) _][@3 h][@(64) )_][@(0.0.255) const]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:Find`(const K`&`,unsigned`)const:%- [@(0.0.255) int]_[* Find]([@(0.0.255) c +onst]_[*@4 K][@(0.0.255) `&]_[*@3 k], [@(0.0.255) unsigned]_[*@3 h])_[@(0.0.255) const]&] [s2; Retrieves the position of next element with the same key as element at the specified position. If multi`-key ordering is not broken and more than one element with that value exists in @@ -104,9 +108,10 @@ ascending order). When there are no more elements with required key, negative number is returned. Unlinked elements are ignored.&] [s7; [*C@3 i]-|Position of element.&] [s7; [*/ Return value]-|Position of next element with same value.&] -[s0;3 &] -[s5;K%- [@(0.0.255) int][@(64) _]FindLast[@(64) (][@(0.0.255) const][@(64) _K`&_][@3 k][@(64) , -][@(0.0.255) unsigned][@(64) _][@3 h][@(64) )_][@(0.0.255) const]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:FindLast`(const K`&`,unsigned`)const:%- [@(0.0.255) int]_[* FindLast]([@(0.0.255) c +onst]_[*@4 K][@(0.0.255) `&]_[*@3 k], [@(0.0.255) unsigned]_[*@3 h])_[@(0.0.255) const]&] [s2; Retrieves position of last element with the specified key in AMap, using a precomputed hash value. The precomputed hash value must be the same as the hash value that would be the result of @@ -118,9 +123,10 @@ is returned. Unlinked elements are ignored.&] [s7; [*C@3 h]-|Precomputed hash value.&] [s7; [*/ Return value]-|Position of element or a negative value if element is not in AMap.&] -[s0;3 &] -[s5;K%- [@(0.0.255) int][@(64) _]FindLast[@(64) (][@(0.0.255) const][@(64) _K`&_][@3 k][@(64) )_][@(0.0.255) c -onst]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:FindLast`(const K`&`)const:%- [@(0.0.255) int]_[* FindLast]([@(0.0.255) co +nst]_[*@4 K][@(0.0.255) `&]_[*@3 k])_[@(0.0.255) const]&] [s2; Retrieves the position of last element with the specified key in AMap. If multi`-key ordering is not broken and more than one element with the same value exists in AIndex, the greatest position @@ -129,9 +135,10 @@ is returned. Unlinked elements are ignored.&] [s7; [*C@3 x]-|Element to find.&] [s7; [*/ Return value]-|Position of element or a negative value if element is not in AMap.&] -[s0;3 &] -[s5;K%- [@(0.0.255) int][@(64) _]FindPrev[@(64) (][@(0.0.255) int][@(64) _][@3 i][@(64) )_][@(0.0.255) c -onst]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:FindPrev`(int`)const:%- [@(0.0.255) int]_[* FindPrev]([@(0.0.255) int]_[*@3 i +])_[@(0.0.255) const]&] [s2; Retrieves the position of previous element with the same key as element at the specified position. If multi`-key ordering is not broken and more than one element with that value exists @@ -141,9 +148,10 @@ descending order). When there are no more elements with required key, a negative number is returned. Unlinked elements are ignored.&] [s7; [*C@3 i]-|Position of element.&] [s7; [*/ Return value]-|Position of previous element with same value.&] -[s0;3 &] -[s5;K%- [@(0.0.255) int][@(64) _]FindAdd[@(64) (][@(0.0.255) const][@(64) _][@4 K][@(64) `&_][@3 k][@(64) ) -]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:FindAdd`(const K`&`):%- [@(0.0.255) int]_[* FindAdd]([@(0.0.255) const]_[*@4 K +][@(0.0.255) `&]_[*@3 k])&] [s2; Retrieves the position of first element with the specified key in AMap. If multi`-key ordering is not broken and more than one element with the same value exists in AMap, lowest position is @@ -156,9 +164,10 @@ Unlinked elements are ignored.&] [s6; Invalidates references to VectorMap values.&] [s7; [*C@3 k]-|Key to find.&] [s7; [*/ Return value]-|Position of element (either found or added).&] -[s0;3 &] -[s5;K%- [@(0.0.255) int][@(64) _]FindAdd[@(64) (][@(0.0.255) const][@(64) _][@4 K][@(64) `&_][@3 k][@(64) , - ][@(0.0.255) const][@(64) _][@4 T][@(64) `&_][@3 init][@(64) )]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:FindAdd`(const K`&`,const T`&`):%- [@(0.0.255) int]_[* FindAdd]([@(0.0.255) c +onst]_[*@4 K][@(0.0.255) `&]_[*@3 k], [@(0.0.255) const]_[*@4 T][@(0.0.255) `&]_[*@3 init])&] [s2; Retrieves the position of first element with the specified key in AMap. If multi`-key ordering is not broken and more than one element with the same value exists in AMap, the lowest position @@ -172,9 +181,11 @@ not exist in AMap, adds new element, deep copy constructed from [s7; [*C@3 k]-|Key to find.&] [s7; [*C@3 init]-|Value to add if key is not in AMap yet.&] [s7; [*/ Return value]-|Position of element (either found or added).&] -[s0;3 &] -[s5;K%- [@(0.0.255) int][@(64) _]FindPutPick[@(64) (][@(0.0.255) const][@(64) _][@4 K][@(64) `&_][@3 k -][@(64) , pick`__][@4 T][@(64) `&_][@3 init][@(64) )]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:FindPutPick`(const K`&`,pick`_ T`&`):%- [@(0.0.255) int]_[* FindPutPick]( +[@(0.0.255) const]_[*@4 K][@(0.0.255) `&]_[*@3 k], [@(0.128.128) pick`_]_[*@4 T][@(0.0.255) `&]_ +[*@3 init])&] [s2; Retrieves the position of first element with the specified key in AMap. If multi`-key ordering is not broken and more than one element with the same value exists in AMap, the lowest position @@ -188,14 +199,16 @@ at the end of AMap and returns its position.&] [s7; [*C@3 k]-|Key to find.&] [s7; [*C@3 init]-|Value to add if key is not in AMap yet.&] [s7; [*/ Return value]-|Position of element (either found or added).&] -[s0;3 &] -[s5;K%- [@(0.0.255) void][@(64) _]Unlink[@(64) (][@(0.0.255) int][@(64) _][@3 i][@(64) )]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:Unlink`(int`):%- [@(0.0.255) void]_[* Unlink]([@(0.0.255) int]_[*@3 i])&] [s2; Unlinks element at the specified position. Unlinked item stays in AMap but is ignored by any Find operation.&] [s7; [*C@3 i]-|Position of element to unlink.&] -[s0;3 &] -[s5;K%- [@(0.0.255) int][@(64) _]Put[@(64) (][@(0.0.255) const][@(64) _][@4 K][@(64) `&_][@3 k][@(64) , - ][@(0.0.255) const][@(64) _][@4 T][@(64) `&_][@3 x][@(64) )]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:Put`(const K`&`,const T`&`):%- [@(0.0.255) int]_[* Put]([@(0.0.255) const]_ +[*@4 K][@(0.0.255) `&]_[*@3 k], [@(0.0.255) const]_[*@4 T][@(0.0.255) `&]_[*@3 x])&] [s2; If there are any unlinked elements in AMap, one of them is replaced by the specified key/value pair. If there is are unlinked elements, the key/value pair is added to the end of AIndex using [* Add]. @@ -207,9 +220,10 @@ Value is transfered using deep copy constructor.&] [s6; Invalidates references to VectorMap values.&] [s7; [*C@3 k]-|Key.&] [s7; [*C@3 x]-|Value.&] -[s0;3 &] -[s5;K%- [@(0.0.255) int][@(64) _]PutPick[@(64) (][@(0.0.255) const][@(64) _][@4 K][@(64) `&_][@3 k][@(64) , - pick`__][@4 T][@(64) `&_][@3 x][@(64) )]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:PutPick`(const K`&`,pick`_ T`&`):%- [@(0.0.255) int]_[* PutPick]([@(0.0.255) c +onst]_[*@4 K][@(0.0.255) `&]_[*@3 k], [@(0.128.128) pick`_]_[*@4 T][@(0.0.255) `&]_[*@3 x])&] [s2; If there are any unlinked elements in AMap, one of them is replaced by the specified key/value pair. If there is none unlinked element, the key/value pair is added at the end of AIndex using [* Add]. @@ -221,8 +235,10 @@ Value is transfered using pick constructor.&] [s6; Invalidates references to VectorMap values.&] [s7; [*C@3 k]-|Key.&] [s7; [*C@3 x]-|Value.&] -[s0;3 &] -[s5;K%- [@4 T][@(64) `&_]Put[@(64) (][@(0.0.255) const][@(64) _][@4 K][@(64) `&_][@3 k][@(64) )]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:Put`(const K`&`):%- [*@4 T][@(0.0.255) `&]_[* Put]([@(0.0.255) const]_[*@4 K][@(0.0.255) `& +]_[*@3 k])&] [s2; If there is any unlinked element in AMap, it is replaced by the specified key and reference to the value is returned. If there is none unlinked element, key is added at the end of AIndex @@ -235,9 +251,10 @@ Value is returned.&] [s6; Invalidates references to VectorMap values.&] [s7; [*C@3 k]-|Key.&] [s7; [*/ Return value]-|Reference to the corresponding value.&] -[s0;3 &] -[s5;K%- [@(0.0.255) int][@(64) _]FindPut[@(64) (][@(0.0.255) const][@(64) _][@4 K][@(64) `&_][@3 k][@(64) ) -]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:FindPut`(const K`&`):%- [@(0.0.255) int]_[* FindPut]([@(0.0.255) const]_[*@4 K +][@(0.0.255) `&]_[*@3 k])&] [s2; Retrieves the position of first element with the specified key in AMap. Unlinked elements are ignored. If the element does not exist in AMap, puts new default constructed element into AMap @@ -248,9 +265,10 @@ using [* Put] and returns its position. &] [s6; Invalidates references to VectorMap values.&] [s7; [*C@3 k]-|Key to find.&] [s7; [*/ Return value]-|Position of element (either found or added).&] -[s0;3 &] -[s5;K%- [@(0.0.255) int][@(64) _]FindPut[@(64) (][@(0.0.255) const][@(64) _][@4 K][@(64) `&_][@3 k][@(64) , - ][@(0.0.255) const][@(64) _][@4 T][@(64) `&_][@3 init][@(64) )]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:FindPut`(const K`&`,const T`&`):%- [@(0.0.255) int]_[* FindPut]([@(0.0.255) c +onst]_[*@4 K][@(0.0.255) `&]_[*@3 k], [@(0.0.255) const]_[*@4 T][@(0.0.255) `&]_[*@3 init])&] [s2; Retrieves the position of first element with the specified key in AMap. Unlinked elements are ignored. If the element does not exist in AMap, puts new element, deep copy constructed from [* init], @@ -262,9 +280,11 @@ using [* Put] and returns its position. &] [s7; [*C@3 k]-|Key to find.&] [s7; [*C@3 init]-|Value to add if key is not in AMap yet.&] [s7; [*/ Return value]-|Position of element (either found or added).&] -[s0;3 &] -[s5;K%- [@(0.0.255) int][@(64) _]FindPutPick[@(64) (][@(0.0.255) const][@(64) _][@4 K][@(64) `&_][@3 k -][@(64) , pick`__][@4 T][@(64) `&_][@3 init][@(64) )]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:FindPutPick`(const K`&`,pick`_ T`&`):%- [@(0.0.255) int]_[* FindPutPick]( +[@(0.0.255) const]_[*@4 K][@(0.0.255) `&]_[*@3 k], [@(0.128.128) pick`_]_[*@4 T][@(0.0.255) `&]_ +[*@3 init])&] [s2; Retrieves the position of first element with the specified key in AMap. Unlinked elements are ignored. If the element does not exist in AMap, puts new element, pick constructed from [* init], @@ -276,8 +296,10 @@ using [* Put] and returns its position. &] [s7; [*C@3 k]-|Key to find.&] [s7; [*C@3 init]-|Value to add if key is not in AMap yet.&] [s7; [*/ Return value]-|Position of element (either found or added).&] -[s0;3 &] -[s5;K%- T`&_Get[@(64) (][@(0.0.255) const][@(64) _K`&_][@3 k][@(64) )]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:Get`(const K`&`):%- [*@4 T][@(0.0.255) `&]_[* Get]([@(0.0.255) const]_[*@4 K][@(0.0.255) `& +]_[*@3 k])&] [s2; Retrieves a reference to the first element with the specified key. If multi`-key ordering is not broken and more than one element with the same value exists in AMap, the lowest position element @@ -285,9 +307,10 @@ is retrieved. Unlinked elements are ignored. Required key must be in AMap, otherwise it is logic error (asserted in debug mode).&] [s7; [*C@3 k]-|Key to find.&] [s7; [*/ Return value]-|Reference to corresponding value.&] -[s0;3 &] -[s5;K%- [@(0.0.255) const][@(64) _T`&_]Get[@(64) (][@(0.0.255) const][@(64) _K`&_][@3 k][@(64) )_][@(0.0.255) c -onst]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:Get`(const K`&`)const:%- [@(0.0.255) const]_[*@4 T][@(0.0.255) `&]_[* Get]([@(0.0.255) c +onst]_[*@4 K][@(0.0.255) `&]_[*@3 k])_[@(0.0.255) const]&] [s2; Retrieves a constant reference the the first element with the specified key. If multi`-key ordering is not broken and more than one element with the same value exists in AMap, the lowest @@ -296,9 +319,11 @@ Required key must be in AMap, otherwise it is logic error (asserted in debug mode).&] [s7; [*C@3 k]-|Key to find.&] [s7; [*/ Return value]-|Reference to corresponding value.&] -[s0;3 &] -[s5;K%- [@(0.0.255) const][@(64) _T`&_]Get[@(64) (][@(0.0.255) const][@(64) _K`&_][@3 k][@(64) , -][@(0.0.255) const][@(64) _T`&_][@3 d][@(64) )_][@(0.0.255) const]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:Get`(const K`&`,const T`&`)const:%- [@(0.0.255) const]_[*@4 T][@(0.0.255) `& +]_[* Get]([@(0.0.255) const]_[*@4 K][@(0.0.255) `&]_[*@3 k], [@(0.0.255) const]_[*@4 T][@(0.0.255) `& +]_[*@3 d])_[@(0.0.255) const]&] [s2; Retrieves a constant reference value of the first element with the specified key. If multi`-key ordering is not broken and more than one element with the same value exists in AMap, the lowest @@ -308,8 +333,10 @@ the specified value is returned instead.&] [s7; [*C@3 k]-|Key to find.&] [s7; [*C@3 d]-|Value to be returned if key is not found.&] [s7; [*/ Return value]-|Reference to found element or supplied value.&] -[s0;3 &] -[s5;K%- [@4 T][@(64) `&_]GetAdd[@(64) (][@(0.0.255) const][@(64) _][@4 K][@(64) `&_][@3 k][@(64) )]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:GetAdd`(const K`&`):%- [*@4 T][@(0.0.255) `&]_[* GetAdd]([@(0.0.255) const]_ +[*@4 K][@(0.0.255) `&]_[*@3 k])&] [s2; Retrieves a constant reference value of the first element with the specified key. If multi`-key ordering is not broken and more than one element with the same value exists in AMap, the lowest @@ -322,9 +349,10 @@ element at the end of AMap and returns a reference to it.&] [s6; Invalidates references to VectorMap values.&] [s7; [*C@3 k]-|Key to find.&] [s7; [*/ Return value]-|Reference to corresponding value.&] -[s0;3 &] -[s5;K%- [@4 T][@(64) `&_]GetAdd[@(64) (][@(0.0.255) const][@(64) _][@4 K][@(64) `&_][@3 k][@(64) , -][@(0.0.255) const][@(64) _][@4 T][@(64) `&_][@3 x][@(64) )]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:GetAdd`(const K`&`,const T`&`):%- [*@4 T][@(0.0.255) `&]_[* GetAdd]([@(0.0.255) c +onst]_[*@4 K][@(0.0.255) `&]_[*@3 k], [@(0.0.255) const]_[*@4 T][@(0.0.255) `&]_[*@3 x])&] [s2; Retrieves a constant reference to the first element with the specified key. If multi`-key ordering is not broken and more than one element with the same value exists in AMap, the lowest @@ -339,9 +367,11 @@ to it.&] [s7; [*C@3 k]-|Key to find.&] [s7; [*C@3 x]-|Value to add if key is not in AMap.&] [s7; [*/ Return value]-|Reference to corresponding value.&] -[s0;3 &] -[s5;K%- [@4 T][@(64) `&_]GetAddPick[@(64) (][@(0.0.255) const][@(64) _][@4 K][@(64) `&_][@3 k][@(64) , -pick`__][@4 T][@(64) `&_][@3 x][@(64) )]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:GetAddPick`(const K`&`,pick`_ T`&`):%- [*@4 T][@(0.0.255) `&]_[* GetAddPic +k]([@(0.0.255) const]_[*@4 K][@(0.0.255) `&]_[*@3 k], [@(0.128.128) pick`_]_[*@4 T][@(0.0.255) `& +]_[*@3 x])&] [s2; Retrieves a constant reference to the first element with the specified key. If multi`-key ordering is not broken and more than one element with the same value exists in AMap, the lowest @@ -355,8 +385,10 @@ from [* x],[* ]at the end of AMap and returns a reference to it.&] [s7; [*C@3 k]-|Key to find.&] [s7; [*C@3 x]-|Value to add if key is not in AMap.&] [s7; [*/ Return value]-|Reference to corresponding value.&] -[s0;3 &] -[s5;K%- [@4 T][@(64) `&_]GetPut[@(64) (][@(0.0.255) const][@(64) _][@4 K][@(64) `&_][@3 k][@(64) )]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:GetPut`(const K`&`):%- [*@4 T][@(0.0.255) `&]_[* GetPut]([@(0.0.255) const]_ +[*@4 K][@(0.0.255) `&]_[*@3 k])&] [s2; Retrieves a constant reference value of the first element with the specified key. If multi`-key ordering is not broken and more than one element with the same value exists in AMap, the lowest @@ -370,9 +402,10 @@ it.&] [s6; Invalidates references to VectorMap values.&] [s7; [*C@3 k]-|Key to find.&] [s7; [*/ Return value]-|Reference to corresponding value.&] -[s0;3 &] -[s5;K%- [@4 T][@(64) `&_]GetPut[@(64) (][@(0.0.255) const][@(64) _][@4 K][@(64) `&_][@3 k][@(64) , -][@(0.0.255) const][@(64) _][@4 T][@(64) `&_][@3 x][@(64) )]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:GetPut`(const K`&`,const T`&`):%- [*@4 T][@(0.0.255) `&]_[* GetPut]([@(0.0.255) c +onst]_[*@4 K][@(0.0.255) `&]_[*@3 k], [@(0.0.255) const]_[*@4 T][@(0.0.255) `&]_[*@3 x])&] [s2; Retrieves a constant reference value of the first element with the specified key. If multi`-key ordering is not broken and more than one element with the same value exists in AMap, lowest position @@ -387,9 +420,11 @@ to it.&] [s7; [*C@3 k]-|Key to find.&] [s7; [*C@3 x]-|Value to add if key is not in AMap.&] [s7; [*/ Return value]-|Reference to corresponding value.&] -[s0;3 &] -[s5;K%- [@4 T][@(64) `&_]GetPutPick[@(64) (][@(0.0.255) const][@(64) _][@4 K][@(64) `&_][@3 k][@(64) , -pick`__][@4 T][@(64) `&_][@3 x][@(64) )]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:GetPutPick`(const K`&`,pick`_ T`&`):%- [*@4 T][@(0.0.255) `&]_[* GetPutPic +k]([@(0.0.255) const]_[*@4 K][@(0.0.255) `&]_[*@3 k], [@(0.128.128) pick`_]_[*@4 T][@(0.0.255) `& +]_[*@3 x])&] [s2; Retrieves a constant reference value of the first element with the specified key. If multi`-key ordering is not broken and more than one element with the same value exists in AMap, lowest position @@ -403,14 +438,17 @@ key is not in the AMap, puts new element, pick constructed from [s7; [*C@3 k]-|Key to find.&] [s7; [*C@3 x]-|Value to add if key is not in AMap.&] [s7; [*/ Return value]-|Reference to corresponding value.&] -[s0;3 &] -[s5;K%- [@(0.0.255) void][@(64) _]SetKey[@(64) (][@(0.0.255) int][@(64) _][@3 i][@(64) , -][@(0.0.255) const][@(64) _K`&_][@3 k][@(64) )]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:SetKey`(int`,const K`&`):%- [@(0.0.255) void]_[* SetKey]([@(0.0.255) int]_ +[*@3 i], [@(0.0.255) const]_[*@4 K][@(0.0.255) `&]_[*@3 k])&] [s2; Replaces key of element at the specified position.&] [s7; [*C@3 i]-|Position of element.&] [s7; [*C@3 k]-|New key value.&] -[s0;3 &] -[s5;K%- T_`*FindPtr[@(64) (][@(0.0.255) const][@(64) _K`&_][@3 k][@(64) )]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:FindPtr`(const K`&`):%- [*@4 T]_`*[* FindPtr]([@(0.0.255) const]_[*@4 K][@(0.0.255) `& +]_[*@3 k])&] [s2; Retrieves a pointer to value of first element with the specified key in AMap. If multi`-key ordering is not broken and more than one element with the same value exists in AMap, the lowest position @@ -419,9 +457,10 @@ is returned. Unlinked elements are ignored.&] [s7; [*C@3 k]-|Key to find.&] [s7; [*/ Return value]-|Pointer to value or NULL pointer if element is not in AMap.&] -[s0;3 &] -[s5;K%- [@(0.0.255) const][@(64) _T_`*]FindPtr[@(64) (][@(0.0.255) const][@(64) _K`&_][@3 k][@(64) ) -_][@(0.0.255) const]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:FindPtr`(const K`&`)const:%- [@(0.0.255) const]_[*@4 T]_`*[* FindPtr]([@(0.0.255) c +onst]_[*@4 K][@(0.0.255) `&]_[*@3 k])_[@(0.0.255) const]&] [s2; Retrieves a constant pointer to value of first element with the specified key in AMap. If multi`-key ordering is not broken and more than one element with the same value exists in AMap, @@ -430,9 +469,10 @@ in AMap, NULL pointer is returned. Unlinked elements are ignored.&] [s7; [*C@3 k]-|Key to find.&] [s7; [*/ Return value]-|Pointer to value or NULL pointer if element is not in AMap.&] -[s0;3 &] -[s5;K%- [@(0.0.255) int][@(64) _]UnlinkKey[@(64) (][@(0.0.255) const][@(64) _K`&_][@3 k][@(64) , -][@(0.0.255) unsigned][@(64) _][@3 h][@(64) )]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:UnlinkKey`(const K`&`,unsigned`):%- [@(0.0.255) int]_[* UnlinkKey]([@(0.0.255) c +onst]_[*@4 K][@(0.0.255) `&]_[*@3 k], [@(0.0.255) unsigned]_[*@3 h])&] [s2; Unlinks all elements with the specified key using precomputed hash`-value. Unlinked elements stay in AIndex but are ignored by any Find operations. The precomputed hash value must be the @@ -440,21 +480,25 @@ same as the hash value that would be the result of HashFn. &] [s7; [*C@3 k]-|Key to unlink.&] [s7; [*C@3 h]-|Precomputed hash value.&] [s7; [*/ Return value]-|Number of elements unlinked.&] -[s0;3 &] -[s5;K%- [@(0.0.255) int][@(64) _]UnlinkKey[@(64) (][@(0.0.255) const][@(64) _K`&_][@3 k][@(64) )]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:UnlinkKey`(const K`&`):%- [@(0.0.255) int]_[* UnlinkKey]([@(0.0.255) const +]_[*@4 K][@(0.0.255) `&]_[*@3 k])&] [s2; Unlinks all elements with the specified key. Unlinked elements stay in AIndex but are ignored by any Find operations.&] [s7; [*C@3 k]-|Key to unlink.&] [s7; [*/ Return value]-|Number of elements unlinked.&] -[s0;3 &] -[s5;K%- [@(0.0.255) bool][@(64) _]IsUnlinked[@(64) (][@(0.0.255) int][@(64) _][@3 i][@(64) )_][@(0.0.255) c -onst]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:IsUnlinked`(int`)const:%- [@(0.0.255) bool]_[* IsUnlinked]([@(0.0.255) int +]_[*@3 i])_[@(0.0.255) const]&] [s2; Tests whether element at the specified position is unlinked.&] [s7; [*C@3 i]-|Position.&] [s7; [*/ Return value]-|true if element is unlinked.&] -[s0;3 &] -[s5;K%- T`&_Insert[@(64) (][@(0.0.255) int][@(64) _][@3 i][@(64) , ][@(0.0.255) const][@(64) _K`&_][@3 k -][@(64) )]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:Insert`(int`,const K`&`):%- [*@4 T][@(0.0.255) `&]_[* Insert]([@(0.0.255) in +t]_[*@3 i], [@(0.0.255) const]_[*@4 K][@(0.0.255) `&]_[*@3 k])&] [s2; Inserts an element with the specified key and default constructed value at the specified position. This is a slow operation, especially when combined with any search operations.&] @@ -464,9 +508,11 @@ when combined with any search operations.&] [s6; Invalidates references to VectorMap values.&] [s7; [*C@3 i]-|Insert position.&] [s7; [*C@3 k]-|Key to insert.&] -[s0;3 &] -[s5;K%- [@(0.0.255) void][@(64) _]Insert[@(64) (][@(0.0.255) int][@(64) _][@3 i][@(64) , -][@(0.0.255) const][@(64) _K`&_][@3 k][@(64) , ][@(0.0.255) const][@(64) _T`&_][@3 x][@(64) )]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:Insert`(int`,const K`&`,const T`&`):%- [@(0.0.255) void]_[* Insert]([@(0.0.255) i +nt]_[*@3 i], [@(0.0.255) const]_[*@4 K][@(0.0.255) `&]_[*@3 k], [@(0.0.255) const]_[*@4 T][@(0.0.255) `& +]_[*@3 x])&] [s2; Inserts an element with the specified key and value copy constructed from [*/ x] at the specified position. This is a slow operation, especially when combined with any search operations.&] @@ -477,17 +523,19 @@ especially when combined with any search operations.&] [s7; [*C@3 i]-|Insert position.&] [s7; [*C@3 k]-|Key to insert.&] [s7; [*C@3 x]-|Value to insert.&] -[s0;3 &] -[s5;K%- [@(0.0.255) void][@(64) _]Remove[@(64) (][@(0.0.255) int][@(64) _][@3 i][@(64) )]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:Remove`(int`):%- [@(0.0.255) void]_[* Remove]([@(0.0.255) int]_[*@3 i])&] [s2; Removes the element at the specified position. This is a slow operation, especially when combined with any search operations.&] [s6; Invalidates iterators to AMap.&] [s6; Invalidates references to keys.&] [s6; Invalidates references to VectorMap values.&] [s7; [*C@3 i]-|Position of element to remove.&] -[s0;3 &] -[s5;K%- [@(0.0.255) void][@(64) _]Remove[@(64) (][@(0.0.255) const][@(64) _][@(0.0.255) int][@(64) _ -`*][@3 sl][@(64) , ][@(0.0.255) int][@(64) _][@3 n][@(64) )]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:Remove`(const int`*`,int`):%- [@(0.0.255) void]_[* Remove]([@(0.0.255) con +st]_[@(0.0.255) int]_`*[*@3 sl], [@(0.0.255) int]_[*@3 n])&] [s2; Removes number of elements from AMap. Time of operation only slightly depends on the number of removed elements. This is a slow operation, especially when combined with any search operations.&] @@ -498,137 +546,166 @@ slow operation, especially when combined with any search operations.&] [s7; [*C@3 sl]-|Pointer to array of the positions to remove, in ascending order.&] [s7; [*C@3 n]-|Number of elements to remove. &] -[s0;3 &] -[s5;K%- [@(0.0.255) void][@(64) _]Remove[@(64) (][@(0.0.255) const][@(64) _][^`:`:Vector^@(64) Ve -ctor][@(64) <][^int^@(64) int][@(64) >`&_][@3 sl][@(64) )]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:Remove`(const`:`:Vector``&`):%- [@(0.0.255) void]_[* Remove]([@(0.0.255) c +onst]_[_^`:`:Vector^ Vector][@(0.0.255) `&]_[*@3 sl])&] [s2; Removes number of elements from AMap. Same as Remove(sorted`_list, sorted`_list.GetCount()).&] [s6; Invalidates iterators to AMap.&] [s6; Invalidates references to keys.&] [s6; Invalidates references to VectorMap values.&] [s7; [*C@3 sl]-|Sorted Vector of positions to remove.&] -[s0;3 &] -[s5;K%- [@(0.0.255) int][@(64) _]RemoveKey[@(64) (][@(0.0.255) const][@(64) _][@4 K][@(64) `&_][@3 k][@(64) ) -]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:RemoveKey`(const K`&`):%- [@(0.0.255) int]_[* RemoveKey]([@(0.0.255) const +]_[*@4 K][@(0.0.255) `&]_[*@3 k])&] [s2; Removes all elements with the specified value. This is a slow operation, especially when combined with any search operations.&] [s7; [*C@3 k]-|Key to remove.&] -[s0;3 &] -[s5;K%- [@(0.0.255) const][@(64) _T`&_]operator`[`][@(64) (][@(0.0.255) int][@(64) _][@3 i][@(64) ) -_][@(0.0.255) const]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:operator`[`]`(int`)const:%- [@(0.0.255) const]_[*@4 T][@(0.0.255) `&]_[* ope +rator`[`]]([@(0.0.255) int]_[*@3 i])_[@(0.0.255) const]&] [s2; Returns a constant reference to the element at the specified position.&] [s7; [*C@3 i]-|Position.&] [s7; [*/ Return value]-|Constant reference to the element at the specified position.&] -[s0;3 &] -[s5;K%- T`&_operator`[`][@(64) (][@(0.0.255) int][@(64) _][@3 i][@(64) )]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:operator`[`]`(int`):%- [*@4 T][@(0.0.255) `&]_[* operator`[`]]([@(0.0.255) i +nt]_[*@3 i])&] [s2; Returns a reference to the element at the specified position.&] [s7; [*C@3 i]-|Position.&] [s7; [*/ Return value]-|Constant reference to the element at the specified position.&] -[s0;3 &] -[s5;K%- [@(0.0.255) int][@(64) _]GetCount[@(64) ()_][@(0.0.255) const]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:GetCount`(`)const:%- [@(0.0.255) int]_[* GetCount]()_[@(0.0.255) const]&] [s2; Returns the number of elements in AMap.&] [s7; [*/ Return value]-|Actual number of elements.&] -[s0;3 &] -[s5;K%- [@(0.0.255) bool][@(64) _]IsEmpty[@(64) ()_][@(0.0.255) const]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:IsEmpty`(`)const:%- [@(0.0.255) bool]_[* IsEmpty]()_[@(0.0.255) const]&] [s2; Tests whether AMap is empty. Same as GetCount() `=`= 0.&] [s7; [*/ Return value]-|true if AMap is empty, false otherwise.&] -[s0;3 &] -[s5;K%- [@(0.0.255) void][@(64) _]Clear[@(64) ()]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:Clear`(`):%- [@(0.0.255) void]_[* Clear]()&] [s2; Removes all elements from AMap.&] -[s0;3 &] -[s5;K%- [@(0.0.255) void][@(64) _]Shrink[@(64) ()]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:Shrink`(`):%- [@(0.0.255) void]_[* Shrink]()&] [s2; Minimizes memory consumption of AMap by decreasing the capacity to the number of elements.&] -[s0;3 &] -[s5;K%- [@(0.0.255) void][@(64) _]Reserve[@(64) (][@(0.0.255) int][@(64) _][@3 xtra][@(64) )]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:Reserve`(int`):%- [@(0.0.255) void]_[* Reserve]([@(0.0.255) int]_[*@3 xtra]) +&] [s2; Reserves capacity. If the required capacity is greater than current capacity, capacity is increased to the required value.&] [s7; [*C@3 n]-|Required capacity.&] -[s0;3 &] -[s5;K%- [@(0.0.255) int][@(64) _]GetAlloc[@(64) ()_][@(0.0.255) const]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:GetAlloc`(`)const:%- [@(0.0.255) int]_[* GetAlloc]()_[@(0.0.255) const]&] [s2; Returns the current capacity of Array.&] [s7; [*/ Return value]-|Capacity of Array.&] -[s0;3 &] -[s5;K%- [@(0.0.255) void][@(64) _]Drop[@(64) (][@(0.0.255) int][@(64) _][@3 n][@(64) _`=_][@3 1][@(64) ) -]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:Drop`(int`):%- [@(0.0.255) void]_[* Drop]([@(0.0.255) int]_[*@3 n]_`=_[@3 1])&] [s2; Drops the specified number of elements at the end of the AMap.&] [s7; [*C@3 n]-|Number of elements.&] -[s0;3 &] -[s5;K%- T`&_Top[@(64) ()]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:Top`(`):%- [*@4 T][@(0.0.255) `&]_[* Top]()&] [s2; Returns a reference to the value of the last element of AMap.&] [s7; [*/ Return value]-|Reference to the value of the last element.&] -[s0;3 &] -[s5;K%- T`&_Top[@(64) ()]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:Top`(`):%- [*@4 T][@(0.0.255) `&]_[* Top]()&] [s2; Returns a constant reference to the value of the last element of AMap.&] [s7; [*/ Return value]-|Reference to the value of the last element.&] -[s0;3 &] -[s5;K%- [@(0.0.255) const][@(64) _K`&_]TopKey[@(64) ()_][@(0.0.255) const]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:TopKey`(`)const:%- [@(0.0.255) const]_[*@4 K][@(0.0.255) `&]_[* TopKey]()_[@(0.0.255) c +onst]&] [s2; Returns a constant reference to the key of the last element of AMap.&] [s7; [*/ Return value]-|Reference to the key of the last element.&] -[s0;3 &] -[s5;K%- K_PopKey[@(64) ()]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:PopKey`(`):%- [*@4 K]_[* PopKey]()&] [s2; Drops the last element of AMap and returns the key of the dropped element.&] [s7; [*/ Return value]-|Key of the element dropped at the end of AMap.&] -[s0;3 &] -[s5;K%- [@(0.0.255) const][@(64) _K`&_]GetKey[@(64) (][@(0.0.255) int][@(64) _][@3 i][@(64) )_][@(0.0.255) c -onst]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:GetKey`(int`)const:%- [@(0.0.255) const]_[*@4 K][@(0.0.255) `&]_[* GetKey]([@(0.0.255) i +nt]_[*@3 i])_[@(0.0.255) const]&] [s2; Returns a constant reference to the key of element at the specified position.&] [s7; [*C@3 i]-|Position.&] [s7; [*/ Return value]-|Constant reference to the key.&] -[s0;3 &] -[s5;K%- [@(0.0.255) void][@(64) _]Serialize[@(64) (][^`:`:Stream^@(64) Stream][@(64) `&_][@3 s][@(64) ) -]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:Serialize`(`:`:Stream`&`):%- [@(0.0.255) void]_[* Serialize]([_^`:`:Stream^ S +tream][@(0.0.255) `&]_[*@3 s])&] [s2; Serializes the content of AMap to/from Stream. Works only if NTL is used as part of UPP.&] [s0; Requires T to have serialization operator defined.&] [s7; [*C@3 s]-|Target/source stream.&] -[s0;3 &] -[s5;K%- [@(0.0.255) const][@(64) _][^`:`:Index^@(64) Index][@(64) <][^K^@(64) K][@(64) , -][^HashFn^@(64) HashFn][@(64) >`&_]GetIndex[@(64) ()_][@(0.0.255) const]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:GetIndex`(`)const:%- [@(0.0.255) const]_[_^`:`:Index^ Index][@(0.0.255) <][*@4 K +], [*@4 HashFn][@(0.0.255) >`&]_[* GetIndex]()_[@(0.0.255) const]&] [s2; Returns a constant reference to the internal Index of keys.&] [s7; [*/ Return value]-|Constant reference to the Index of keys.&] -[s0;3 &] -[s5;K%- [^`:`:Index^ Index]<[^K^ K], [^HashFn^ HashFn]>_PickIndex[@(64) ()_pick`_]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:PickIndex`(`)pick`_:%- [_^`:`:Index^ Index][@(0.0.255) <][*@4 K], +[*@4 HashFn][@(0.0.255) >]_[* PickIndex]()_[@(0.128.128) pick`_]&] [s2; Returns Index of keys. Destroys AMap by picking.&] [s7; [*/ Return value]-|Index of keys.&] -[s0;3 &] -[s5;K%- [@(0.0.255) const][@(64) _][^`:`:Vector^@(64) Vector][@(64) <][^K^@(64) K][@(64) >`&_]Get -Keys[@(64) ()_][@(0.0.255) const]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:GetKeys`(`)const:%- [@(0.0.255) const]_[_^`:`:Vector^ Vector][@(0.0.255) < +][*@4 K][@(0.0.255) >`&]_[* GetKeys]()_[@(0.0.255) const]&] [s2; Returns a constant reference to the Vector of keys.&] [s7; [*/ Return value]-|Constant reference to the Vector of keys.&] -[s0;3 &] -[s5;K%- [^`:`:Vector^ Vector]<[^K^ K]>_PickKeys[@(64) ()_pick`_]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:PickKeys`(`)pick`_:%- [_^`:`:Vector^ Vector][@(0.0.255) <][*@4 K][@(0.0.255) > +]_[* PickKeys]()_[@(0.128.128) pick`_]&] [s2; Returns Vector of keys. Destroys AMap by picking.&] [s7; [*/ Return value]-|Vector of keys.&] -[s0;3 &] -[s5;K%- [@(0.0.255) const][@(64) _V`&_]GetValues[@(64) ()_][@(0.0.255) const]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:GetValues`(`)const:%- [@(0.0.255) const]_[*@4 V][@(0.0.255) `&]_[* GetValues +]()_[@(0.0.255) const]&] [s2; Returns a constant reference to the basic random access container of values. Destroys AIndex by picking.&] [s7; [*/ Return value]-|Constant reference to the basic random access container of values.&] -[s0;3 &] -[s5;K%- V_PickValues[@(64) ()_pick`_]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:PickValues`(`)pick`_:%- [*@4 V]_[* PickValues]()_[@(0.128.128) pick`_]&] [s2; Returns basic random access container of values. Destroys AIndex by picking.&] [s7; [*/ Return value]-|Basic random access container of values.&] -[s0;3 &] -[s0;:`:`:AMap`:`:AMap`(`): [* AMap]()&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:AMap`(`):%- [* AMap]()&] [s2; Constructor. Constructs an empty AMap.&] -[s0;3 &] -[s0;:`:`:AMap`:`:AMap`(const`:`:AMap`&`,int`): [* AMap](const [* AMap]`& -[*@3 s], int)&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:AMap`(const`:`:AMap`&`,int`):%- [* AMap]([@(0.0.255) const]_[* AMap][@(0.0.255) `& +]_[*@3 s], [@(0.0.255) int])&] [s2; Optional deep copy constructor.&] [s6; Requires T to have deep copy constructor or optional deep copy constructor.&] [s7; [*C s]-|Source AMap.&] -[s0;3 &] [s0;:`:`:AMap`:`:AMap`(pick`_`:`:Index``&`,pick`_ V`&`): [* AMap](pick`_ Index`& [*@3 ndx], pick`_ V`& [*@3 val])&] [s2; This form of constructors creates AMap by picking Index of keys @@ -636,86 +713,83 @@ and basic random access container of values. Both containers must have same number of elements.&] [s7; [*C@3 ndx]-|Keys.&] [s7; [*C@3 val]-|Values.&] -[s0;3 &] -[s0;:`:`:AMap`:`:AMap`(pick`_`:`:Vector``&`,pick`_ V`&`): [* AMap](pick`_ -Vector`& [*@3 ndx], pick`_ V`& [*@3 val])&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:AMap`(pick`_`:`:Vector``&`,pick`_ V`&`):%- [* AMap]([@(0.128.128) pi +ck`_]_[_^`:`:Vector^ Vector][@(0.0.255) <][*@4 K][@(0.0.255) >`&]_[*@3 ndx], +[@(0.128.128) pick`_]_[*@4 V][@(0.0.255) `&]_[*@3 val])&] [s2; This form of constructors creates AMap by picking Vector of keys and basic random access container of values. Both containers must have same number of elements.&] [s7; [*C@3 ndx]-|Keys.&] [s7; [*C@3 val]-|Values.&] -[s0;3 &] [s5;K%- typedef_K_KeyType&] [s2; Typedef of K for use in templated algorithms.&] -[s0;3 &] [s5;K%- typedef_typename_[^`:`:Index^ Index]<[^K^ K], [^HashFn^ HashFn]>`::ConstIterator_Key ConstIterator&] [s2; Key iterator type.&] -[s0;3 &] -[s5;K%- [^`:`:AMap`:`:KeyConstIterator^ KeyConstIterator]_KeyBegin[@(64) ()_][@(0.0.255) co -nst]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:KeyBegin`(`)const:%- [_^`:`:AMap`:`:KeyConstIterator^ KeyConstIterator +]_[* KeyBegin]()_[@(0.0.255) const]&] [s2; Returns a constant iterator to the first key in AMap.&] [s7; [*/ Return value]-|Constant key iterator.&] -[s0;3 &] -[s5;K%- [^`:`:AMap`:`:KeyConstIterator^ KeyConstIterator]_KeyEnd[@(64) ()_][@(0.0.255) cons -t]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:KeyEnd`(`)const:%- [_^`:`:AMap`:`:KeyConstIterator^ KeyConstIterator]_ +[* KeyEnd]()_[@(0.0.255) const]&] [s2; Returns a constant iterator to the key just beyond the last key in AMap.&] [s7; [*/ Return value]-|Constant key iterator.&] -[s0;3 &] -[s5;K%- [^`:`:AMap`:`:KeyConstIterator^ KeyConstIterator]_KeyGetIter[@(64) (][@(0.0.255) in -t][@(64) _][@3 pos][@(64) )_][@(0.0.255) const]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:KeyGetIter`(int`)const:%- [_^`:`:AMap`:`:KeyConstIterator^ KeyConstIte +rator]_[* KeyGetIter]([@(0.0.255) int]_[*@3 pos])_[@(0.0.255) const]&] [s2; Returns a constant iterator to the key at the specified position. Same as [* KeyBegin() `+ i]. The benefit of this method is that [* pos] is range checked in debug mode. &] [s7; [*C@3 i]-|Required position.&] [s7; [*/ Return value]-|Constant key iterator.&] -[s0;3 &] -[s5;K%- typedef_T_ValueType&] -[s2; Typedef of T for use in templated algorithms.&] -[s0;3 &] -[s5;K%- typedef_typename_[^V`:`:ConstIterator^ V`::ConstIterator]_ConstIterator&] -[s2; Constant value iterator type.&] -[s0;3 &] -[s5;K%- typedef_typename_[^V`:`:Iterator^ V`::Iterator]_Iterator&] -[s2; Value iterator type.&] -[s0;3 &] -[s5;K%- [^`:`:AMap`:`:Iterator^ Iterator]_Begin[@(64) ()]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:Begin`(`):%- [_^`:`:AMap`:`:Iterator^ Iterator]_[* Begin]()&] [s2; Returns an iterator to the first value in AMap.&] [s7; [*/ Return value]-|Value iterator.&] -[s0;3 &] -[s5;K%- [^`:`:AMap`:`:Iterator^ Iterator]_End[@(64) ()]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:End`(`):%- [_^`:`:AMap`:`:Iterator^ Iterator]_[* End]()&] [s2; Returns a constant iterator to the value just beyond the last key in AMap.&] [s7; [*/ Return value]-|Value iterator.&] -[s0;3 &] -[s5;K%- [^`:`:AMap`:`:Iterator^ Iterator]_GetIter[@(64) (][@(0.0.255) int][@(64) _][@3 pos][@(64) ) -]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:GetIter`(int`):%- [_^`:`:AMap`:`:Iterator^ Iterator]_[* GetIter]([@(0.0.255) i +nt]_[*@3 pos])&] [s2; Returns an iterator to the value at the specified position. Same as [* Begin() `+ i]. The benefit of this method is that [* pos] is range checked in debug mode.&] [s7; [*C@3 i]-|Required position.&] [s7; [*/ Return value]-|Value iterator.&] -[s0;3 &] -[s5;K%- [^`:`:AMap`:`:ConstIterator^ ConstIterator]_Begin[@(64) ()_][@(0.0.255) const]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:Begin`(`)const:%- [_^`:`:AMap`:`:ConstIterator^ ConstIterator]_[* Begin]( +)_[@(0.0.255) const]&] [s2; Returns a constant iterator to the first value in AMap.&] [s7; [*/ Return value]-|Constant value iterator.&] -[s0;3 &] -[s5;K%- [^`:`:AMap`:`:ConstIterator^ ConstIterator]_End[@(64) ()_][@(0.0.255) const]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:End`(`)const:%- [_^`:`:AMap`:`:ConstIterator^ ConstIterator]_[* End]()_[@(0.0.255) c +onst]&] [s2; Returns a constant iterator to the value just beyond the last value in AMap.&] [s7; [*/ Return value]-|Constant value iterator.&] -[s0;3 &] -[s5;K%- [^`:`:AMap`:`:ConstIterator^ ConstIterator]_GetIter[@(64) (][@(0.0.255) int][@(64) _][@3 p -os][@(64) )_][@(0.0.255) const]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:AMap`:`:GetIter`(int`)const:%- [_^`:`:AMap`:`:ConstIterator^ ConstIterator]_[* G +etIter]([@(0.0.255) int]_[*@3 pos])_[@(0.0.255) const]&] [s2; Returns a constant iterator to the value at the specified position. Same as [* Begin() `+ i]. Benefit of this methods is that in debug mode [* pos] is range checked.&] [s7; [*C@3 i]-|Required position.&] [s7; [*/ Return value]-|Constant value iterator.&] -[s0; &] -[s0; friend void [* Swap](AMap`& [*@3 a], AMap`& [*@3 b])&] -[s2; Specialization of the generic [* Swap] for AMap. Swaps array in -simple constant time operation.&] -[s7; [*C@3 a]-|First AMap to swap.&] -[s0; [*C@3 b]-|Second AMap to swap.] \ No newline at end of file +[s0; ] \ No newline at end of file diff --git a/uppsrc/Core/src.tpp/Any$en-us.tpp b/uppsrc/Core/src.tpp/Any$en-us.tpp index 363d8152f..77516eba1 100644 --- a/uppsrc/Core/src.tpp/Any$en-us.tpp +++ b/uppsrc/Core/src.tpp/Any$en-us.tpp @@ -5,69 +5,81 @@ topic "Any"; [0 $$3,0#96390100711032703541132217272105:end] [H6;0 $$4,0#05600065144404261032431302351956:begin] [i448;a25;kKO9;2 $$5,0#37138531426314131252341829483370:item] -[l288;a17;*@5;1 $$6,6#70004532496200323422659154056402:requirement] +[l288;a4;*@5;1 $$6,6#70004532496200323422659154056402:requirement] [l288;i1121;b17;O9;~~~.1408;2 $$7,0#10431211400427159095818037425705:param] -[{_}%EN-US -[s0; Any&] -[s0;3 &] -[s5;K%- [@(0.0.255) class][@(64) _]Any[@(64) _:_][@(0.0.255) private][@(64) _][^`:`:Moveable^@(64) M -oveable][@(64) <]Any[@(64) >_]&] -[s2; &] -[s0; Any is a special type of container capable of containing none +[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam] +[b42;2 $$9,9#13035079074754324216151401829390:normal] +[{_} +[s0; [@(0.0.255) class]_[* Any]_:_[@(0.0.255) private]_[*@3 Moveable][@(0.0.255) <][* Any][@(0.0.255) > +]_&] +[s0;%% &] +[s0;%% Any is a special type of container capable of containing none or single element of [/ any] type. It also provides methods for querying the type stored and retrieving the content of specific type.&] -[s0; Any has pick semantics.&] -[s0; Members&] -[s0;3 &] -[s0;:`:`:Any`:`:Any`(pick`_`:`:Any`&`):%- [* Any](pick`__[* Any]`&_[*@3 s])&] -[s2; Pick constructor. Transfers content of source Any while destroying +[s0;%% Any has pick semantics.&] +[s0;%% &] +[ {{10000F(128)G(128)@1 [s0;%% [* Public Method List]]}}&] +[s4; &] +[s5;:`:`:Any`:`:Any`(pick`_`:`:Any`&`): [* Any]([@(0.128.128) pick`_]_[* Any][@(0.0.255) `&]_ +[*@3 s])&] +[s2;%% Pick constructor. Transfers content of source Any while destroying its content by picking.&] -[s7; [%-*C@3 s]-|Source Any.&] -[s0;3 &] -[s0;:`:`:Any`:`:Any`(`):%- [* Any]()&] -[s2; Constructs an empty Any.&] -[s0;3 &] -[s0;:`:`:Any`:`:`~Any`(`):%- `~[* Any]()&] -[s2; Destructor.&] -[s0;3 &] -[s5;K%- template_<[@(0.0.255) class][@(64) _][^T^@(64) T][@(64) >__][^T^@(64) T][@(64) `&_]Create -[@(64) ()]&] -[s2; Creates content of type T inside Any.&] -[s7; [*C@4 T]-|Type of content.&] -[s7; [*/ Return value]-|Reference to the newly created content.&] -[s0;3 &] -[s5;K%- template_<[@(0.0.255) class][@(64) _][@4 T][@(64) >__][@(0.0.255) bool][@(64) _]Is[@(64) () -_][@(0.0.255) const]&] -[s2; Tests whether Any contains content of type T.&] -[s7; [*C@4 T]-|Required type.&] -[s7; [*/ Return value]-|true if there is content with type T in Any.&] -[s0;3 &] -[s5;K%- template_<[@(0.0.255) class][@(64) _][^T^@(64) T][@(64) >__][^T^@(64) T][@(64) `&_]Get[@(64) ( -)]&] -[s2; Returns reference to content. Is must be true, otherwise +[s7;%% [%-*C@3 s]-|Source Any.&] +[s3; &] +[s4; &] +[s5;:`:`:Any`:`:Any`(`): [* Any]()&] +[s2;%% Constructs an empty Any.&] +[s3; &] +[s4; &] +[s5;:`:`:Any`:`:`~Any`(`): [@(0.0.255) `~][* Any]()&] +[s2;%% Destructor.&] +[s3; &] +[s4; &] +[s5;:`:`:Any`:`:Create`(`): [@(0.0.255) template]_<[@(0.0.255) class]_[*@4 T][@(0.0.255) >]_[*@4 T +][@(0.0.255) `&]_[* Create]()&] +[s2;%% Creates content of type T inside Any.&] +[s7;%% [*C@4 T]-|Type of content.&] +[s7;%% [*/ Return value]-|Reference to the newly created content.&] +[s3; &] +[s4; &] +[s5;:`:`:Any`:`:Is`(`)const: [@(0.0.255) template]_<[@(0.0.255) class]_[*@4 T][@(0.0.255) >]_ +[@(0.0.255) bool]_[* Is]()_[@(0.0.255) const]&] +[s2;%% Tests whether Any contains content of type T.&] +[s7;%% [*C@4 T]-|Required type.&] +[s7;%% [*/ Return value]-|true if there is content with type T in Any.&] +[s3; &] +[s4; &] +[s5;:`:`:Any`:`:Get`(`): [@(0.0.255) template]_<[@(0.0.255) class]_[*@4 T][@(0.0.255) >]_[*@4 T +][@(0.0.255) `&]_[* Get]()&] +[s2;%% Returns reference to content. Is must be true, otherwise this operation is illegal.&] -[s7; [*C@4 T]-|Required type.&] -[s7; [*/ Return value]-|Reference to content.&] -[s0;3 &] -[s5;K%- template_<[@(0.0.255) class][@(64) _][^T^@(64) T][@(64) >__][@(0.0.255) const][@(64) _][^T^@(64) T -][@(64) `&_]Get[@(64) ()_][@(0.0.255) const]&] -[s2; Returns constant reference to content. Is must be true, otherwise -this operation is illegal.&] -[s7; [*C@4 T]-|Required type.&] -[s7; [*/ Return value]-|Reference to content.&] -[s0;3 &] -[s5;K%- [@(0.0.255) void][@(64) _]Clear[@(64) ()]&] -[s2; Removes (and destroys) content.&] -[s0;3 &] -[s5;K%- [@(0.0.255) bool][@(64) _]IsEmpty[@(64) ()_][@(0.0.255) const]&] -[s7; [*/ Return value]-|true if there is no content.&] -[s0;3 &] -[s5;K%- [@(0.0.255) bool][@(64) _]IsPicked[@(64) ()_][@(0.0.255) const]&] -[s7; [*/ Return value]-|true if Any is picked.&] -[s0;3 &] -[s5;K%- [@(0.0.255) void][@(64) _]operator`=[@(64) (pick`__][^`:`:Any^@(64) Any][@(64) `&_][@3 s][@(64) ) -]&] -[s2; Pick operator. Transfers content while destroying source.&] -[s7; [%-*C@3 s]-|Source Any.&] +[s7;%% [*C@4 T]-|Required type.&] +[s7;%% [*/ Return value]-|Reference to content.&] +[s3; &] +[s4; &] +[s5;:`:`:Any`:`:Get`(`)const: [@(0.0.255) template]_<[@(0.0.255) class]_[*@4 T][@(0.0.255) >]_ +[@(0.0.255) const]_[*@4 T][@(0.0.255) `&]_[* Get]()_[@(0.0.255) const]&] +[s2;%% Returns constant reference to content. Is must be true, +otherwise this operation is illegal.&] +[s7;%% [*C@4 T]-|Required type.&] +[s7;%% [*/ Return value]-|Reference to content.&] +[s3; &] +[s4; &] +[s5;:`:`:Any`:`:Clear`(`): [@(0.0.255) void]_[* Clear]()&] +[s2;%% Removes (and destroys) content.&] +[s3; &] +[s4; &] +[s5;:`:`:Any`:`:IsEmpty`(`)const: [@(0.0.255) bool]_[* IsEmpty]()_[@(0.0.255) const]&] +[s7;%% [*/ Return value]-|true if there is no content.&] +[s3; &] +[s4; &] +[s5;:`:`:Any`:`:IsPicked`(`)const: [@(0.0.255) bool]_[* IsPicked]()_[@(0.0.255) const]&] +[s7;%% [*/ Return value]-|true if Any is picked.&] +[s3; &] +[s4; &] +[s5;:`:`:Any`:`:operator`=`(pick`_`:`:Any`&`): [@(0.0.255) void]_[* operator`=]([@(0.128.128) p +ick`_]_[_^`:`:Any^ Any][@(0.0.255) `&]_[*@3 s])&] +[s2;%% Pick operator. Transfers content while destroying source.&] +[s7;%% [%-*C@3 s]-|Source Any.&] [s0; ] \ No newline at end of file diff --git a/uppsrc/Core/src.tpp/AppEnv$en-us.tpp b/uppsrc/Core/src.tpp/AppEnv$en-us.tpp index 10da8b1c7..badda3747 100644 --- a/uppsrc/Core/src.tpp/AppEnv$en-us.tpp +++ b/uppsrc/Core/src.tpp/AppEnv$en-us.tpp @@ -5,8 +5,10 @@ topic "Application & environment utility"; [0 $$3,0#96390100711032703541132217272105:end] [H6;0 $$4,0#05600065144404261032431302351956:begin] [i448;a25;kKO9;2 $$5,0#37138531426314131252341829483370:item] -[l288;a17;*@5;1 $$6,6#70004532496200323422659154056402:requirement] +[l288;a4;*@5;1 $$6,6#70004532496200323422659154056402:requirement] [l288;i1121;b17;O9;~~~.1408;2 $$7,0#10431211400427159095818037425705:param] +[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam] +[b42;2 $$9,9#13035079074754324216151401829390:normal] [{_}%EN-US [s0; [@3;4 Application `& environment utility]&] [s0; A number of utility functions to obtain information about your diff --git a/uppsrc/Core/src.tpp/Array$en-us.tpp b/uppsrc/Core/src.tpp/Array$en-us.tpp index 71d1d2a0d..0ec173890 100644 --- a/uppsrc/Core/src.tpp/Array$en-us.tpp +++ b/uppsrc/Core/src.tpp/Array$en-us.tpp @@ -5,8 +5,10 @@ topic "Array"; [0 $$3,0#96390100711032703541132217272105:end] [H6;0 $$4,0#05600065144404261032431302351956:begin] [i448;a25;kKO9;2 $$5,0#37138531426314131252341829483370:item] -[l288;a17;*@5;1 $$6,6#70004532496200323422659154056402:requirement] +[l288;a4;*@5;1 $$6,6#70004532496200323422659154056402:requirement] [l288;i1121;b17;O9;~~~.1408;2 $$7,0#10431211400427159095818037425705:param] +[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam] +[b42;2 $$9,9#13035079074754324216151401829390:normal] [{_}%EN-US [s0;~~~64; Array&] [s0;~~~64; template &] diff --git a/uppsrc/Core/src.tpp/ArrayIndex$en-us.tpp b/uppsrc/Core/src.tpp/ArrayIndex$en-us.tpp index c47190ba0..331f84f1a 100644 --- a/uppsrc/Core/src.tpp/ArrayIndex$en-us.tpp +++ b/uppsrc/Core/src.tpp/ArrayIndex$en-us.tpp @@ -5,8 +5,10 @@ topic "ArrayIndex"; [0 $$3,0#96390100711032703541132217272105:end] [H6;0 $$4,0#05600065144404261032431302351956:begin] [i448;a25;kKO9;2 $$5,0#37138531426314131252341829483370:item] -[l288;a17;*@5;1 $$6,6#70004532496200323422659154056402:requirement] +[l288;a4;*@5;1 $$6,6#70004532496200323422659154056402:requirement] [l288;i1121;b17;O9;~~~.1408;2 $$7,0#10431211400427159095818037425705:param] +[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam] +[b42;2 $$9,9#13035079074754324216151401829390:normal] [{_}%EN-US [s5;K%- template_<[@(0.0.255) class][@(64) _][@4 T][@(64) , ][@(0.0.255) class][@(64) _][@4 HashFn][@(64) _ `=_StdHash<][@4 T][@(64) >_>__][@(0.0.255) class][@(64) _]ArrayIndex[@(64) _:_][@(0.0.255) pri diff --git a/uppsrc/Core/src.tpp/ArrayMap$en-us.tpp b/uppsrc/Core/src.tpp/ArrayMap$en-us.tpp index f79efcfcb..ea88ba349 100644 --- a/uppsrc/Core/src.tpp/ArrayMap$en-us.tpp +++ b/uppsrc/Core/src.tpp/ArrayMap$en-us.tpp @@ -5,8 +5,10 @@ topic "ArrayMap"; [0 $$3,0#96390100711032703541132217272105:end] [H6;0 $$4,0#05600065144404261032431302351956:begin] [i448;a25;kKO9;2 $$5,0#37138531426314131252341829483370:item] -[l288;a17;*@5;1 $$6,6#70004532496200323422659154056402:requirement] +[l288;a4;*@5;1 $$6,6#70004532496200323422659154056402:requirement] [l288;i1121;b17;O9;~~~.1408;2 $$7,0#10431211400427159095818037425705:param] +[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam] +[b42;2 $$9,9#13035079074754324216151401829390:normal] [{_}%EN-US [s0;:`:`:ArrayMap`:`:class: ArrayMap&] [s0; &] diff --git a/uppsrc/Core/src.tpp/BiArray$en-us.tpp b/uppsrc/Core/src.tpp/BiArray$en-us.tpp index fa56b0c25..39fa6453d 100644 --- a/uppsrc/Core/src.tpp/BiArray$en-us.tpp +++ b/uppsrc/Core/src.tpp/BiArray$en-us.tpp @@ -5,8 +5,10 @@ topic "BiArray"; [0 $$3,0#96390100711032703541132217272105:end] [H6;0 $$4,0#05600065144404261032431302351956:begin] [i448;a25;kKO9;2 $$5,0#37138531426314131252341829483370:item] -[l288;a17;*@5;1 $$6,6#70004532496200323422659154056402:requirement] +[l288;a4;*@5;1 $$6,6#70004532496200323422659154056402:requirement] [l288;i1121;b17;O9;~~~.1408;2 $$7,0#10431211400427159095818037425705:param] +[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam] +[b42;2 $$9,9#13035079074754324216151401829390:normal] [{_}%EN-US [s0;~~~64; BiArray&] [s0;~~~64; template &] diff --git a/uppsrc/Core/src.tpp/BiVector$en-us.tpp b/uppsrc/Core/src.tpp/BiVector$en-us.tpp index 9a4419f91..6034d3375 100644 --- a/uppsrc/Core/src.tpp/BiVector$en-us.tpp +++ b/uppsrc/Core/src.tpp/BiVector$en-us.tpp @@ -5,8 +5,10 @@ topic "BiVector"; [0 $$3,0#96390100711032703541132217272105:end] [H6;0 $$4,0#05600065144404261032431302351956:begin] [i448;a25;kKO9;2 $$5,0#37138531426314131252341829483370:item] -[l288;a17;*@5;1 $$6,6#70004532496200323422659154056402:requirement] +[l288;a4;*@5;1 $$6,6#70004532496200323422659154056402:requirement] [l288;i1121;b17;O9;~~~.1408;2 $$7,0#10431211400427159095818037425705:param] +[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam] +[b42;2 $$9,9#13035079074754324216151401829390:normal] [{_}%EN-US [s0;~~~64; BiVector&] [s0;~~~64; template &] diff --git a/uppsrc/Core/src.tpp/Buffer$en-us.tpp b/uppsrc/Core/src.tpp/Buffer$en-us.tpp index e310f922e..d31c475f1 100644 --- a/uppsrc/Core/src.tpp/Buffer$en-us.tpp +++ b/uppsrc/Core/src.tpp/Buffer$en-us.tpp @@ -5,8 +5,10 @@ topic "Buffer"; [0 $$3,0#96390100711032703541132217272105:end] [H6;0 $$4,0#05600065144404261032431302351956:begin] [i448;a25;kKO9;2 $$5,0#37138531426314131252341829483370:item] -[l288;a17;*@5;1 $$6,6#70004532496200323422659154056402:requirement] +[l288;a4;*@5;1 $$6,6#70004532496200323422659154056402:requirement] [l288;i1121;b17;O9;~~~.1408;2 $$7,0#10431211400427159095818037425705:param] +[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam] +[b42;2 $$9,9#13035079074754324216151401829390:normal] [{_}%EN-US [s0; Buffer&] [s5;K%- template_<[@(0.0.255) class][@(64) _][@4 T][@(64) >__][@(0.0.255) class][@(64) _]Buffer[@(64) _ diff --git a/uppsrc/Core/src.tpp/CParser$en-us.tpp b/uppsrc/Core/src.tpp/CParser$en-us.tpp index 0f481d521..698afc470 100644 --- a/uppsrc/Core/src.tpp/CParser$en-us.tpp +++ b/uppsrc/Core/src.tpp/CParser$en-us.tpp @@ -5,8 +5,10 @@ topic "CParser"; [0 $$3,0#96390100711032703541132217272105:end] [H6;0 $$4,0#05600065144404261032431302351956:begin] [i448;a25;kKO9;2 $$5,0#37138531426314131252341829483370:item] -[l288;a17;*@5;1 $$6,6#70004532496200323422659154056402:requirement] +[l288;a4;*@5;1 $$6,6#70004532496200323422659154056402:requirement] [l288;i1121;b17;O9;~~~.1408;2 $$7,0#10431211400427159095818037425705:param] +[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam] +[b42;2 $$9,9#13035079074754324216151401829390:normal] [{_}%EN-US [s5;K:`:`:CParser`:`:class:%- [@(0.0.255) class][@(64) _]CParser&] [s0; &] diff --git a/uppsrc/Core/src.tpp/Callbacks$en-us.tpp b/uppsrc/Core/src.tpp/Callbacks$en-us.tpp index 13bb16977..5e7d6de8b 100644 --- a/uppsrc/Core/src.tpp/Callbacks$en-us.tpp +++ b/uppsrc/Core/src.tpp/Callbacks$en-us.tpp @@ -5,8 +5,10 @@ topic "Callbacks"; [0 $$3,0#96390100711032703541132217272105:end] [H6;0 $$4,0#05600065144404261032431302351956:begin] [i448;a25;kKO9;2 $$5,0#37138531426314131252341829483370:item] -[l288;a17;*@5;1 $$6,6#70004532496200323422659154056402:requirement] +[l288;a4;*@5;1 $$6,6#70004532496200323422659154056402:requirement] [l288;i1121;b17;O9;~~~.1408;2 $$7,0#10431211400427159095818037425705:param] +[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam] +[b42;2 $$9,9#13035079074754324216151401829390:normal] [{_}%EN-US [s0; Callbacks&] [s0; Callbacks can be described as a very generalized form of function diff --git a/uppsrc/Core/src.tpp/Color$en-us.tpp b/uppsrc/Core/src.tpp/Color$en-us.tpp index b5481d5f0..1d9a46f1f 100644 --- a/uppsrc/Core/src.tpp/Color$en-us.tpp +++ b/uppsrc/Core/src.tpp/Color$en-us.tpp @@ -5,8 +5,10 @@ topic "Color"; [0 $$3,0#96390100711032703541132217272105:end] [H6;0 $$4,0#05600065144404261032431302351956:begin] [i448;a25;kKO9;2 $$5,0#37138531426314131252341829483370:item] -[l288;a17;*@5;1 $$6,6#70004532496200323422659154056402:requirement] +[l288;a4;*@5;1 $$6,6#70004532496200323422659154056402:requirement] [l288;i1121;b17;O9;~~~.1408;2 $$7,0#10431211400427159095818037425705:param] +[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam] +[b42;2 $$9,9#13035079074754324216151401829390:normal] [{_}%EN-US [s5;K%- [@(0.0.255) class][@(64) _]Color[@(64) _:_][@(0.0.255) private][@(64) _][^`:`:AssignValueTypeNo^@(64) A ssignValueTypeNo][@(64) <]Color[@(64) , ][^COLOR`_V^@(64) COLOR`_V][@(64) , diff --git a/uppsrc/Core/src.tpp/Convert$en-us.tpp b/uppsrc/Core/src.tpp/Convert$en-us.tpp index fe9ff6f67..7e216684c 100644 --- a/uppsrc/Core/src.tpp/Convert$en-us.tpp +++ b/uppsrc/Core/src.tpp/Convert$en-us.tpp @@ -5,8 +5,10 @@ topic "Convert"; [0 $$3,0#96390100711032703541132217272105:end] [H6;0 $$4,0#05600065144404261032431302351956:begin] [i448;a25;kKO9;2 $$5,0#37138531426314131252341829483370:item] -[l288;a17;*@5;1 $$6,6#70004532496200323422659154056402:requirement] +[l288;a4;*@5;1 $$6,6#70004532496200323422659154056402:requirement] [l288;i1121;b17;O9;~~~.1408;2 $$7,0#10431211400427159095818037425705:param] +[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam] +[b42;2 $$9,9#13035079074754324216151401829390:normal] [{_}%EN-US [s0; Convert&] [s5;K%- [@(0.0.255) class][@(64) _]Convert&] diff --git a/uppsrc/Core/src.tpp/DateFmt$en-us.tpp b/uppsrc/Core/src.tpp/DateFmt$en-us.tpp index fb794030d..683961569 100644 --- a/uppsrc/Core/src.tpp/DateFmt$en-us.tpp +++ b/uppsrc/Core/src.tpp/DateFmt$en-us.tpp @@ -5,8 +5,10 @@ topic "Date formatting and scanning"; [0 $$3,0#96390100711032703541132217272105:end] [H6;0 $$4,0#05600065144404261032431302351956:begin] [i448;a25;kKO9;2 $$5,0#37138531426314131252341829483370:item] -[l288;a17;*@5;1 $$6,6#70004532496200323422659154056402:requirement] +[l288;a4;*@5;1 $$6,6#70004532496200323422659154056402:requirement] [l288;i1121;b17;O9;~~~.1408;2 $$7,0#10431211400427159095818037425705:param] +[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam] +[b42;2 $$9,9#13035079074754324216151401829390:normal] [{_}%EN-US [s0;%- Date formatting and scanning&] [s0;3 &] diff --git a/uppsrc/Core/src.tpp/Format$en-us.tpp b/uppsrc/Core/src.tpp/Format$en-us.tpp index 4769f0d3a..574a4ca97 100644 --- a/uppsrc/Core/src.tpp/Format$en-us.tpp +++ b/uppsrc/Core/src.tpp/Format$en-us.tpp @@ -5,8 +5,10 @@ topic "Text formatting"; [0 $$3,0#96390100711032703541132217272105:end] [H6;0 $$4,0#05600065144404261032431302351956:begin] [i448;a25;kKO9;2 $$5,0#37138531426314131252341829483370:item] -[l288;a17;*@5;1 $$6,6#70004532496200323422659154056402:requirement] +[l288;a4;*@5;1 $$6,6#70004532496200323422659154056402:requirement] [l288;i1121;b17;O9;~~~.1408;2 $$7,0#10431211400427159095818037425705:param] +[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam] +[b42;2 $$9,9#13035079074754324216151401829390:normal] [{_}%EN-US [s0; Text formatting&] [s5;K:`:`:Format`(const char`*`,const`:`:Vector`<`:`:Value`>`&`):%- [^`:`:String^ Strin diff --git a/uppsrc/Core/src.tpp/Indext$en-us.tpp b/uppsrc/Core/src.tpp/Indext$en-us.tpp index 2decb36b5..4178bbe91 100644 --- a/uppsrc/Core/src.tpp/Indext$en-us.tpp +++ b/uppsrc/Core/src.tpp/Indext$en-us.tpp @@ -5,8 +5,10 @@ topic "Index"; [0 $$3,0#96390100711032703541132217272105:end] [H6;0 $$4,0#05600065144404261032431302351956:begin] [i448;a25;kKO9;2 $$5,0#37138531426314131252341829483370:item] -[l288;a17;*@5;1 $$6,6#70004532496200323422659154056402:requirement] +[l288;a4;*@5;1 $$6,6#70004532496200323422659154056402:requirement] [l288;i1121;b17;O9;~~~.1408;2 $$7,0#10431211400427159095818037425705:param] +[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam] +[b42;2 $$9,9#13035079074754324216151401829390:normal] [{_}%EN-US [s0;~~~64; Index&] [s0;~~~64; template diff --git a/uppsrc/Core/src.tpp/MathUtil$en-us.tpp b/uppsrc/Core/src.tpp/MathUtil$en-us.tpp index 2daa9ae27..59c447534 100644 --- a/uppsrc/Core/src.tpp/MathUtil$en-us.tpp +++ b/uppsrc/Core/src.tpp/MathUtil$en-us.tpp @@ -5,8 +5,10 @@ topic "Math utility"; [0 $$3,0#96390100711032703541132217272105:end] [H6;0 $$4,0#05600065144404261032431302351956:begin] [i448;a25;kKO9;2 $$5,0#37138531426314131252341829483370:item] -[l288;a17;*@5;1 $$6,6#70004532496200323422659154056402:requirement] +[l288;a4;*@5;1 $$6,6#70004532496200323422659154056402:requirement] [l288;i1121;b17;O9;~~~.1408;2 $$7,0#10431211400427159095818037425705:param] +[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam] +[b42;2 $$9,9#13035079074754324216151401829390:normal] [{_}%EN-US [s0;%- [@3;4 Math utility]&] [s0;%- &] diff --git a/uppsrc/Core/src.tpp/NetNode$en-us.tpp b/uppsrc/Core/src.tpp/NetNode$en-us.tpp index 010fc1be7..644952d11 100644 --- a/uppsrc/Core/src.tpp/NetNode$en-us.tpp +++ b/uppsrc/Core/src.tpp/NetNode$en-us.tpp @@ -5,8 +5,10 @@ topic "NetNode"; [0 $$3,0#96390100711032703541132217272105:end] [H6;0 $$4,0#05600065144404261032431302351956:begin] [i448;a25;kKO9;2 $$5,0#37138531426314131252341829483370:item] -[l288;a17;*@5;1 $$6,6#70004532496200323422659154056402:requirement] +[l288;a4;*@5;1 $$6,6#70004532496200323422659154056402:requirement] [l288;i1121;b17;O9;~~~.1408;2 $$7,0#10431211400427159095818037425705:param] +[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam] +[b42;2 $$9,9#13035079074754324216151401829390:normal] [{_}%EN-US [s0;%- NetNode&] [s1;K@(0.0.255) &] diff --git a/uppsrc/Core/src.tpp/One$en-us.tpp b/uppsrc/Core/src.tpp/One$en-us.tpp index d69b52474..b9061bdf1 100644 --- a/uppsrc/Core/src.tpp/One$en-us.tpp +++ b/uppsrc/Core/src.tpp/One$en-us.tpp @@ -5,8 +5,10 @@ topic "One"; [0 $$3,0#96390100711032703541132217272105:end] [H6;0 $$4,0#05600065144404261032431302351956:begin] [i448;a25;kKO9;2 $$5,0#37138531426314131252341829483370:item] -[l288;a17;*@5;1 $$6,6#70004532496200323422659154056402:requirement] +[l288;a4;*@5;1 $$6,6#70004532496200323422659154056402:requirement] [l288;i1121;b17;O9;~~~.1408;2 $$7,0#10431211400427159095818037425705:param] +[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam] +[b42;2 $$9,9#13035079074754324216151401829390:normal] [{_}%EN-US [s0;%- One&] [s5;K%- template_<[@(0.0.255) class][@(64) _][@4 T][@(64) >__][@(0.0.255) class][@(64) _]One[@(64) _ diff --git a/uppsrc/Core/src.tpp/Point$en-us.tpp b/uppsrc/Core/src.tpp/Point$en-us.tpp index 97c893a3e..22d7d5c47 100644 --- a/uppsrc/Core/src.tpp/Point$en-us.tpp +++ b/uppsrc/Core/src.tpp/Point$en-us.tpp @@ -5,7 +5,9 @@ topic "Point"; [0 $$3,0#96390100711032703541132217272105:end] [H6;0 $$4,0#05600065144404261032431302351956:begin] [i448;a25;kKO9;2 $$5,0#37138531426314131252341829483370:item] -[l288;a17;*@5;1 $$6,6#70004532496200323422659154056402:requirement] +[l288;a4;*@5;1 $$6,6#70004532496200323422659154056402:requirement] [l288;i1121;b17;O9;~~~.1408;2 $$7,0#10431211400427159095818037425705:param] +[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam] +[b42;2 $$9,9#13035079074754324216151401829390:normal] [{_} [s0; [*_@3 ERROR: Expected number: `@3;2 `$`$6,6#622449434]] \ No newline at end of file diff --git a/uppsrc/Core/src.tpp/PtePtr$en-us.tpp b/uppsrc/Core/src.tpp/PtePtr$en-us.tpp index 8a3645d90..ef75d683e 100644 --- a/uppsrc/Core/src.tpp/PtePtr$en-us.tpp +++ b/uppsrc/Core/src.tpp/PtePtr$en-us.tpp @@ -5,8 +5,10 @@ topic "Ptr and Pte"; [0 $$3,0#96390100711032703541132217272105:end] [H6;0 $$4,0#05600065144404261032431302351956:begin] [i448;a25;kKO9;2 $$5,0#37138531426314131252341829483370:item] -[l288;a17;*@5;1 $$6,6#70004532496200323422659154056402:requirement] +[l288;a4;*@5;1 $$6,6#70004532496200323422659154056402:requirement] [l288;i1121;b17;O9;~~~.1408;2 $$7,0#10431211400427159095818037425705:param] +[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam] +[b42;2 $$9,9#13035079074754324216151401829390:normal] [{_}%EN-US [s0; Ptr and Pte&] [s0; Ptr and Pte class templates provide a smart pointer system that diff --git a/uppsrc/Core/src.tpp/Segtor$en-us.tpp b/uppsrc/Core/src.tpp/Segtor$en-us.tpp index 1a0eb18d6..7c679032d 100644 --- a/uppsrc/Core/src.tpp/Segtor$en-us.tpp +++ b/uppsrc/Core/src.tpp/Segtor$en-us.tpp @@ -5,8 +5,10 @@ topic "Segtor"; [0 $$3,0#96390100711032703541132217272105:end] [H6;0 $$4,0#05600065144404261032431302351956:begin] [i448;a25;kKO9;2 $$5,0#37138531426314131252341829483370:item] -[l288;a17;*@5;1 $$6,6#70004532496200323422659154056402:requirement] +[l288;a4;*@5;1 $$6,6#70004532496200323422659154056402:requirement] [l288;i1121;b17;O9;~~~.1408;2 $$7,0#10431211400427159095818037425705:param] +[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam] +[b42;2 $$9,9#13035079074754324216151401829390:normal] [{_}%EN-US [s0;~~~64; Segtor&] [s0;~~~64; template &] diff --git a/uppsrc/Core/src.tpp/SerializationUtils$en-us.tpp b/uppsrc/Core/src.tpp/SerializationUtils$en-us.tpp index 8817f6936..d5e3eec8e 100644 --- a/uppsrc/Core/src.tpp/SerializationUtils$en-us.tpp +++ b/uppsrc/Core/src.tpp/SerializationUtils$en-us.tpp @@ -5,8 +5,10 @@ topic "Serialization utilities"; [0 $$3,0#96390100711032703541132217272105:end] [H6;0 $$4,0#05600065144404261032431302351956:begin] [i448;a25;kKO9;2 $$5,0#37138531426314131252341829483370:item] -[l288;a17;*@5;1 $$6,6#70004532496200323422659154056402:requirement] +[l288;a4;*@5;1 $$6,6#70004532496200323422659154056402:requirement] [l288;i1121;b17;O9;~~~.1408;2 $$7,0#10431211400427159095818037425705:param] +[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam] +[b42;2 $$9,9#13035079074754324216151401829390:normal] [{_}%EN-US [s0; Serialization utilities&] [s0;3 &] diff --git a/uppsrc/Core/src.tpp/Size$en-us.tpp b/uppsrc/Core/src.tpp/Size$en-us.tpp index 6bf47ed70..61501fec1 100644 --- a/uppsrc/Core/src.tpp/Size$en-us.tpp +++ b/uppsrc/Core/src.tpp/Size$en-us.tpp @@ -1,316 +1,341 @@ topic "Size"; -[ $$0,0#00000000000000000000000000000000:Default] -[i448;a25;kKO9;*@(64) $$1,0#37138531426314131252341829483380:class] -[l288;b25;2 $$2,0#27521748481378242620020725143825:desc] -[i450;kKO9;*@(64)2 $$3,0#37138531426314131252341829483370:item] -[H6;0 $$4,3#05600065144404261032431302351956:breakline] -[l288;a25;kK~~~.1408;@3;2 $$5,0#61217621437177404841962893300719:param] -[i450;a25;kKO9;*@3;2 $$6,6#62244943445105525459134198333165:shead] -[0 $$7,4#96390100711032703541132217272105:breakhead] +[2 $$0,0#00000000000000000000000000000000:Default] +[i448;a25;kKO9;2 $$1,0#37138531426314131252341829483380:class] +[l288;2 $$2,0#27521748481378242620020725143825:desc] +[0 $$3,0#96390100711032703541132217272105:end] +[H6;0 $$4,0#05600065144404261032431302351956:begin] +[i448;a25;kKO9;2 $$5,0#37138531426314131252341829483370:item] +[l288;a4;*@5;1 $$6,6#70004532496200323422659154056402:requirement] +[l288;i1121;b17;O9;~~~.1408;2 $$7,0#10431211400427159095818037425705:param] +[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam] +[b42;2 $$9,9#13035079074754324216151401829390:normal] [{_}%EN-US [s0; [*@3;4 Size`_]&] -[s0;*@3;2 &] -[s1;:`:`:Size`_`:`:struct:%- [@(0.0.255) template]_<[@(0.0.255) class]_[@4 T]>&] -[s1;%- [@(0.0.255) struct]_[@0 Size`_]_:_[@(0.0.255) public]_[^`:`:Moveable^ Moveable]<_[@0 Size -`_]<[@4 T]>_>_&] +[s0;*@3 &] +[s1;:`:`:Size`_`:`:struct:%- [@(0.0.255) template][@(64) _<][@(0.0.255) class][@(64) _][@4 T][@(64) > +]&] +[s1;%- [@(0.0.255) struct][@(64) _]Size`_[@(64) _:_][@(0.0.255) public][@(64) _][^`:`:Moveable^@(64) M +oveable][@(64) <_]Size`_[@(64) <][@4 T][@(64) >_>_]&] [s0; &] -[s0; [*2 Size`_][2 is a generic structure that describes a two dimensional -size object. The horizontal dimension is represented by ][*@(154.0.0)2 cx][@(154.0.0)2 -][2 and the vertical one by ][*@(154.0.0)2 cy][2 . Both dimension are -of type ][*@4;2 T][2 . To get a specialized version of ][*2 Size`_][2 , -use one of the following:]&] -[s0;2 &] -[s6;%- Size&] -[s3;i448;a25;:`:`:Size`:`:typedef:%- [@(0.0.255) typedef]_[^`:`:Size`_^ Size`_]<[@(0.0.255) i -nt]>_[@0 Size]&] +[s0; [* Size`_] is a generic structure that describes a two dimensional +size object. The horizontal dimension is represented by [*@(154.0.0) cx][@(154.0.0) +]and the vertical one by [*@(154.0.0) cy]. Both dimension are of +type [*@4 T]. To get a specialized version of [* Size`_], use one +of the following:&] +[s0; &] +[s0;%- Size&] +[s5;:`:`:Size`:`:typedef:%- [@(0.0.255) typedef][@(64) _][^`:`:Size`_^@(64) Size`_][@(64) <][@(0.0.255) i +nt][@(64) >_]Size&] [s2; Size`_ with with [* int] dimensions.&] -[s7; &] +[s3; &] [s4; &] -[s6;%- Size16&] -[s3;:`:`:Size16`:`:typedef:%- [@(0.0.255) typedef]_[^`:`:Size`_^ Size`_]<[@(0.0.255) int16]> -_[@0 Size16]&] +[s0;%- Size16&] +[s5;:`:`:Size16`:`:typedef:%- [@(0.0.255) typedef][@(64) _][^`:`:Size`_^@(64) Size`_][@(64) < +][@(0.0.255) int16][@(64) >_]Size16&] [s2; Size`_ with with [* int16][@(0.0.255) ]dimensions.&] -[s7; &] +[s3; &] [s4;*@(154.0.0) &] -[s6;%- Size64&] -[s3;:`:`:Size64`:`:typedef:%- [@(0.0.255) typedef]_[^`:`:Size`_^ Size`_]<[@(0.0.255) int64]> -_[@0 Size64]&] +[s0;%- Size64&] +[s5;:`:`:Size64`:`:typedef:%- [@(0.0.255) typedef][@(64) _][^`:`:Size`_^@(64) Size`_][@(64) < +][@(0.0.255) int64][@(64) >_]Size64&] [s2; Size`_ with with [* int64][@(0.0.255) ]dimensions.&] -[s7; &] +[s3; &] [s4;*@(154.0.0) &] -[s6;%- Sizef&] -[s3;:`:`:Sizef`:`:typedef:%- [@(0.0.255) typedef]_[^`:`:Size`_^ Size`_]<[@(0.0.255) double]> -_[@0 Sizef]&] +[s0;%- Sizef&] +[s5;:`:`:Sizef`:`:typedef:%- [@(0.0.255) typedef][@(64) _][^`:`:Size`_^@(64) Size`_][@(64) <][@(0.0.255) d +ouble][@(64) >_]Sizef&] [s2; Size`_ with with [* double][@(0.0.255) ]dimensions.&] [s0; &] [s0; &] [ {{10000F(128)G(128)@1 [s0; [* Constructor Detail]]}}&] [s0; &] -[s3;K:`:`:Size`_`:`:`:`:Size`_`(`):%- [@0 Size`_]()&] +[s5;K:`:`:Size`_`:`:`:`:Size`_`(`):%- Size`_[@(64) ()]&] [s2; Creates an uninitialized [* Size`_].&] -[s7; &] +[s3; &] [s4; &] -[s3;K:`:`:Size`_`:`:`:`:Size`_`(const`:`:Value`&`):%- [@0 Size`_]([@(0.0.255) const]_[^`:`:Value^ V -alue]`&_[@3 src])&] +[s5;K:`:`:Size`_`:`:`:`:Size`_`(const`:`:Value`&`):%- Size`_[@(64) (][@(0.0.255) const][@(64) _ +][^`:`:Value^@(64) Value][@(64) `&_][@3 src][@(64) )]&] [s2; Default copy constructor.&] -[s7; &] +[s3; &] [s4; &] -[s3;K:`:`:Size`_`:`:`:`:Size`_`(T`,T`):%- [@0 Size`_]([@4 T]_[@3 cx], [@4 T]_[@3 cy])&] +[s5;K:`:`:Size`_`:`:`:`:Size`_`(T`,T`):%- Size`_[@(64) (][@4 T][@(64) _][@3 cx][@(64) , +][@4 T][@(64) _][@3 cy][@(64) )]&] [s2; Creates a [* Size`_] object an initializes it`'s horizontal dimension with [%-*@3 cx ][%- and it`'s vertical dimension with ][*@3 cy].&] -[s7; &] +[s3; &] [s4; &] -[s3;K:`:`:Size`_`:`:`:`:Size`_`(const`:`:Size`_``&`):%- [@0 Size`_]([@(0.0.255) con -st]_[@0 Size`_]<[@(0.0.255) int]>`&_[@3 sz])&] +[s5;K:`:`:Size`_`:`:`:`:Size`_`(const`:`:Size`_``&`):%- Size`_[@(64) (][@(0.0.255) c +onst][@(64) _]Size`_[@(64) <][@(0.0.255) int][@(64) >`&_][@3 sz][@(64) )]&] [s2; Creates a [* Size`_] object and initializes it with a [* Size] [*@3 sz].&] -[s7; &] +[s3; &] [s4; &] -[s3;K:`:`:Size`_`:`:`:`:Size`_`(const`:`:Size`_``&`):%- [@0 Size`_]([@(0.0.255) c -onst]_[@0 Size`_]<[@(0.0.255) short]>`&_[@3 sz])&] +[s5;K:`:`:Size`_`:`:`:`:Size`_`(const`:`:Size`_``&`):%- Size`_[@(64) (][@(0.0.255) c +onst][@(64) _]Size`_[@(64) <][@(0.0.255) short][@(64) >`&_][@3 sz][@(64) )]&] [s2; Creates a [* Size`_] object and initializes it with a [* Size16] [*@3 sz].&] -[s7; &] +[s3; &] [s4; &] -[s3;K:`:`:Size`_`:`:`:`:Size`_`(const`:`:Size`_``&`):%- [@0 Size`_]([@(0.0.255) c -onst]_[@0 Size`_]<[@(0.0.255) double]>`&_[@3 sz])&] +[s5;K:`:`:Size`_`:`:`:`:Size`_`(const`:`:Size`_``&`):%- Size`_[@(64) (][@(0.0.255) c +onst][@(64) _]Size`_[@(64) <][@(0.0.255) double][@(64) >`&_][@3 sz][@(64) )]&] [s2; Creates a [* Size`_] object and initializes it with a [* Sizef] [*@3 sz].&] -[s7; &] +[s3; &] [s4; &] -[s3;K:`:`:Size`_`:`:`:`:Size`_`(const`:`:Size`_`<`:`:int64`>`&`):%- [@0 Size`_]([@(0.0.255) c -onst]_[@0 Size`_]<[@(0.0.255) int64]>`&_[@3 sz])&] +[s5;K:`:`:Size`_`:`:`:`:Size`_`(const`:`:Size`_`<`:`:int64`>`&`):%- Size`_[@(64) (][@(0.0.255) c +onst][@(64) _]Size`_[@(64) <][@(0.0.255) int64][@(64) >`&_][@3 sz][@(64) )]&] [s2; Creates a [* Size`_ ]object and initializes it with a [* Size64] [%-*@3 sz].&] -[s7; &] +[s3; &] [s4; &] -[s3;K:`:`:Size`_`:`:`:`:Size`_`(const`:`:Point`_``&`):%- [@0 Size`_]([@(0.0.255) cons -t]_[^`:`:Point`_^ Point`_]<[@4 T]>`&_[@3 pt])&] +[s5;K:`:`:Size`_`:`:`:`:Size`_`(const`:`:Point`_``&`):%- Size`_[@(64) (][@(0.0.255) c +onst][@(64) _][^`:`:Point`_^@(64) Point`_][@(64) <][@4 T][@(64) >`&_][@3 pt][@(64) )]&] [s2; Creates a [* Size`_ ]object and initializes it with a [* Point] [%-*@3 sz].&] -[s7; &] +[s3; &] [s4; &] -[s3;K:`:`:Size`_`:`:`:`:Size`_`(const`:`:Nuller`&`):%- [@0 Size`_]([@(0.0.255) const]_[^`:`:Nuller^ N -uller]`&)&] +[s5;K:`:`:Size`_`:`:`:`:Size`_`(const`:`:Nuller`&`):%- Size`_[@(64) (][@(0.0.255) const][@(64) _ +][^`:`:Nuller^@(64) Nuller][@(64) `&)]&] [s2; Creates a [* Size`_ ]object and initializes with [* Null].&] [s0; &] [s0; &] [ {{10000F(128)G(128)@1 [s0; [* Public Field List]]}}&] [s0; &] -[s3;K:`:`:Size`_`:`:cx:%- [@4 T]_[@0 cx]&] +[s5;K:`:`:Size`_`:`:cx:%- [@4 T][@(64) _]cx&] [s2; the horizontal dimension&] -[s7; &] +[s3; &] [s4; &] -[s3;K:`:`:Size`_`:`:cy:%- [@4 T]_[@0 cy]&] +[s5;K:`:`:Size`_`:`:cy:%- [@4 T][@(64) _]cy&] [s2; the vertical dimension&] [s0; &] [ {{10000F(128)G(128)@1 [s0; [* Method List]]}}&] [s0; &] -[s3;K:`:`:Size`_`:`:Clear`(`):%- [@(0.0.255) void]_[@0 Clear]()&] +[s5;K:`:`:Size`_`:`:Clear`(`):%- [@(0.0.255) void][@(64) _]Clear[@(64) ()]&] [s2; Sets both dimension to 0.&] -[s7; &] +[s3; &] [s4; &] -[s3;K:`:`:Size`_`:`:IsEmpty`(`)const:%- [@(0.0.255) bool]_[@0 IsEmpty]()_[@(0.0.255) const]&] +[s5;K:`:`:Size`_`:`:IsEmpty`(`)const:%- [@(0.0.255) bool][@(64) _]IsEmpty[@(64) ()_][@(0.0.255) c +onst]&] [s2; Returns [* true] if at least one dimension is 0, [* false] otherwise.&] -[s7; &] +[s3; &] [s4; &] -[s3;K:`:`:Size`_`:`:SetNull`(`):%- [@(0.0.255) void]_[@0 SetNull]()&] +[s5;K:`:`:Size`_`:`:SetNull`(`):%- [@(0.0.255) void][@(64) _]SetNull[@(64) ()]&] [s2; Reinitializes the object to [* Null].&] -[s7; &] +[s3; &] [s4; &] -[s3;K:`:`:Size`_`:`:IsNullInstance`(`)const:%- [@(0.0.255) bool]_[@0 IsNullInstance]()_[@(0.0.255) c -onst]&] +[s5;K:`:`:Size`_`:`:IsNullInstance`(`)const:%- [@(0.0.255) bool][@(64) _]IsNullInstance[@(64) ( +)_][@(0.0.255) const]&] [s2; Verifies if size is [* Null].&] -[s7; &] +[s3; &] [s4; &] -[s3;K:`:`:Size`_`:`:GetHashValue`(`)const:%- [@(0.0.255) unsigned]_[@0 GetHashValue]()_[@(0.0.255) c -onst]&] +[s5;K:`:`:Size`_`:`:GetHashValue`(`)const:%- [@(0.0.255) unsigned][@(64) _]GetHashValue[@(64) ( +)_][@(0.0.255) const]&] [s2; Returns the hash value of the size.&] -[s7; &] +[s3; &] [s4; &] -[s3;K:`:`:Size`_`:`:ToString`(`)const:%- [^topic`:`/`/Core`/src`/String`$en`-us^ String -]_[@0 ToString]()_[@(0.0.255) const]&] +[s5;K:`:`:Size`_`:`:ToString`(`)const:%- [^topic`:`/`/Core`/src`/String`$en`-us^ String +]_ToString[@(64) ()_][@(0.0.255) const]&] [s2; Returns the [* String] representation of the size.&] -[s7; &] +[s3; &] [s4; &] -[s3;K:`:`:Size`_`:`:operator`+`=`(`:`:Size`_`):%- [^`:`:Size`_^ Size`_]`&_[@0 operator`+`= -]([^`:`:Size`_^ Size`_]_[@3 p])&] +[s5;K:`:`:Size`_`:`:operator`+`=`(`:`:Size`_`):%- [^`:`:Size`_^ Size`_]`&_operator`+`=[@(64) ( +][^`:`:Size`_^@(64) Size`_][@(64) _][@3 p][@(64) )]&] [s2; Increases [* cx] with [*@3 p]`'s horizontal dimension and [* cy] with [*@3 p]`'s vertical dimension.&] -[s7; &] +[s3; &] [s4; &] -[s3;K:`:`:Size`_`:`:operator`+`=`(T`):%- [^`:`:Size`_^ Size`_]`&_[@0 operator`+`=](T_[@3 t]) -&] +[s5;K:`:`:Size`_`:`:operator`+`=`(T`):%- [^`:`:Size`_^ Size`_]`&_operator`+`=[@(64) (T_][@3 t +][@(64) )]&] [s2; Increases both dimension with the same value [*@3 t].&] -[s7; &] +[s3; &] [s4; &] -[s3;K:`:`:Size`_`:`:operator`-`=`(`:`:Size`_`):%- [^`:`:Size`_^ Size`_]`&_[@0 operator`-`= -]([^`:`:Size`_^ Size`_]_[@3 p])&] +[s5;K:`:`:Size`_`:`:operator`-`=`(`:`:Size`_`):%- [^`:`:Size`_^ Size`_]`&_operator`-`=[@(64) ( +][^`:`:Size`_^@(64) Size`_][@(64) _][@3 p][@(64) )]&] [s2; Decreases [* cx ]with [*@3 p]`'s horizontal dimension and [* cy ]with [*@3 p]`'s vertical dimension.&] -[s7; &] +[s3; &] [s4; &] -[s3;K:`:`:Size`_`:`:operator`-`=`(T`):%- [^`:`:Size`_^ Size`_]`&_[@0 operator`-`=]([@4 T]_[@3 t -])&] +[s5;K:`:`:Size`_`:`:operator`-`=`(T`):%- [^`:`:Size`_^ Size`_]`&_operator`-`=[@(64) (][@4 T +][@(64) _][@3 t][@(64) )]&] [s2; Decreases both dimension with the same value [*@3 t].&] -[s7; &] +[s3; &] [s4; &] -[s3;K:`:`:Size`_`:`:operator`*`=`(`:`:Size`_`):%- [^`:`:Size`_^ Size`_]`&_[@0 operator`*`= -]([^`:`:Size`_^ Size`_]_[@3 p])&] +[s5;K:`:`:Size`_`:`:operator`*`=`(`:`:Size`_`):%- [^`:`:Size`_^ Size`_]`&_operator`*`=[@(64) ( +][^`:`:Size`_^@(64) Size`_][@(64) _][@3 p][@(64) )]&] [s2; Multiplies [* cx ]with [*@3 p]`'s horizontal dimension and [* cy ]with [*@3 p]`'s vertical dimension.&] -[s7; &] +[s3; &] [s4; &] -[s3;K:`:`:Size`_`:`:operator`*`=`(T`):%- [^`:`:Size`_^ Size`_]`&_[@0 operator`*`=](T_[@3 t]) -&] +[s5;K:`:`:Size`_`:`:operator`*`=`(T`):%- [^`:`:Size`_^ Size`_]`&_operator`*`=[@(64) (T_][@3 t +][@(64) )]&] [s2; Multiplies both dimension with the same value [*@3 t].&] -[s7; &] +[s3; &] [s4; &] -[s3;K:`:`:Size`_`:`:operator`/`=`(`:`:Size`_`):%- [^`:`:Size`_^ Size`_]`&_[@0 operator/`= -]([^`:`:Size`_^ Size`_]_[@3 p])&] +[s5;K:`:`:Size`_`:`:operator`/`=`(`:`:Size`_`):%- [^`:`:Size`_^ Size`_]`&_operator/`=[@(64) ( +][^`:`:Size`_^@(64) Size`_][@(64) _][@3 p][@(64) )]&] [s2; Divides [* cx ]with [*@3 p]`'s horizontal dimension and [* cy ]with [*@3 p]`'s vertical dimension.&] -[s7; &] +[s3; &] [s4; &] -[s3;K:`:`:Size`_`:`:operator`/`=`(T`):%- [^`:`:Size`_^ Size`_]`&_[@0 operator/`=](T_[@3 t]) -&] +[s5;K:`:`:Size`_`:`:operator`/`=`(T`):%- [^`:`:Size`_^ Size`_]`&_operator/`=[@(64) (T_][@3 t +][@(64) )]&] [s2; Divides both dimension with the same value [*@3 t].&] -[s7; &] +[s3; &] [s4; &] -[s3;K:`:`:Size`_`:`:operator`<`<`=`(int`):%- [^`:`:Size`_^ Size`_]`&_[@0 operator<<`=]([@(0.0.255) i -nt]_[@3 sh])&] +[s5;K:`:`:Size`_`:`:operator`<`<`=`(int`):%- [^`:`:Size`_^ Size`_]`&_operator<<`=[@(64) ( +][@(0.0.255) int][@(64) _][@3 sh][@(64) )]&] [s2; Shift both dimensions left by [*@3 sh].&] -[s7; &] +[s3; &] [s4; &] -[s3;K:`:`:Size`_`:`:operator`>`>`=`(int`):%- [^`:`:Size`_^ Size`_]`&_[@0 operator>>`=]([@(0.0.255) i -nt]_[@3 sh])&] +[s5;K:`:`:Size`_`:`:operator`>`>`=`(int`):%- [^`:`:Size`_^ Size`_]`&_operator>>`=[@(64) ( +][@(0.0.255) int][@(64) _][@3 sh][@(64) )]&] [s2; Shift both dimensions right by [*@3 sh].&] -[s7; &] +[s3; &] [s4; &] -[s3;K:`:`:Size`_`:`:operator`+`+`(`):%- [^`:`:Size`_^ Size`_]`&_[@0 operator`+`+]()&] +[s5;K:`:`:Size`_`:`:operator`+`+`(`):%- [^`:`:Size`_^ Size`_]`&_operator`+`+[@(64) ()]&] [s2; Increments both dimensions.&] -[s7; &] +[s3; &] [s4; &] -[s3;K:`:`:Size`_`:`:operator`-`-`(`):%- [^`:`:Size`_^ Size`_]`&_[@0 operator`-`-]()&] +[s5;K:`:`:Size`_`:`:operator`-`-`(`):%- [^`:`:Size`_^ Size`_]`&_operator`-`-[@(64) ()]&] [s2; Decrements both dimensions.&] -[s7; &] +[s3; &] [s4; &] -[s3;K:`:`:Size`_`:`:operator`:`:Value`(`)const:%- [@(0.0.255) operator]_[@0 Value]()_[@(0.0.255) c -onst]&] +[s5;K:`:`:Size`_`:`:operator`:`:Value`(`)const:%- [@(0.0.255) operator][@(64) _]Value[@(64) ( +)_][@(0.0.255) const]&] [s2; Returns a conversion of the size to [* Value].&] -[s7; &] +[s3; &] [s4; &] -[s3;K:`:`:Size`_`:`:Serialize`(`:`:Stream`&`):%- [@(0.0.255) void]_[@0 Serialize]([^`:`:Stream^ S -tream]`&_[@3 s])&] +[s5;K:`:`:Size`_`:`:Serialize`(`:`:Stream`&`):%- [@(0.0.255) void][@(64) _]Serialize[@(64) ( +][^`:`:Stream^@(64) Stream][@(64) `&_][@3 s][@(64) )]&] [s2; Serializes the size to a stream [*@(141.42.0) s].&] [s0; &] [s0; &] [ {{10000F(128)G(128)@1 [s0; [*@2 Friend List]]}}&] [s0; &] -[s3;K:`:`:Size`_`:`:operator`+`(`:`:Size`_`):%- [@(0.0.255) friend]_[^`:`:Size`_^ Size`_]_ -[@0 operator`+]([^`:`:Size`_^ Size`_]_[@3 s])&] +[s5;K:`:`:Size`_`:`:operator`+`(`:`:Size`_`):%- [@(0.0.255) friend][@(64) _][^`:`:Size`_^@(64) S +ize`_][@(64) _]operator`+[@(64) (][^`:`:Size`_^@(64) Size`_][@(64) _][@3 s][@(64) )]&] [s2; Returns an unmodified size [%-*@3 s].&] -[s7; &] +[s3; &] [s4; &] -[s3;K:`:`:Size`_`:`:operator`-`(`:`:Size`_`):%- [@(0.0.255) friend]_[^`:`:Size`_^ Size`_]_ -[@0 operator`-]([^`:`:Size`_^ Size`_]_[@3 s])&] +[s5;K:`:`:Size`_`:`:operator`-`(`:`:Size`_`):%- [@(0.0.255) friend][@(64) _][^`:`:Size`_^@(64) S +ize`_][@(64) _]operator`-[@(64) (][^`:`:Size`_^@(64) Size`_][@(64) _][@3 s][@(64) )]&] [s2; Returns a negated size [%-*@3 s].&] -[s7; &] +[s3; &] [s4; &] -[s3;K:`:`:Size`_`:`:operator`+`(`:`:Size`_`,`:`:Size`_`):%- [@(0.0.255) friend]_[^`:`:Size`_^ S -ize`_]_[@0 operator`+]([^`:`:Size`_^ Size`_]_[@3 a], [^`:`:Size`_^ Size`_]_[@3 b])&] -[s3;:`:`:Size`_`:`:operator`+`(`:`:Size`_`,T`):%- [@(0.0.255) friend]_[^`:`:Size`_^ Size`_ -]_[@0 operator`+]([^`:`:Size`_^ Size`_]_[@3 a], T_[@3 t])&] -[s3;:`:`:Size`_`:`:operator`+`(T`,`:`:Size`_`):%- [@(0.0.255) friend]_[^`:`:Size`_^ Size`_ -]_[@0 operator`+](T_[@3 t], [^`:`:Size`_^ Size`_]_[@3 b])&] +[s5;K:`:`:Size`_`:`:operator`+`(`:`:Size`_`,`:`:Size`_`):%- [@(0.0.255) friend][@(64) _][^`:`:Size`_^@(64) S +ize`_][@(64) _]operator`+[@(64) (][^`:`:Size`_^@(64) Size`_][@(64) _][@3 a][@(64) , +][^`:`:Size`_^@(64) Size`_][@(64) _][@3 b][@(64) )]&] +[s5;:`:`:Size`_`:`:operator`+`(`:`:Size`_`,T`):%- [@(0.0.255) friend][@(64) _][^`:`:Size`_^@(64) S +ize`_][@(64) _]operator`+[@(64) (][^`:`:Size`_^@(64) Size`_][@(64) _][@3 a][@(64) , +T_][@3 t][@(64) )]&] +[s5;:`:`:Size`_`:`:operator`+`(T`,`:`:Size`_`):%- [@(0.0.255) friend][@(64) _][^`:`:Size`_^@(64) S +ize`_][@(64) _]operator`+[@(64) (T_][@3 t][@(64) , ][^`:`:Size`_^@(64) Size`_][@(64) _][@3 b][@(64) ) +]&] [s2; Returns the result of the addition of two Size`_ values or a Size`_ with single value.&] -[s7; &] +[s3; &] [s4; &] -[s3;K:`:`:Size`_`:`:operator`-`(`:`:Size`_`,`:`:Size`_`):%- [@(0.0.255) friend]_[^`:`:Size`_^ S -ize`_]_[@0 operator`-]([^`:`:Size`_^ Size`_]_[@3 a], [^`:`:Size`_^ Size`_]_[@3 b])&] -[s3;:`:`:Size`_`:`:operator`-`(`:`:Size`_`,T`):%- [@(0.0.255) friend]_[^`:`:Size`_^ Size`_ -]_[@0 operator`-]([^`:`:Size`_^ Size`_]_[@3 a], T_[@3 t])&] -[s3;:`:`:Size`_`:`:operator`-`(T`,`:`:Size`_`):%- [@(0.0.255) friend]_[^`:`:Size`_^ Size`_ -]_[@0 operator`-](T_[@3 t], [^`:`:Size`_^ Size`_]_[@3 b])&] +[s5;K:`:`:Size`_`:`:operator`-`(`:`:Size`_`,`:`:Size`_`):%- [@(0.0.255) friend][@(64) _][^`:`:Size`_^@(64) S +ize`_][@(64) _]operator`-[@(64) (][^`:`:Size`_^@(64) Size`_][@(64) _][@3 a][@(64) , +][^`:`:Size`_^@(64) Size`_][@(64) _][@3 b][@(64) )]&] +[s5;:`:`:Size`_`:`:operator`-`(`:`:Size`_`,T`):%- [@(0.0.255) friend][@(64) _][^`:`:Size`_^@(64) S +ize`_][@(64) _]operator`-[@(64) (][^`:`:Size`_^@(64) Size`_][@(64) _][@3 a][@(64) , +T_][@3 t][@(64) )]&] +[s5;:`:`:Size`_`:`:operator`-`(T`,`:`:Size`_`):%- [@(0.0.255) friend][@(64) _][^`:`:Size`_^@(64) S +ize`_][@(64) _]operator`-[@(64) (T_][@3 t][@(64) , ][^`:`:Size`_^@(64) Size`_][@(64) _][@3 b][@(64) ) +]&] [s2; Returns the result of the subtraction of two Size`_ values or a Size`_ with single value.&] -[s7; &] +[s3; &] [s4; &] -[s3;K:`:`:Size`_`:`:operator`*`(`:`:Size`_`,`:`:Size`_`):%- [@(0.0.255) friend]_[^`:`:Size`_^ S -ize`_]_[@0 operator`*]([^`:`:Size`_^ Size`_]_[@3 a], [^`:`:Size`_^ Size`_]_[@3 b])&] -[s3;:`:`:Size`_`:`:operator`*`(`:`:Size`_`,T`):%- [@(0.0.255) friend]_[^`:`:Size`_^ Size`_ -]_[@0 operator`*]([^`:`:Size`_^ Size`_]_[@3 a], T_[@3 b])&] -[s3;:`:`:Size`_`:`:operator`*`(T`,`:`:Size`_`):%- [@(0.0.255) friend]_[^`:`:Size`_^ Size`_ -]_[@0 operator`*](T_[@3 a], [^`:`:Size`_^ Size`_]_[@3 b])&] +[s5;K:`:`:Size`_`:`:operator`*`(`:`:Size`_`,`:`:Size`_`):%- [@(0.0.255) friend][@(64) _][^`:`:Size`_^@(64) S +ize`_][@(64) _]operator`*[@(64) (][^`:`:Size`_^@(64) Size`_][@(64) _][@3 a][@(64) , +][^`:`:Size`_^@(64) Size`_][@(64) _][@3 b][@(64) )]&] +[s5;:`:`:Size`_`:`:operator`*`(`:`:Size`_`,T`):%- [@(0.0.255) friend][@(64) _][^`:`:Size`_^@(64) S +ize`_][@(64) _]operator`*[@(64) (][^`:`:Size`_^@(64) Size`_][@(64) _][@3 a][@(64) , +T_][@3 b][@(64) )]&] +[s5;:`:`:Size`_`:`:operator`*`(T`,`:`:Size`_`):%- [@(0.0.255) friend][@(64) _][^`:`:Size`_^@(64) S +ize`_][@(64) _]operator`*[@(64) (T_][@3 a][@(64) , ][^`:`:Size`_^@(64) Size`_][@(64) _][@3 b][@(64) ) +]&] [s2; Returns the result of the multiplication of two Size`_ values or a Size`_ with single value.&] -[s7; &] +[s3; &] [s4; &] -[s3;K:`:`:Size`_`:`:operator`/`(`:`:Size`_`,`:`:Size`_`):%- [@(0.0.255) friend]_[^`:`:Size`_^ S -ize`_]_[@0 operator/]([^`:`:Size`_^ Size`_]_[@3 a], [^`:`:Size`_^ Size`_]_[@3 b])&] -[s3;:`:`:Size`_`:`:operator`/`(`:`:Size`_`,T`):%- [@(0.0.255) friend]_[^`:`:Size`_^ Size`_ -]_[@0 operator/]([^`:`:Size`_^ Size`_]_[@3 a], T_[@3 b])&] +[s5;K:`:`:Size`_`:`:operator`/`(`:`:Size`_`,`:`:Size`_`):%- [@(0.0.255) friend][@(64) _][^`:`:Size`_^@(64) S +ize`_][@(64) _]operator/[@(64) (][^`:`:Size`_^@(64) Size`_][@(64) _][@3 a][@(64) , +][^`:`:Size`_^@(64) Size`_][@(64) _][@3 b][@(64) )]&] +[s5;:`:`:Size`_`:`:operator`/`(`:`:Size`_`,T`):%- [@(0.0.255) friend][@(64) _][^`:`:Size`_^@(64) S +ize`_][@(64) _]operator/[@(64) (][^`:`:Size`_^@(64) Size`_][@(64) _][@3 a][@(64) , +T_][@3 b][@(64) )]&] [s2; Returns the result of the division of two Size`_ values or a Size`_ with single value.&] -[s7; &] +[s3; &] [s4; &] -[s3;K:`:`:Size`_`:`:operator`<`<`(`:`:Size`_`,int`):%- [@(0.0.255) friend]_[^`:`:Size`_^ S -ize`_]_[@0 operator<<]([^`:`:Size`_^ Size`_]_[@3 a], [@(0.0.255) int]_[@3 sh])&] +[s5;K:`:`:Size`_`:`:operator`<`<`(`:`:Size`_`,int`):%- [@(0.0.255) friend][@(64) _][^`:`:Size`_^@(64) S +ize`_][@(64) _]operator<<[@(64) (][^`:`:Size`_^@(64) Size`_][@(64) _][@3 a][@(64) , +][@(0.0.255) int][@(64) _][@3 sh][@(64) )]&] [s2; Returns the result of left shifting [*@3 a] by [*@3 sh].&] -[s7; &] +[s3; &] [s4; &] -[s3;K:`:`:Size`_`:`:operator`>`>`(`:`:Size`_`,int`):%- [@(0.0.255) friend]_[^`:`:Size`_^ S -ize`_]_[@0 operator>>]([^`:`:Size`_^ Size`_]_[@3 a], [@(0.0.255) int]_[@3 sh])&] +[s5;K:`:`:Size`_`:`:operator`>`>`(`:`:Size`_`,int`):%- [@(0.0.255) friend][@(64) _][^`:`:Size`_^@(64) S +ize`_][@(64) _]operator>>[@(64) (][^`:`:Size`_^@(64) Size`_][@(64) _][@3 a][@(64) , +][@(0.0.255) int][@(64) _][@3 sh][@(64) )]&] [s2; Returns the result of right shifting [*@3 a] by [*@3 sh].&] -[s7; &] +[s3; &] [s4; &] -[s3;K:`:`:Size`_`:`:operator`=`=`(`:`:Size`_`,`:`:Size`_`):%- [@(0.0.255) friend]_[@(0.0.255) b -ool]_[@0 operator`=`=]([^`:`:Size`_^ Size`_]_[@3 a], [^`:`:Size`_^ Size`_]_[@3 b])&] +[s5;K:`:`:Size`_`:`:operator`=`=`(`:`:Size`_`,`:`:Size`_`):%- [@(0.0.255) friend][@(64) _ +][@(0.0.255) bool][@(64) _]operator`=`=[@(64) (][^`:`:Size`_^@(64) Size`_][@(64) _][@3 a][@(64) , + ][^`:`:Size`_^@(64) Size`_][@(64) _][@3 b][@(64) )]&] [s2; Returns [* true ]if [*@3 a ]and [*@3 b ]have their respective dimension equal, [* false ]otherwise.&] -[s7; &] +[s3; &] [s4; &] -[s3;K:`:`:Size`_`:`:operator`!`=`(`:`:Size`_`,`:`:Size`_`):%- [@(0.0.255) friend]_[@(0.0.255) b -ool]_[@0 operator!`=]([^`:`:Size`_^ Size`_]_[@3 a], [^`:`:Size`_^ Size`_]_[@3 b])&] +[s5;K:`:`:Size`_`:`:operator`!`=`(`:`:Size`_`,`:`:Size`_`):%- [@(0.0.255) friend][@(64) _ +][@(0.0.255) bool][@(64) _]operator!`=[@(64) (][^`:`:Size`_^@(64) Size`_][@(64) _][@3 a][@(64) , + ][^`:`:Size`_^@(64) Size`_][@(64) _][@3 b][@(64) )]&] [s2; Returns [* true ]if [*@3 a ]and [*@3 b ]have at least an unequal dimension, [* false ]otherwise.&] -[s7; &] +[s3; &] [s4; &] -[s3;K:`:`:Size`_`:`:min`(`:`:Size`_`,`:`:Size`_`):%- [@(0.0.255) friend]_[^`:`:Size`_^ Si -ze`_]_[@0 min]([^`:`:Size`_^ Size`_]_[@3 a], [^`:`:Size`_^ Size`_]_[@3 b])&] +[s5;K:`:`:Size`_`:`:min`(`:`:Size`_`,`:`:Size`_`):%- [@(0.0.255) friend][@(64) _][^`:`:Size`_^@(64) S +ize`_][@(64) _]min[@(64) (][^`:`:Size`_^@(64) Size`_][@(64) _][@3 a][@(64) , +][^`:`:Size`_^@(64) Size`_][@(64) _][@3 b][@(64) )]&] [s2;%- [%% Returns a ][%%* Size`_][%% with it`'s dimension equaling the minimum of the respective dimension between ][*@3 a][@3 ]and[%% ][*@3 b].&] -[s7;%- &] +[s3;%- &] [s4;%- &] -[s3;K:`:`:Size`_`:`:max`(`:`:Size`_`,`:`:Size`_`):%- [@(0.0.255) friend]_[^`:`:Size`_^ Si -ze`_]_[@0 max]([^`:`:Size`_^ Size`_]_[@3 a], [^`:`:Size`_^ Size`_]_[@3 b])&] +[s5;K:`:`:Size`_`:`:max`(`:`:Size`_`,`:`:Size`_`):%- [@(0.0.255) friend][@(64) _][^`:`:Size`_^@(64) S +ize`_][@(64) _]max[@(64) (][^`:`:Size`_^@(64) Size`_][@(64) _][@3 a][@(64) , +][^`:`:Size`_^@(64) Size`_][@(64) _][@3 b][@(64) )]&] [s2;%- [%% Returns a ][%%* Size`_][%% with it`'s dimension equaling the maximum of the respective dimension between ][*@3 a][@3 ]and[%% ][*@3 b].&] -[s7;%- &] +[s3;%- &] [s4; &] -[s3;K:`:`:Size`_`:`:Nvl`(`:`:Size`_`,`:`:Size`_`):%- [@(0.0.255) friend]_[^`:`:Size`_^ Si -ze`_]_[@0 Nvl]([^`:`:Size`_^ Size`_]_[@3 a], [^`:`:Size`_^ Size`_]_[@3 b])&] +[s5;K:`:`:Size`_`:`:Nvl`(`:`:Size`_`,`:`:Size`_`):%- [@(0.0.255) friend][@(64) _][^`:`:Size`_^@(64) S +ize`_][@(64) _]Nvl[@(64) (][^`:`:Size`_^@(64) Size`_][@(64) _][@3 a][@(64) , +][^`:`:Size`_^@(64) Size`_][@(64) _][@3 b][@(64) )]&] [s2; Returns [%-*@3 b] if [%-*@3 a] is Null, [%-*@3 a] otherwise.&] -[s7; &] +[s3; &] [s4; &] -[s3;K:`:`:Size`_`:`:ScalarProduct`(`:`:Size`_`,`:`:Size`_`):%- [@(0.0.255) friend]_[@4 T]_ -[@0 ScalarProduct]([^`:`:Size`_^ Size`_]_[@3 a], [^`:`:Size`_^ Size`_]_[@3 b])&] +[s5;K:`:`:Size`_`:`:ScalarProduct`(`:`:Size`_`,`:`:Size`_`):%- [@(0.0.255) friend][@(64) _ +][@4 T][@(64) _]ScalarProduct[@(64) (][^`:`:Size`_^@(64) Size`_][@(64) _][@3 a][@(64) , +][^`:`:Size`_^@(64) Size`_][@(64) _][@3 b][@(64) )]&] [s2; Returns the scalar product between [%-*@3 a] and [%-*@3 b].&] -[s7; &] +[s3; &] [s4; &] -[s3;K:`:`:Size`_`:`:VectorProduct`(`:`:Size`_`,`:`:Size`_`):%- [@(0.0.255) friend]_[@4 T]_ -[@0 VectorProduct]([^`:`:Size`_^ Size`_]_[@3 a], [^`:`:Size`_^ Size`_]_[@3 b])&] +[s5;K:`:`:Size`_`:`:VectorProduct`(`:`:Size`_`,`:`:Size`_`):%- [@(0.0.255) friend][@(64) _ +][@4 T][@(64) _]VectorProduct[@(64) (][^`:`:Size`_^@(64) Size`_][@(64) _][@3 a][@(64) , +][^`:`:Size`_^@(64) Size`_][@(64) _][@3 b][@(64) )]&] [s2; Returns the vectorial product between [%-*@3 a] and [%-*@3 b].&] -[s7; &] +[s3; &] [s4; &] -[s3;K:`:`:Size`_`:`:Squared`(`:`:Size`_`):%- [@(0.0.255) friend]_[@4 T]_[@0 Squared]([^`:`:Size`_^ S -ize`_]_[@3 a])&] +[s5;K:`:`:Size`_`:`:Squared`(`:`:Size`_`):%- [@(0.0.255) friend][@(64) _][@4 T][@(64) _]Squar +ed[@(64) (][^`:`:Size`_^@(64) Size`_][@(64) _][@3 a][@(64) )]&] [s2; Returns a [* Size`_] with [* cx] equal to the square of [%-*@3 a][%-* .cx][%- and ][%-* cy][%- equal to the square of ][%-*@3 a][%-* .cy].&] -[s7; &] +[s3; &] [s4; &] -[s3;K:`:`:Size`_`:`:Length`(`:`:Size`_`):%- [@(0.0.255) friend]_[@(0.0.255) double]_[@0 Len -gth]([^`:`:Size`_^ Size`_]_[@3 a])&] +[s5;K:`:`:Size`_`:`:Length`(`:`:Size`_`):%- [@(0.0.255) friend][@(64) _][@(0.0.255) double][@(64) _ +]Length[@(64) (][^`:`:Size`_^@(64) Size`_][@(64) _][@3 a][@(64) )]&] [s2; Returns the hypotenuse of the triangle described by [%-*@3 a].&] [s0; &] [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 74bc658cb..6784c62d0 100644 --- a/uppsrc/Core/src.tpp/Stream$en-us.tpp +++ b/uppsrc/Core/src.tpp/Stream$en-us.tpp @@ -5,8 +5,10 @@ topic "Streams"; [0 $$3,0#96390100711032703541132217272105:end] [H6;0 $$4,0#05600065144404261032431302351956:begin] [i448;a25;kKO9;2 $$5,0#37138531426314131252341829483370:item] -[l288;a17;*@5;1 $$6,6#70004532496200323422659154056402:requirement] +[l288;a4;*@5;1 $$6,6#70004532496200323422659154056402:requirement] [l288;i1121;b17;O9;~~~.1408;2 $$7,0#10431211400427159095818037425705:param] +[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam] +[b42;2 $$9,9#13035079074754324216151401829390:normal] [{_}%EN-US [s0; 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]] diff --git a/uppsrc/Core/src.tpp/StreamFn$en-us.tpp b/uppsrc/Core/src.tpp/StreamFn$en-us.tpp index c174e67cd..7a7bf44e6 100644 --- a/uppsrc/Core/src.tpp/StreamFn$en-us.tpp +++ b/uppsrc/Core/src.tpp/StreamFn$en-us.tpp @@ -5,8 +5,10 @@ topic "Stream utilities"; [0 $$3,0#96390100711032703541132217272105:end] [H6;0 $$4,0#05600065144404261032431302351956:begin] [i448;a25;kKO9;2 $$5,0#37138531426314131252341829483370:item] -[l288;a17;*@5;1 $$6,6#70004532496200323422659154056402:requirement] +[l288;a4;*@5;1 $$6,6#70004532496200323422659154056402:requirement] [l288;i1121;b17;O9;~~~.1408;2 $$7,0#10431211400427159095818037425705:param] +[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam] +[b42;2 $$9,9#13035079074754324216151401829390:normal] [{_}%EN-US [s0; Stream utilities&] [s0;3 &] diff --git a/uppsrc/Core/src.tpp/String$en-us.tpp b/uppsrc/Core/src.tpp/String$en-us.tpp index a7acd22b9..fcc798b3c 100644 --- a/uppsrc/Core/src.tpp/String$en-us.tpp +++ b/uppsrc/Core/src.tpp/String$en-us.tpp @@ -5,8 +5,10 @@ topic "[W]String and [W]StringBuffer"; [0 $$3,0#96390100711032703541132217272105:end] [H6;0 $$4,0#05600065144404261032431302351956:begin] [i448;a25;kKO9;2 $$5,0#37138531426314131252341829483370:item] -[l288;a17;*@5;1 $$6,6#70004532496200323422659154056402:requirement] +[l288;a4;*@5;1 $$6,6#70004532496200323422659154056402:requirement] [l288;i1121;b17;O9;~~~.1408;2 $$7,0#10431211400427159095818037425705:param] +[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam] +[b42;2 $$9,9#13035079074754324216151401829390:normal] [{_}%EN-US [s0; `[W`]String and `[W`]StringBuffer&] [s0; `[W`]String is a value class that contains an array of characters diff --git a/uppsrc/Core/src.tpp/Thread$en-us.tpp b/uppsrc/Core/src.tpp/Thread$en-us.tpp index eb8dc6b4b..fd469adb9 100644 --- a/uppsrc/Core/src.tpp/Thread$en-us.tpp +++ b/uppsrc/Core/src.tpp/Thread$en-us.tpp @@ -5,8 +5,10 @@ topic "class Thread"; [0 $$3,0#96390100711032703541132217272105:end] [H6;0 $$4,0#05600065144404261032431302351956:begin] [i448;a25;kKO9;2 $$5,0#37138531426314131252341829483370:item] -[l288;a17;*@5;1 $$6,6#70004532496200323422659154056402:requirement] +[l288;a4;*@5;1 $$6,6#70004532496200323422659154056402:requirement] [l288;i1121;b17;O9;~~~.1408;2 $$7,0#10431211400427159095818037425705:param] +[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam] +[b42;2 $$9,9#13035079074754324216151401829390:normal] [{_}%EN-US [s1;K:`:`:Thread`:`:class:%- Thread&] [s2; Encapsulation of thread.&] diff --git a/uppsrc/Core/src.tpp/Vector$en-us.tpp b/uppsrc/Core/src.tpp/Vector$en-us.tpp index 93d5cc254..d03f55e7f 100644 --- a/uppsrc/Core/src.tpp/Vector$en-us.tpp +++ b/uppsrc/Core/src.tpp/Vector$en-us.tpp @@ -5,8 +5,10 @@ topic "Vector"; [0 $$3,0#96390100711032703541132217272105:end] [H6;0 $$4,0#05600065144404261032431302351956:begin] [i448;a25;kKO9;2 $$5,0#37138531426314131252341829483370:item] -[l288;a17;*@5;1 $$6,6#70004532496200323422659154056402:requirement] +[l288;a4;*@5;1 $$6,6#70004532496200323422659154056402:requirement] [l288;i1121;b17;O9;~~~.1408;2 $$7,0#10431211400427159095818037425705:param] +[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam] +[b42;2 $$9,9#13035079074754324216151401829390:normal] [{_}%EN-US [s0;~~~64; Vector&] [s5;K%- template_<[@(0.0.255) class][@(64) _][@4 T][@(64) >__][@(0.0.255) class][@(64) _]Vector[@(64) _ diff --git a/uppsrc/Core/src.tpp/VectorMap$en-us.tpp b/uppsrc/Core/src.tpp/VectorMap$en-us.tpp index 23b683d04..0cf7f8a7a 100644 --- a/uppsrc/Core/src.tpp/VectorMap$en-us.tpp +++ b/uppsrc/Core/src.tpp/VectorMap$en-us.tpp @@ -5,8 +5,10 @@ topic "VectorMap"; [0 $$3,0#96390100711032703541132217272105:end] [H6;0 $$4,0#05600065144404261032431302351956:begin] [i448;a25;kKO9;2 $$5,0#37138531426314131252341829483370:item] -[l288;a17;*@5;1 $$6,6#70004532496200323422659154056402:requirement] +[l288;a4;*@5;1 $$6,6#70004532496200323422659154056402:requirement] [l288;i1121;b17;O9;~~~.1408;2 $$7,0#10431211400427159095818037425705:param] +[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam] +[b42;2 $$9,9#13035079074754324216151401829390:normal] [{_}%EN-US [s0;%- VectorMap&] [s5;K%- template_<[@(0.0.255) class][@(64) _][@4 K][@(64) , ][@(0.0.255) class][@(64) _][@4 T][@(64) , diff --git a/uppsrc/Core/src.tpp/algo$en-us.tpp b/uppsrc/Core/src.tpp/algo$en-us.tpp index 891558165..676a27fcc 100644 --- a/uppsrc/Core/src.tpp/algo$en-us.tpp +++ b/uppsrc/Core/src.tpp/algo$en-us.tpp @@ -5,34 +5,40 @@ topic "Algorithms"; [0 $$3,0#96390100711032703541132217272105:end] [H6;0 $$4,0#05600065144404261032431302351956:begin] [i448;a25;kKO9;2 $$5,0#37138531426314131252341829483370:item] -[l288;a17;*@5;1 $$6,6#70004532496200323422659154056402:requirement] +[l288;a4;*@5;1 $$6,6#70004532496200323422659154056402:requirement] [l288;i1121;b17;O9;~~~.1408;2 $$7,0#10431211400427159095818037425705:param] +[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam] +[b42;2 $$9,9#13035079074754324216151401829390:normal] [{_}%EN-US -[s0; Algorithms&] +[s0; [*5 Algorithms]&] [s0; &] -[s5;K%- template_<[@(0.0.255) class][@(64) _][@4 T][@(64) >__][@(0.0.255) void][@(64) _]Swap[@(64) ( -][^T^@(64) T][@(64) `&_][@3 a][@(64) , ][^T^@(64) T][@(64) `&_][@3 b][@(64) )]&] +[ {{10000F(128)G(128)@1 [s0; [* Global Functions]]}}&] +[s4;%- &] +[s5;:`:`:`:`:Swap`(T`&`,T`&`):%- [@(0.0.255) template]_<[@(0.0.255) class]_[*@4 T][@(0.0.255) > +]_[@(0.0.255) void]_[* Swap]([*@4 T][@(0.0.255) `&]_[*@3 a], [*@4 T][@(0.0.255) `&]_[*@3 b])&] [s2; Swaps values. Specific types might specialize [* Swap] with more effective variants.&] [s6; T must have either deep copy operator or pick operator.&] [s7; [*C@4 T]-|Type of values.&] [s7; [*C@3 a]-|First value to swap.&] [s7; [*C@3 b]-|Second value to swap.&] -[s0; &] -[s5;K%- template_<[@(0.0.255) class][@(64) _][@4 I][@(64) >__][@(0.0.255) void][@(64) _]IterSwap[@(64) ( -][^I^@(64) I][@(64) _][@3 a][@(64) , ][^I^@(64) I][@(64) _][@3 b][@(64) )]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:`:`:IterSwap`(I`,I`):%- [@(0.0.255) template]_<[@(0.0.255) class]_[*@4 I][@(0.0.255) > +]_[@(0.0.255) void]_[* IterSwap]([*@4 I]_[*@3 a], [*@4 I]_[*@3 b])&] [s2; Swaps values pointed to by iterators. Specific types might specialize [* IterSwap] with more effective variants.&] [s6; Swap must be defined for type pointed to by I.&] [s7; [*C@4 I]-|Iterator type.&] [s7; [*C@3 a]-|Iterator pointing to first value.&] [s7; [*C@3 b]-|Iterator pointing to second value.&] -[s0; &] -[s5;K%- template_<[@(0.0.255) class][@(64) _][@4 C][@(64) , ][@(0.0.255) class][@(64) _][@4 T][@(64) , - ][@(0.0.255) class][@(64) _][@4 L][@(64) >__][@(0.0.255) int][@(64) _]FindLowerBound[@(64) (][@(0.0.255) c -onst][@(64) _][^C^@(64) C][@(64) `&_][@3 v][@(64) , ][@(0.0.255) int][@(64) _][@3 pos][@(64) , -][@(0.0.255) int][@(64) _][@3 count][@(64) , ][@(0.0.255) const][@(64) _][^T^@(64) T][@(64) `&_][@3 v -al][@(64) , ][@(0.0.255) const][@(64) _][^L^@(64) L][@(64) `&_][@3 less][@(64) )]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:`:`:FindLowerBound`(const C`&`,int`,int`,const T`&`,const L`&`):%- [@(0.0.255) t +emplate]_<[@(0.0.255) class]_[*@4 C], [@(0.0.255) class]_[*@4 T], [@(0.0.255) class]_[*@4 L][@(0.0.255) > +]_[@(0.0.255) int]_[* FindLowerBound]([@(0.0.255) const]_[*@4 C][@(0.0.255) `&]_[*@3 v], +[@(0.0.255) int]_[*@3 pos], [@(0.0.255) int]_[*@3 count], [@(0.0.255) const]_[*@4 T][@(0.0.255) `& +]_[*@3 val], [@(0.0.255) const]_[*@4 L][@(0.0.255) `&]_[*@3 less])&] [s2; Finds first position in range of container sorted by [* less] predicate where [* val] can be inserted without breaking the ordering.&] [s7; [*C@4 C]-|Type of container.&] @@ -43,11 +49,13 @@ predicate where [* val] can be inserted without breaking the ordering.&] [s7; [*C@3 val]-|Value to find.&] [s7; [*C@3 less]-|Ordering predicate.&] [s7; [*/ Return value]-|Position in container.&] -[s0; &] -[s5;K%- template_<[@(0.0.255) class][@(64) _][@4 C][@(64) , ][@(0.0.255) class][@(64) _][@4 T][@(64) , - ][@(0.0.255) class][@(64) _][@4 L][@(64) >__][@(0.0.255) int][@(64) _]FindLowerBound[@(64) (][@(0.0.255) c -onst][@(64) _][^C^@(64) C][@(64) `&_][@3 v][@(64) , ][@(0.0.255) const][@(64) _][^T^@(64) T][@(64) `& -_][@3 val][@(64) , ][@(0.0.255) const][@(64) _][^L^@(64) L][@(64) `&_][@3 less][@(64) )]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:`:`:FindLowerBound`(const C`&`,const T`&`,const L`&`):%- [@(0.0.255) template]_ +<[@(0.0.255) class]_[*@4 C], [@(0.0.255) class]_[*@4 T], [@(0.0.255) class]_[*@4 L][@(0.0.255) > +]_[@(0.0.255) int]_[* FindLowerBound]([@(0.0.255) const]_[*@4 C][@(0.0.255) `&]_[*@3 v], +[@(0.0.255) const]_[*@4 T][@(0.0.255) `&]_[*@3 val], [@(0.0.255) const]_[*@4 L][@(0.0.255) `&]_ +[*@3 less])&] [s2; Finds first position in sorted by [* less] predicate where [* val] can be inserted without breaking the ordering.&] [s7; [*C@4 C]-|Type of container.&] @@ -56,10 +64,11 @@ can be inserted without breaking the ordering.&] [s7; [*C@3 val]-|Value to find.&] [s7; [*C@3 less]-|Ordering predicate.&] [s7; [*/ Return value]-|Position in container.&] -[s0; &] -[s5;K%- template_<[@(0.0.255) class][@(64) _][@4 C][@(64) , ][@(0.0.255) class][@(64) _][@4 T][@(64) > -__][@(0.0.255) int][@(64) _]FindLowerBound[@(64) (][@(0.0.255) const][@(64) _][^C^@(64) C][@(64) `& -_][@3 v][@(64) , ][@(0.0.255) const][@(64) _][^T^@(64) T][@(64) `&_][@3 val][@(64) )]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:`:`:FindLowerBound`(const C`&`,const T`&`):%- [@(0.0.255) template]_<[@(0.0.255) c +lass]_[*@4 C], [@(0.0.255) class]_[*@4 T][@(0.0.255) >]_[@(0.0.255) int]_[* FindLowerBound]([@(0.0.255) c +onst]_[*@4 C][@(0.0.255) `&]_[*@3 v], [@(0.0.255) const]_[*@4 T][@(0.0.255) `&]_[*@3 val])&] [s2; Finds first position in sorted by [*/ operator<] predicate where [* val] can be inserted without breaking the ordering.&] [s7; [*C@4 C]-|Type of container.&] @@ -67,12 +76,13 @@ _][@3 v][@(64) , ][@(0.0.255) const][@(64) _][^T^@(64) T][@(64) `&_][@3 val][@(6 [s7; [*C@3 v]-|Container.&] [s7; [*C@3 val]-|Value to find.&] [s7; [*/ Return value]-|Position in container.&] -[s0; &] -[s5;K%- template_<[@(0.0.255) class][@(64) _][@4 C][@(64) , ][@(0.0.255) class][@(64) _][@4 T][@(64) , - ][@(0.0.255) class][@(64) _][@4 L][@(64) >__][@(0.0.255) int][@(64) _]FindUpperBound[@(64) (][@(0.0.255) c -onst][@(64) _][^C^@(64) C][@(64) `&_][@3 v][@(64) , ][@(0.0.255) int][@(64) _][@3 pos][@(64) , -][@(0.0.255) int][@(64) _][@3 count][@(64) , ][@(0.0.255) const][@(64) _][^T^@(64) T][@(64) `&_][@3 v -al][@(64) , ][@(0.0.255) const][@(64) _][^L^@(64) L][@(64) `&_][@3 less][@(64) )]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:`:`:FindUpperBound`(const C`&`,int`,int`,const T`&`,const L`&`):%- [@(0.0.255) t +emplate]_<[@(0.0.255) class]_[*@4 C], [@(0.0.255) class]_[*@4 T], [@(0.0.255) class]_[*@4 L][@(0.0.255) > +]_[@(0.0.255) int]_[* FindUpperBound]([@(0.0.255) const]_[*@4 C][@(0.0.255) `&]_[*@3 v], +[@(0.0.255) int]_[*@3 pos], [@(0.0.255) int]_[*@3 count], [@(0.0.255) const]_[*@4 T][@(0.0.255) `& +]_[*@3 val], [@(0.0.255) const]_[*@4 L][@(0.0.255) `&]_[*@3 less])&] [s2; Finds last position in range of container sorted by [* less] predicate where [* val] can be inserted without breaking the ordering.&] [s7; [*C@4 C]-|Type of container.&] @@ -83,11 +93,13 @@ where [* val] can be inserted without breaking the ordering.&] [s7; [*C@3 val]-|Value to find.&] [s7; [*C@3 less]-|Ordering predicate.&] [s7; [*/ Return value]-|Position in container.&] -[s0; &] -[s5;K%- template_<[@(0.0.255) class][@(64) _][@4 C][@(64) , ][@(0.0.255) class][@(64) _][@4 T][@(64) , - ][@(0.0.255) class][@(64) _][@4 L][@(64) >__][@(0.0.255) int][@(64) _]FindUpperBound[@(64) (][@(0.0.255) c -onst][@(64) _][^C^@(64) C][@(64) `&_][@3 v][@(64) , ][@(0.0.255) const][@(64) _][^T^@(64) T][@(64) `& -_][@3 val][@(64) , ][@(0.0.255) const][@(64) _][^L^@(64) L][@(64) `&_][@3 less][@(64) )]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:`:`:FindUpperBound`(const C`&`,const T`&`,const L`&`):%- [@(0.0.255) template]_ +<[@(0.0.255) class]_[*@4 C], [@(0.0.255) class]_[*@4 T], [@(0.0.255) class]_[*@4 L][@(0.0.255) > +]_[@(0.0.255) int]_[* FindUpperBound]([@(0.0.255) const]_[*@4 C][@(0.0.255) `&]_[*@3 v], +[@(0.0.255) const]_[*@4 T][@(0.0.255) `&]_[*@3 val], [@(0.0.255) const]_[*@4 L][@(0.0.255) `&]_ +[*@3 less])&] [s2; Finds last position in sorted by [* less] predicate where [* val] can be inserted without breaking the ordering.&] [s7; [*C@4 C]-|Type of container.&] @@ -96,10 +108,11 @@ can be inserted without breaking the ordering.&] [s7; [*C@3 val]-|Value to find.&] [s7; [*C@3 less]-|Ordering predicate.&] [s7; [*/ Return value]-|Position in container.&] -[s0;:template` int FindUpperBound`(const C`& v`, const T`& val`): &] -[s5;K%- template_<[@(0.0.255) class][@(64) _][@4 C][@(64) , ][@(0.0.255) class][@(64) _][@4 T][@(64) > -__][@(0.0.255) int][@(64) _]FindUpperBound[@(64) (][@(0.0.255) const][@(64) _][^C^@(64) C][@(64) `& -_][@3 v][@(64) , ][@(0.0.255) const][@(64) _][^T^@(64) T][@(64) `&_][@3 val][@(64) )]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:`:`:FindUpperBound`(const C`&`,const T`&`):%- [@(0.0.255) template]_<[@(0.0.255) c +lass]_[*@4 C], [@(0.0.255) class]_[*@4 T][@(0.0.255) >]_[@(0.0.255) int]_[* FindUpperBound]([@(0.0.255) c +onst]_[*@4 C][@(0.0.255) `&]_[*@3 v], [@(0.0.255) const]_[*@4 T][@(0.0.255) `&]_[*@3 val])&] [s2; Finds last position in sorted by [*/ operator<] predicate where [* val] can be inserted without breaking the ordering.&] [s7; [*C@4 C]-|Type of container.&] @@ -107,12 +120,13 @@ _][@3 v][@(64) , ][@(0.0.255) const][@(64) _][^T^@(64) T][@(64) `&_][@3 val][@(6 [s7; [*C@3 v]-|Container.&] [s7; [*C@3 val]-|Value to find.&] [s7; [*/ Return value]-|Position in container.&] -[s0; &] -[s5;K%- template_<[@(0.0.255) class][@(64) _][@4 C][@(64) , ][@(0.0.255) class][@(64) _][@4 T][@(64) , - ][@(0.0.255) class][@(64) _][@4 L][@(64) >__][@(0.0.255) int][@(64) _]FindBinary[@(64) (][@(0.0.255) c -onst][@(64) _][^C^@(64) C][@(64) `&_][@3 v][@(64) , ][@(0.0.255) const][@(64) _][^T^@(64) T][@(64) `& -_][@3 val][@(64) , ][@(0.0.255) int][@(64) _][@3 pos][@(64) , ][@(0.0.255) int][@(64) _][@3 count][@(64) , - ][@(0.0.255) const][@(64) _][^L^@(64) L][@(64) `&_][@3 less][@(64) )]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:`:`:FindBinary`(const C`&`,const T`&`,int`,int`,const L`&`):%- [@(0.0.255) tem +plate]_<[@(0.0.255) class]_[*@4 C], [@(0.0.255) class]_[*@4 T], [@(0.0.255) class]_[*@4 L][@(0.0.255) > +]_[@(0.0.255) int]_[* FindBinary]([@(0.0.255) const]_[*@4 C][@(0.0.255) `&]_[*@3 v], +[@(0.0.255) const]_[*@4 T][@(0.0.255) `&]_[*@3 val], [@(0.0.255) int]_[*@3 pos], +[@(0.0.255) int]_[*@3 count], [@(0.0.255) const]_[*@4 L][@(0.0.255) `&]_[*@3 less])&] [s2; Finds position of element with specified value in a range of container sorted by [* less] predicate. If no such element exists, a negative value is returned.&] @@ -124,11 +138,12 @@ a negative value is returned.&] [s7; [*C@3 val]-|Value to find.&] [s7; [*C@3 less]-|Ordering predicate.&] [s7; [*/ Return value]-|Position in container.&] -[s0; &] -[s5;K%- template_<[@(0.0.255) class][@(64) _][@4 C][@(64) , ][@(0.0.255) class][@(64) _][@4 T][@(64) , - ][@(0.0.255) class][@(64) _][@4 L][@(64) >__][@(0.0.255) int][@(64) _]FindBinary[@(64) (][@(0.0.255) c -onst][@(64) _][^C^@(64) C][@(64) `&_][@3 v][@(64) , ][@(0.0.255) const][@(64) _][^T^@(64) T][@(64) `& -_][@3 val][@(64) , ][@(0.0.255) const][@(64) _][^L^@(64) L][@(64) `&_][@3 less][@(64) )]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:`:`:FindBinary`(const C`&`,const T`&`,const L`&`):%- [@(0.0.255) template]_<[@(0.0.255) c +lass]_[*@4 C], [@(0.0.255) class]_[*@4 T], [@(0.0.255) class]_[*@4 L][@(0.0.255) >]_[@(0.0.255) i +nt]_[* FindBinary]([@(0.0.255) const]_[*@4 C][@(0.0.255) `&]_[*@3 v], [@(0.0.255) const]_[*@4 T +][@(0.0.255) `&]_[*@3 val], [@(0.0.255) const]_[*@4 L][@(0.0.255) `&]_[*@3 less])&] [s2; Finds position of element with specified value in the container sorted by [* less] predicate. If no such element exists, a negative value is returned.&] @@ -138,10 +153,11 @@ value is returned.&] [s7; [*C@3 val]-|Value to find.&] [s7; [*C@3 less]-|Ordering predicate.&] [s7; [*/ Return value]-|Position in container.&] -[s0; &] -[s5;K%- template_<[@(0.0.255) class][@(64) _][@4 C][@(64) , ][@(0.0.255) class][@(64) _][@4 T][@(64) > -__][@(0.0.255) int][@(64) _]FindBinary[@(64) (][@(0.0.255) const][@(64) _][^C^@(64) C][@(64) `& -_][@3 v][@(64) , ][@(0.0.255) const][@(64) _][^T^@(64) T][@(64) `&_][@3 val][@(64) )]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:`:`:FindBinary`(const C`&`,const T`&`):%- [@(0.0.255) template]_<[@(0.0.255) cla +ss]_[*@4 C], [@(0.0.255) class]_[*@4 T][@(0.0.255) >]_[@(0.0.255) int]_[* FindBinary]([@(0.0.255) c +onst]_[*@4 C][@(0.0.255) `&]_[*@3 v], [@(0.0.255) const]_[*@4 T][@(0.0.255) `&]_[*@3 val])&] [s2; Finds position of element with specified value in the container sorted by [*/ operator<] predicate. If no such element exists, a negative value is returned.&] @@ -150,11 +166,12 @@ a negative value is returned.&] [s7; [*C@3 v]-|Container.&] [s7; [*C@3 val]-|Value to find.&] [s7; [*/ Return value]-|Position in container.&] -[s0;~~~.992; &] -[s5;K%- template_<[@(0.0.255) class][@(64) _][^C^@(64) C][@(64) , ][@(0.0.255) class][@(64) _][@4 L -][@(64) >__][^C^@(64) C][@(64) `&_]AppendSorted[@(64) (][^C^@(64) C][@(64) `&_][@3 dest][@(64) , -][@(0.0.255) const][@(64) _][^C^@(64) C][@(64) `&_][@3 src][@(64) , ][@(0.0.255) const][@(64) _][^L^@(64) L -][@(64) `&_][@3 less][@(64) )]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:`:`:AppendSorted`(C`&`,const C`&`,const L`&`):%- [@(0.0.255) template]_<[@(0.0.255) c +lass]_[*@4 C], [@(0.0.255) class]_[*@4 L][@(0.0.255) >]_[*@4 C][@(0.0.255) `&]_[* AppendSorted]( +[*@4 C][@(0.0.255) `&]_[*@3 dest], [@(0.0.255) const]_[*@4 C][@(0.0.255) `&]_[*@3 src], +[@(0.0.255) const]_[*@4 L][@(0.0.255) `&]_[*@3 less])&] [s2; Merges source NTL container to destination NTL container. Both containers must be sorted in ascending order. After the operation, destination container is sorted in ascending order and contains @@ -165,10 +182,11 @@ Ordering predicate is determined by [* less].&] [s7; [*C@3 src]-|Source container.&] [s7; [*C@3 less]-|Ordering predicate.&] [s7; [*/ Return value]-|Destination container.[C template]&] -[s0;~~~.992; &] -[s5;K%- template_<[@(0.0.255) class][@(64) _][^C^@(64) C][@(64) >__][^C^@(64) C][@(64) `&_]Append -Sorted[@(64) (][^C^@(64) C][@(64) `&_][@3 dest][@(64) , ][@(0.0.255) const][@(64) _][^C^@(64) C][@(64) `& -_][@3 src][@(64) )]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:`:`:AppendSorted`(C`&`,const C`&`):%- [@(0.0.255) template]_<[@(0.0.255) class]_ +[*@4 C][@(0.0.255) >]_[*@4 C][@(0.0.255) `&]_[* AppendSorted]([*@4 C][@(0.0.255) `&]_[*@3 dest], +[@(0.0.255) const]_[*@4 C][@(0.0.255) `&]_[*@3 src])&] [s2;~~~.992; Merges source NTL container to destination NTL container. Both containers must be sorted in ascending order. After the operation, destination container is sorted in ascending order @@ -178,11 +196,12 @@ preserved. Ordering is determined by [*/ operator<].&] [s7; [*C@3 dest]-|Destination container.&] [s7; [*C@3 src]-|Source container.&] [s7; [*/ Return value]-|Destination container.[C template]&] -[s0; &] -[s5;K%- template_<[@(0.0.255) class][@(64) _][^C^@(64) C][@(64) , ][@(0.0.255) class][@(64) _][@4 L -][@(64) >__][^C^@(64) C][@(64) `&_]UnionSorted[@(64) (][^C^@(64) C][@(64) `&_][@3 dest][@(64) , -][@(0.0.255) const][@(64) _][^C^@(64) C][@(64) `&_][@3 src][@(64) , ][@(0.0.255) const][@(64) _][^L^@(64) L -][@(64) `&_][@3 less][@(64) )]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:`:`:UnionSorted`(C`&`,const C`&`,const L`&`):%- [@(0.0.255) template]_<[@(0.0.255) c +lass]_[*@4 C], [@(0.0.255) class]_[*@4 L][@(0.0.255) >]_[*@4 C][@(0.0.255) `&]_[* UnionSorted]( +[*@4 C][@(0.0.255) `&]_[*@3 dest], [@(0.0.255) const]_[*@4 C][@(0.0.255) `&]_[*@3 src], +[@(0.0.255) const]_[*@4 L][@(0.0.255) `&]_[*@3 less])&] [s2; Merges source NTL container to destination NTL container. Both containers must be sorted in ascending order and values must be unique. After the operation, destination container is sorted @@ -193,10 +212,11 @@ Ordering is determined by [* less].&] [s7; [*C@3 src]-|Source container.&] [s7; [*C@3 less]-|Ordering predicate.&] [s7; [*/ Return value]-|Destination container.&] -[s0; &] -[s5;K%- template_<[@(0.0.255) class][@(64) _][^C^@(64) C][@(64) >__][^C^@(64) C][@(64) `&_]UnionS -orted[@(64) (][^C^@(64) C][@(64) `&_][@3 dest][@(64) , ][@(0.0.255) const][@(64) _][^C^@(64) C][@(64) `& -_][@3 src][@(64) )]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:`:`:UnionSorted`(C`&`,const C`&`):%- [@(0.0.255) template]_<[@(0.0.255) class]_[*@4 C +][@(0.0.255) >]_[*@4 C][@(0.0.255) `&]_[* UnionSorted]([*@4 C][@(0.0.255) `&]_[*@3 dest], +[@(0.0.255) const]_[*@4 C][@(0.0.255) `&]_[*@3 src])&] [s2; Merges the source NTL container to the destination NTL container. Both containers must be sorted in ascending order and values must be unique. After the operation, destination container is @@ -206,11 +226,12 @@ containers. Ordering is determined by [*/ operator<].&] [s7; [*C@3 dest]-|Destination container.&] [s7; [*C@3 src]-|Source container.&] [s7; [*/ Return value]-|Destination container.&] -[s0; &] -[s5;K%- template_<[@(0.0.255) class][@(64) _][^C^@(64) C][@(64) , ][@(0.0.255) class][@(64) _][@4 L -][@(64) >__][^C^@(64) C][@(64) `&_]RemoveSorted[@(64) (][^C^@(64) C][@(64) `&_][@3 from][@(64) , -][@(0.0.255) const][@(64) _][^C^@(64) C][@(64) `&_][@3 what][@(64) , ][@(0.0.255) const][@(64) _][^L^@(64) L -][@(64) `&_][@3 less][@(64) )]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:`:`:RemoveSorted`(C`&`,const C`&`,const L`&`):%- [@(0.0.255) template]_<[@(0.0.255) c +lass]_[*@4 C], [@(0.0.255) class]_[*@4 L][@(0.0.255) >]_[*@4 C][@(0.0.255) `&]_[* RemoveSorted]( +[*@4 C][@(0.0.255) `&]_[*@3 from], [@(0.0.255) const]_[*@4 C][@(0.0.255) `&]_[*@3 what], +[@(0.0.255) const]_[*@4 L][@(0.0.255) `&]_[*@3 less])&] [s2; Removes elements of source container from destination container. Both containers must be sorted in ascending order and values must be unique. Ordering is determined by [* less].&] @@ -219,10 +240,11 @@ must be unique. Ordering is determined by [* less].&] [s7; [*C@3 what]-|Source container.&] [s7; [*C@3 less]-|Ordering predicate.&] [s7; [*/ Return value]-|Destination container.&] -[s0; &] -[s5;K%- template_<[@(0.0.255) class][@(64) _][^C^@(64) C][@(64) >__][^C^@(64) C][@(64) `&_]Remove -Sorted[@(64) (][^C^@(64) C][@(64) `&_][@3 from][@(64) , ][@(0.0.255) const][@(64) _][^C^@(64) C][@(64) `& -_][@3 what][@(64) )]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:`:`:RemoveSorted`(C`&`,const C`&`):%- [@(0.0.255) template]_<[@(0.0.255) class]_ +[*@4 C][@(0.0.255) >]_[*@4 C][@(0.0.255) `&]_[* RemoveSorted]([*@4 C][@(0.0.255) `&]_[*@3 from], +[@(0.0.255) const]_[*@4 C][@(0.0.255) `&]_[*@3 what])&] [s2; Removes elements of source container from destination container. Both containers must be sorted in ascending order and values must be unique. Ordering is determined by [*/ operator<].&] @@ -230,11 +252,12 @@ must be unique. Ordering is determined by [*/ operator<].&] [s7; [*C@3 from]-|Destination container.&] [s7; [*C@3 what]-|Source container.&] [s7; [*/ Return value]-|Destination container.&] -[s0; &] -[s5;K%- template_<[@(0.0.255) class][@(64) _][^D^@(64) D][@(64) , ][@(0.0.255) class][@(64) _][@4 S -][@(64) , ][@(0.0.255) class][@(64) _][@4 L][@(64) >__][^D^@(64) D][@(64) `&_]IntersectSorted[@(64) ( -][^D^@(64) D][@(64) `&_][@3 dest][@(64) , ][@(0.0.255) const][@(64) _][^S^@(64) S][@(64) `&_][@3 sr -c][@(64) , ][@(0.0.255) const][@(64) _][^L^@(64) L][@(64) `&_][@3 less][@(64) )]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:`:`:IntersectSorted`(D`&`,const S`&`,const L`&`):%- [@(0.0.255) template]_<[@(0.0.255) c +lass]_[*@4 D], [@(0.0.255) class]_[*@4 S], [@(0.0.255) class]_[*@4 L][@(0.0.255) >]_[*@4 D][@(0.0.255) `& +]_[* IntersectSorted]([*@4 D][@(0.0.255) `&]_[*@3 dest], [@(0.0.255) const]_[*@4 S][@(0.0.255) `& +]_[*@3 src], [@(0.0.255) const]_[*@4 L][@(0.0.255) `&]_[*@3 less])&] [s2; Removes elements from destination container that are not contained in source container. Both containers must be sorted in ascending order and values must be unique. Ordering is determined by [* less].&] @@ -243,10 +266,11 @@ order and values must be unique. Ordering is determined by [* less].&] [s7; [*C@3 dest]-|Destination container.&] [s7; [*C@3 src]-|Source container.&] [s7; [*C@3 less]-|Destination container.&] -[s0; &] -[s5;K%- template_<[@(0.0.255) class][@(64) _][^D^@(64) D][@(64) , ][@(0.0.255) class][@(64) _][@4 S -][@(64) >__][^D^@(64) D][@(64) `&_]IntersectSorted[@(64) (][^D^@(64) D][@(64) `&_][@3 dest][@(64) , - ][@(0.0.255) const][@(64) _][^S^@(64) S][@(64) `&_][@3 src][@(64) )]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:`:`:IntersectSorted`(D`&`,const S`&`):%- [@(0.0.255) template]_<[@(0.0.255) clas +s]_[*@4 D], [@(0.0.255) class]_[*@4 S][@(0.0.255) >]_[*@4 D][@(0.0.255) `&]_[* IntersectSorted]( +[*@4 D][@(0.0.255) `&]_[*@3 dest], [@(0.0.255) const]_[*@4 S][@(0.0.255) `&]_[*@3 src])&] [s2; Removes elements from destination container that are not contained in source container. Both containers must be sorted in ascending order and values must be unique. Ordering is determined by [*/ operator<].&] @@ -255,27 +279,30 @@ order and values must be unique. Ordering is determined by [*/ operator<].&] [s7; [*C@3 dest]-|Destination container.&] [s7; [*C@3 src]-|Source container.&] [s7; [*/ Return value]-|Destination container.&] -[s0; &] -[s5;K%- template_<[@(0.0.255) class][@(64) _][@4 T][@(64) , ][@(0.0.255) class][@(64) _][@4 Less][@(64) > -__][@(0.0.255) void][@(64) _]Sort[@(64) (][^T^@(64) T][@(64) `&_][@3 c][@(64) , -][@(0.0.255) const][@(64) _][^Less^@(64) Less][@(64) `&_][@3 less][@(64) )]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:`:`:Sort`(T`&`,const Less`&`):%- [@(0.0.255) template]_<[@(0.0.255) class]_[*@4 T], + [@(0.0.255) class]_[*@4 Less][@(0.0.255) >]_[@(0.0.255) void]_[* Sort]([*@4 T][@(0.0.255) `&]_ +[*@3 c], [@(0.0.255) const]_[*@4 Less][@(0.0.255) `&]_[*@3 less])&] [s2; Sorts container. Ordering is determined by [* less].&] [s6; IterSwap must be defined for T`::Iterator.&] [s7; [*C@4 T]-|Type of container.&] [s7; [*C@3 c]-|Container.&] [s7; [*C@3 less]-|Ordering predicate.&] -[s0; &] -[s5;K%- template_<[@(0.0.255) class][@(64) _][@4 T][@(64) >__][@(0.0.255) void][@(64) _]Sort[@(64) ( -][^T^@(64) T][@(64) `&_][@3 c][@(64) )]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:`:`:Sort`(T`&`):%- [@(0.0.255) template]_<[@(0.0.255) class]_[*@4 T][@(0.0.255) >]_[@(0.0.255) v +oid]_[* Sort]([*@4 T][@(0.0.255) `&]_[*@3 c])&] [s2; Sorts container. Ordering is determined by [*/ operator<].&] [s2; [*1 IterSwap must be defined for T`::Iterator.]&] [s7; [*C@4 T]-|Type of container.&] [s7; [*C@3 c]-|Container.&] -[s0; &] -[s5;K%- template_<[@(0.0.255) class][@(64) _][@4 KC][@(64) , ][@(0.0.255) class][@(64) _][@4 VC][@(64) , - ][@(0.0.255) class][@(64) _][@4 Less][@(64) >__][@(0.0.255) void][@(64) _]IndexSort[@(64) (][^KC^@(64) K -C][@(64) `&_][@3 keys][@(64) , ][^VC^@(64) VC][@(64) `&_][@3 values][@(64) , -][@(0.0.255) const][@(64) _][^Less^@(64) Less][@(64) `&_][@3 less][@(64) )]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:`:`:IndexSort`(KC`&`,VC`&`,const Less`&`):%- [@(0.0.255) template]_<[@(0.0.255) c +lass]_[*@4 KC], [@(0.0.255) class]_[*@4 VC], [@(0.0.255) class]_[*@4 Less][@(0.0.255) >]_[@(0.0.255) v +oid]_[* IndexSort]([*@4 KC][@(0.0.255) `&]_[*@3 keys], [*@4 VC][@(0.0.255) `&]_[*@3 values], +[@(0.0.255) const]_[*@4 Less][@(0.0.255) `&]_[*@3 less])&] [s2; Sorts pair of containers. Both containers must have same number of items. Resulting order is determined by the [* keys] container. Ordering is determined by [* less].&] @@ -284,10 +311,11 @@ Ordering is determined by [* less].&] [s7; [*C@3 keys]-|Container of keys.&] [s7; [*C@3 values]-|Container of values.&] [s7; [*C@3 less]-|Ordering predicate.&] -[s0; &] -[s5;K%- template_<[@(0.0.255) class][@(64) _][@4 KC][@(64) , ][@(0.0.255) class][@(64) _][@4 VC][@(64) > -__][@(0.0.255) void][@(64) _]IndexSort[@(64) (][^KC^@(64) KC][@(64) `&_][@3 keys][@(64) , -][^VC^@(64) VC][@(64) `&_][@3 values][@(64) )]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:`:`:IndexSort`(KC`&`,VC`&`):%- [@(0.0.255) template]_<[@(0.0.255) class]_[*@4 KC], + [@(0.0.255) class]_[*@4 VC][@(0.0.255) >]_[@(0.0.255) void]_[* IndexSort]([*@4 KC][@(0.0.255) `& +]_[*@3 keys], [*@4 VC][@(0.0.255) `&]_[*@3 values])&] [s2; Sorts pair of containers. Both containers must have same number of items. Resulting order is determined by the [* keys] container. Ordering is determined by [*/ operator<].&] @@ -295,11 +323,12 @@ Ordering is determined by [*/ operator<].&] [s7; [*C@4 VC]-|Type of values container.&] [s7; [*C@3 keys]-|Container of keys.&] [s7; [*C@3 values]-|Container of values.&] -[s0; &] -[s5;K%- template_<[@(0.0.255) class][@(64) _][@4 C][@(64) , ][@(0.0.255) class][@(64) _][@4 Less][@(64) > -__][^`:`:Vector^@(64) Vector][@(64) <][^int^@(64) int][@(64) >_]GetSortOrder[@(64) (][@(0.0.255) c -onst][@(64) _][^C^@(64) C][@(64) `&_][@3 container][@(64) , ][@(0.0.255) const][@(64) _][^Less^@(64) L -ess][@(64) `&_][@3 less][@(64) )]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:`:`:GetSortOrder`(const C`&`,const Less`&`):%- [@(0.0.255) template]_<[@(0.0.255) c +lass]_[*@4 C], [@(0.0.255) class]_[*@4 Less][@(0.0.255) >]_[_^`:`:Vector^ Vector][@(0.0.255) < +int>]_[* GetSortOrder]([@(0.0.255) const]_[*@4 C][@(0.0.255) `&]_[*@3 container], +[@(0.0.255) const]_[*@4 Less][@(0.0.255) `&]_[*@3 less])&] [s2; Creates ascending order of values in container. Ordering is determined by [* less].&] [s7; [*C@4 C]-|Type of container.&] @@ -307,47 +336,50 @@ determined by [* less].&] [s7; [*C@3 less]-|Ordering predicate.&] [s7; [*/ Return value]-|Vector of positions of source container in sorted order.&] -[s0; &] -[s5;K%- template_<[@(0.0.255) class][@(64) _][@4 C][@(64) >__][^`:`:Vector^@(64) Vector][@(64) <][^int^@(64) i -nt][@(64) >_]GetSortOrder[@(64) (][@(0.0.255) const][@(64) _][^C^@(64) C][@(64) `&_][@3 contain -er][@(64) )]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:`:`:GetSortOrder`(const C`&`):%- [@(0.0.255) template]_<[@(0.0.255) class]_[*@4 C][@(0.0.255) > +]_[_^`:`:Vector^ Vector][@(0.0.255) ]_[* GetSortOrder]([@(0.0.255) const]_[*@4 C][@(0.0.255) `& +]_[*@3 container])&] [s2; Creates ascending order of values in container. Ordering is determined by [*/ operator<].&] [s7; [*C@4 C]-|Type of container.&] [s7; [*C@3 container]-|Source container.&] [s7; [*/ Return value]-|Vector of positions of source container in sorted order.&] -[s0; &] -[s5;K%- template_<[@(0.0.255) class][@(64) _][^O^@(64) O][@(64) , ][@(0.0.255) class][@(64) _][^T^@(64) T -][@(64) , ][@(0.0.255) class][@(64) _][^R^@(64) R][@(64) >__][^`:`:FieldRelationCls^@(64) Fie -ldRelationCls][@(64) <][^O^@(64) O][@(64) , ][^T^@(64) T][@(64) , ][^R^@(64) R][@(64) >_]FieldR -elation[@(64) (][^O^@(64) O][@(64) _(T`::`*][@3 member][@(64) ), ][@(0.0.255) const][@(64) _][^R^@(64) R -][@(64) `&_][@3 relation][@(64) )]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:`:`:FieldRelation`(O`(T`:`:`*`)`,const R`&`):%- [@(0.0.255) template]_<[@(0.0.255) c +lass]_[*@4 O], [@(0.0.255) class]_[*@4 T], [@(0.0.255) class]_[*@4 R][@(0.0.255) >]_[_^`:`:FieldRelationCls^ F +ieldRelationCls][@(0.0.255) <][*@4 O], [*@4 T], [*@4 R][@(0.0.255) >]_[* FieldRelation]([*@4 O]_ +(T`::[@(0.0.255) `*][*@3 member]), [@(0.0.255) const]_[*@4 R][@(0.0.255) `&]_[*@3 relation])&] [s2; Creates ordering predicate for [* T] based on the value of member variable of[* T].&] [s7; [*C@4 T]-|Type of element.&] [s7; [*C@3 member]-|Member variable of T.&] [s7; [*C@3 relation]-|Ordering relation for [* member].&] [s7; [*/ Return value]-|Ordering predicate.&] -[s0; &] -[s5;K%- template_<[@(0.0.255) class][@(64) _][@4 O][@(64) , ][@(0.0.255) class][@(64) _][^T^@(64) T -][@(64) , ][@(0.0.255) class][@(64) _][^R^@(64) R][@(64) >__][^`:`:MethodRelationCls^@(64) Me -thodRelationCls][@(64) <][@4 O][@(64) _(T`::`*)(), ][^T^@(64) T][@(64) , -][^R^@(64) R][@(64) >_]MethodRelation[@(64) (][^O^@(64) O][@(64) _(T`::`*][@3 method][@(64) )(), - ][@(0.0.255) const][@(64) _][^R^@(64) R][@(64) `&_][@3 relation][@(64) )]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:`:`:MethodRelation`(O`(T`:`:`*`)`(`)`,const R`&`):%- [@(0.0.255) template]_<[@(0.0.255) c +lass]_[*@4 O], [@(0.0.255) class]_[*@4 T], [@(0.0.255) class]_[*@4 R][@(0.0.255) >]_[_^`:`:MethodRelationCls^ M +ethodRelationCls][@(0.0.255) <][*@4 O]_(T`::[@(0.0.255) `*])(), [*@4 T], +[*@4 R][@(0.0.255) >]_[* MethodRelation]([*@4 O]_(T`::[@(0.0.255) `*][*@3 method])(), +[@(0.0.255) const]_[*@4 R][@(0.0.255) `&]_[*@3 relation])&] [s2; Creates ordering predicate for [* T] based on the value returned by non`-const method of [* T].&] [s7; [*C@4 T]-|Type of element.&] [s7; [*C@3 method]-|Method of T.&] [s7; [*C@3 relation]-|Ordering relation for value returned by method.&] [s7; [*/ Return value]-|Ordering predicate.&] -[s0; &] -[s5;K%- template_<[@(0.0.255) class][@(64) _][@4 O][@(64) , ][@(0.0.255) class][@(64) _][^T^@(64) T -][@(64) , ][@(0.0.255) class][@(64) _][^R^@(64) R][@(64) >__][^`:`:MethodRelationCls^@(64) Me -thodRelationCls][@(64) <][@4 O][@(64) _(T`::`*)()_][@(0.0.255) const][@(64) , -][^T^@(64) T][@(64) , ][^R^@(64) R][@(64) >_]MethodRelation[@(64) (][^O^@(64) O][@(64) _(T`::`*][@3 m -ethod][@(64) )()_][@(0.0.255) const][@(64) , ][@(0.0.255) const][@(64) _][^R^@(64) R][@(64) `&_ -][@3 relation][@(64) )]&] +[s3;%- &] +[s4;%- &] +[s5;:`:`:`:`:MethodRelation`(O`(T`:`:`*`)`(`)const`,const R`&`):%- [@(0.0.255) template +]_<[@(0.0.255) class]_[*@4 O], [@(0.0.255) class]_[*@4 T], [@(0.0.255) class]_[*@4 R][@(0.0.255) > +]_[_^`:`:MethodRelationCls^ MethodRelationCls][@(0.0.255) <][*@4 O]_(T`::[@(0.0.255) `*])( +)_[@(0.0.255) const], [*@4 T], [*@4 R][@(0.0.255) >]_[* MethodRelation]([*@4 O]_(T`::[@(0.0.255) `* +][*@3 method])()_[@(0.0.255) const], [@(0.0.255) const]_[*@4 R][@(0.0.255) `&]_[*@3 relation]) +&] [s2; Creates ordering predicate for [* T] based on the value returned by const method of [* T].&] [s7; [*C@4 T]-|Type of element.&] diff --git a/uppsrc/Core/src.tpp/util$en-us.tpp b/uppsrc/Core/src.tpp/util$en-us.tpp index d62516110..0bc021c44 100644 --- a/uppsrc/Core/src.tpp/util$en-us.tpp +++ b/uppsrc/Core/src.tpp/util$en-us.tpp @@ -5,8 +5,10 @@ topic "Miscellaneous"; [0 $$3,0#96390100711032703541132217272105:end] [H6;0 $$4,0#05600065144404261032431302351956:begin] [i448;a25;kKO9;2 $$5,0#37138531426314131252341829483370:item] -[l288;a17;*@5;1 $$6,6#70004532496200323422659154056402:requirement] +[l288;a4;*@5;1 $$6,6#70004532496200323422659154056402:requirement] [l288;i1121;b17;O9;~~~.1408;2 $$7,0#10431211400427159095818037425705:param] +[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam] +[b42;2 $$9,9#13035079074754324216151401829390:normal] [{_}%EN-US [s0; Miscellaneous&] [s0; &]