hashset
s and hashmap
sR/docs.R
, R/hashmap.R
, R/hashset.R
subsetting_hashtables.Rd
Subsetting operators `[[`
and `[`
for
hashset
s and hashmap
s provide an equivalent synthax for the
basic read/write operations performed by insert()
,
delete()
and query()
.
# S3 method for class 'r2r_hashmap'
x[[i]]
# S3 method for class 'r2r_hashmap'
x[i]
# S3 method for class 'r2r_hashmap'
x[[i]] <- value
# S3 method for class 'r2r_hashmap'
x[i] <- value
# S3 method for class 'r2r_hashset'
x[[i]]
# S3 method for class 'r2r_hashset'
x[i]
# S3 method for class 'r2r_hashset'
x[[i]] <- value
# S3 method for class 'r2r_hashset'
x[i] <- value
an hashset
or hashmap
.
for `[[`
-subsetting, an arbitrary R object, the key to be
queried or inserted/deleted from the hash tables. For `[`
-subsetting,
a list or an atomic vector whose individual elements correspond to the keys.
for `[[`
-subsetting: TRUE
or FALSE
if
x
is an hashset
, an arbitrary R object if x
is an
hashmap
. In the case of hashset
s, setting a key's value to
TRUE
and FALSE
is equivalent to inserting and deleting,
respectively, such key from the set. For `[`
-subsetting, value
must be a list or an atomic vector of the same length of i
,
whose individual elements are the values associated to the corresponding
keys in the hash table.
the replacement forms ([[<-
and [<-
) always return value
.
`[[`
returns TRUE
or FALSE
if
x
is an hashset
, an arbitrary R object if x
is an
hashmap
and i
is a valid key; when i
is not a key, the
behaviour for hashmap
s depends on the value of
on_missing_key(x)
.
The `[`
operator returns a list of the same length of i
, whose
k-th element is given by x[[ i[[k]] ]]
(the remark on missing keys for
hashmaps applies also here).