mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-09-01 15:52:41 -06:00
Fixed some Core topics..
git-svn-id: svn://ultimatepp.org/upp/trunk@484 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
parent
f3b0565101
commit
adb17eb64a
34 changed files with 925 additions and 1324 deletions
|
|
@ -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<int>() << 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`<int`>`&`):%- [@(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; ]
|
||||
|
|
@ -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<int>() << 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`<int`>`&`):%- [@(0.0.255) void]_[* Remove]([@(0.0.255) c
|
||||
|
|
@ -386,50 +357,45 @@ onst]_[_^`:`:Vector^ Vector][@(0.0.255) <int>`&]_[*@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; ]
|
||||
|
|
@ -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 <class [*@4 K], class [*@4 T], class [*@4 V], class
|
||||
[*@4 HashFn]>&]
|
||||
[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`<int`>`&`):%- [@(0.0.255) void]_[* Remove]([@(0.0.255) c
|
||||
onst]_[_^`:`:Vector^ Vector][@(0.0.255) <int>`&]_[*@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`<K`,HashFn`>`&`,pick`_ V`&`): [* AMap](pick`_
|
||||
Index<K>`& [*@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`<K`>`&`,pick`_ V`&`): [* AMap](pick`_
|
||||
Vector<K>`& [*@3 ndx], pick`_ V`& [*@3 val])&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:`:`:AMap`:`:AMap`(pick`_`:`:Vector`<K`>`&`,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.]
|
||||
[s0; ]
|
||||
|
|
@ -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<T> 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<T> 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<T> 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<T> 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; ]
|
||||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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 <class [*@4 T]>&]
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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; &]
|
||||
|
|
|
|||
|
|
@ -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 <class [*@4 T]>&]
|
||||
|
|
|
|||
|
|
@ -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 <class [*@4 T]>&]
|
||||
|
|
|
|||
|
|
@ -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) _
|
||||
|
|
|
|||
|
|
@ -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; &]
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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) ,
|
||||
|
|
|
|||
|
|
@ -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&]
|
||||
|
|
|
|||
|
|
@ -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 &]
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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 <class [*@4 T], class [*@4 HashFn] `= StdHash<[*@4 T]>
|
||||
|
|
|
|||
|
|
@ -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;%- &]
|
||||
|
|
|
|||
|
|
@ -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) &]
|
||||
|
|
|
|||
|
|
@ -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) _
|
||||
|
|
|
|||
|
|
@ -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]]
|
||||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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 <class [*@4 T], int [*@4 NBLK] `= 16>&]
|
||||
|
|
|
|||
|
|
@ -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 &]
|
||||
|
|
|
|||
|
|
@ -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`_`<int`>`&`):%- [@0 Size`_]([@(0.0.255) con
|
||||
st]_[@0 Size`_]<[@(0.0.255) int]>`&_[@3 sz])&]
|
||||
[s5;K:`:`:Size`_`:`:`:`:Size`_`(const`:`:Size`_`<int`>`&`):%- 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`_`<short`>`&`):%- [@0 Size`_]([@(0.0.255) c
|
||||
onst]_[@0 Size`_]<[@(0.0.255) short]>`&_[@3 sz])&]
|
||||
[s5;K:`:`:Size`_`:`:`:`:Size`_`(const`:`:Size`_`<short`>`&`):%- 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`_`<double`>`&`):%- [@0 Size`_]([@(0.0.255) c
|
||||
onst]_[@0 Size`_]<[@(0.0.255) double]>`&_[@3 sz])&]
|
||||
[s5;K:`:`:Size`_`:`:`:`:Size`_`(const`:`:Size`_`<double`>`&`):%- 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`_`<T`>`&`):%- [@0 Size`_]([@(0.0.255) cons
|
||||
t]_[^`:`:Point`_^ Point`_]<[@4 T]>`&_[@3 pt])&]
|
||||
[s5;K:`:`:Size`_`:`:`:`:Size`_`(const`:`:Point`_`<T`>`&`):%- 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; ]
|
||||
|
|
@ -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]]
|
||||
|
|
|
|||
|
|
@ -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 &]
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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.&]
|
||||
|
|
|
|||
|
|
@ -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) _
|
||||
|
|
|
|||
|
|
@ -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) ,
|
||||
|
|
|
|||
|
|
@ -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`<class C`, class T`> 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<class ][*C@4 C][C >]&]
|
||||
[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<class ][*C@4 C][C >]&]
|
||||
[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) <int>]_[* 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.&]
|
||||
|
|
|
|||
|
|
@ -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; &]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue