C# Class clojure.lang.PersistentHashMap.HashCollisionNode

Represents a leaf node corresponding to multiple map entries, all with keys that have the same hash value.
Inheritance: INode
显示文件 Open project: richhickey/clojure-clr

Public Methods

Method Description
Assoc ( AtomicReference edit, int shift, int hash, Object key, Object val, clojure.lang.Box addedLeaf ) : INode
Assoc ( int shift, int hash, object key, object val, clojure.lang.Box addedLeaf ) : INode
Find ( int shift, int hash, object key ) : IMapEntry
Find ( int shift, int hash, Object key, Object notFound ) : Object
GetNodeSeq ( ) : ISeq
HashCollisionNode ( AtomicReference edit, int hash, int count ) : System
Without ( AtomicReference edit, int shift, int hash, Object key, clojure.lang.Box removedLeaf ) : INode
Without ( int shift, int hash, object key ) : INode

Private Methods

Method Description
EditAndSet ( AtomicReference edit, int i, Object a ) : HashCollisionNode
EditAndSet ( AtomicReference edit, int i, Object a, int j, Object b ) : HashCollisionNode
EnsureEditable ( AtomicReference edit ) : HashCollisionNode
EnsureEditable ( AtomicReference edit, int count, Object array ) : HashCollisionNode
FindIndex ( object key ) : int

Method Details

Assoc() public method

public Assoc ( AtomicReference edit, int shift, int hash, Object key, Object val, clojure.lang.Box addedLeaf ) : INode
edit AtomicReference
shift int
hash int
key Object
val Object
addedLeaf clojure.lang.Box
return INode

Assoc() public method

public Assoc ( int shift, int hash, object key, object val, clojure.lang.Box addedLeaf ) : INode
shift int
hash int
key object
val object
addedLeaf clojure.lang.Box
return INode

Find() public method

public Find ( int shift, int hash, object key ) : IMapEntry
shift int
hash int
key object
return IMapEntry

Find() public method

public Find ( int shift, int hash, Object key, Object notFound ) : Object
shift int
hash int
key Object
notFound Object
return Object

GetNodeSeq() public method

public GetNodeSeq ( ) : ISeq
return ISeq

HashCollisionNode() public method

public HashCollisionNode ( AtomicReference edit, int hash, int count ) : System
edit AtomicReference
hash int
count int
return System

Without() public method

public Without ( AtomicReference edit, int shift, int hash, Object key, clojure.lang.Box removedLeaf ) : INode
edit AtomicReference
shift int
hash int
key Object
removedLeaf clojure.lang.Box
return INode

Without() public method

public Without ( int shift, int hash, object key ) : INode
shift int
hash int
key object
return INode