# class EnumValueMap<K, V>

#### package haxe.ds

#### extends BalancedTree

#### implements IMap<K, V>

Available on all platforms

EnumValueMap allows mapping of enum value keys to arbitrary values.

Keys are compared by value and recursively over their parameters. If any parameter is not an enum value, `Reflect.compare` is used to compare them.

### Constructor

###

`new ()`

### Inherited Variables

### Inherited Methods

#### Defined by BalancedTree

###

`exists (key:K):Bool`

Tells if `key` is bound to a value.

This method returns true even if `key` is bound to null.

If `key` is null, the result is unspecified.

###

`get (key:K):Null<V>`

Returns the value `key` is bound to.

If `key` is not bound to any value, `null` is returned.

If `key` is null, the result is unspecified.

###

`iterator ():Iterator<V>`

Iterates over the bound values of `this` BalancedTree.

This operation is performed in-order.

###

`keys ():Iterator<K>`

Iterates over the keys of `this` BalancedTree.

This operation is performed in-order.

###

`remove (key:K):Bool`

Removes the current binding of `key`.

If `key` has no binding, `this` BalancedTree is unchanged and false is returned.

Otherwise the binding of `key` is removed and true is returned.

If `key` is null, the result is unspecified.

###

`set (key:K, value:V):Void`

Binds `key` to `value`.

If `key` is already bound to a value, that binding disappears.

If `key` is null, the result is unspecified.