Files
narya/src/as/com/threerings/util/SimpleMap.as
T
Ray Greenwell f6826f010c Dictionary is in the docs, but the compiler doesn't seem to know about it
yet. Rolled back (nearly, I fixed a small bug).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3968 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-03-22 03:10:43 +00:00

59 lines
1.2 KiB
ActionScript

package com.threerings.util {
/**
* I will likely extend this out to be a fully-featured map.
*/
public class SimpleMap extends Object
{
public function clear () :void
{
_data = new Object();
_size = 0;
}
public function get (key :Object) :Object
{
var skey :String = key.toString();
return _data[skey];
}
public function keys () :Array
{
var arr :Array = new Array();
for (var skey :String in _data) {
arr.push(skey);
}
return arr;
}
public function put (key :Object, value :Object) :Object
{
var skey :String = key.toString();
var oldValue :* = _data[skey];
_data[skey] = value;
if (oldValue === undefined) {
_size++;
}
return (oldValue as Object);
}
public function remove (key :Object) :Object
{
var skey :String = key.toString();
var value :Object = _data[skey];
delete _data[skey];
_size--;
return value;
}
public function size () :int
{
return _size;
}
protected var _data :Object = new Object();
protected var _size :int = 0;
}
}