blob: 9a381d84faa377fa0d7d77468c93db3688bfd424 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
discard """
targets: "cpp"
"""
import tables, lists
type
ListTable[K, V] = object
table: Table[K, DoublyLinkedNode[V]]
proc initListTable*[K, V](initialSize = 64): ListTable[K, V] =
result.table = initTable[K, DoublyLinkedNode[V]]()
proc `[]=`*[K, V](t: var ListTable[K, V], key: K, val: V) =
t.table[key].value = val
type
SomeObj = object
OtherObj = object
proc main() =
var someTable = initListTable[int, SomeObj]()
var otherTable = initListTable[int, OtherObj]()
someTable[1] = SomeObj()
otherTable[42] = OtherObj()
main()
|