_HashTable
があって、 OrderedSet
は _HashTable
と ContiguousArray
をもっていて、 要素はArrayにいれといて、 _HashTable
は値から配列のインデックスを逆引きできるように同期しているっぽい。OrderedDictionary
は OrderedSet<Key>
と ContiguousArray<Value>
をもっていて、 2つのインデックスは揃えてあるっぽい。ManagedBuffer
を使ってますね。 ただDequeのほうはStorageをstructにしてあって Storageが ManagedBufferPointer
を使って ManagedBuffer
を所有していて更にややこしい