choco.mem
Class PartiallyStoredVector

java.lang.Object
  extended by choco.mem.PartiallyStoredVector

public class PartiallyStoredVector
extends java.lang.Object

A class implementing a vector with two kind of storage: standard static storage in an array, and backtrackable storage. By convention, objects with small indices (0 .. 999999) are statically managed as if they were in a standard array. And objects with large indices (1000000 ... ) are "stored" in a backtrackable manner, as if they were in a StoredIntVector


Field Summary
static int INITIAL_STATIC_CAPACITY
           
static int INITIAL_STORED_CAPACITY
           
protected  int nStaticObjects
           
protected  IStateInt nStoredObjects
           
protected  java.lang.Object[] staticObjects
           
static int STORED_OFFSET
           
protected  java.lang.Object[] storedObjects
           
 
Constructor Summary
PartiallyStoredVector(Environment env)
           
 
Method Summary
 int add(java.lang.Object o)
           
 void ensureStaticCapacity(int n)
           
 void ensureStoredCapacity(int n)
           
 java.lang.Object get(int index)
           
static int getFirstStaticIndex()
           
static int getGlobalIndex(int idx, boolean isStatic)
           
 IntIterator getIndexIterator()
           
 int getLastStaticIndex()
           
static int getSmallIndex(int idx)
           
 boolean isEmpty()
           
static boolean isStaticIndex(int idx)
           
 void remove(java.lang.Object o)
           
 int size()
           
 int staticAdd(java.lang.Object o)
           
protected  void staticRemove(int idx)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

INITIAL_STATIC_CAPACITY

public static final int INITIAL_STATIC_CAPACITY
See Also:
Constant Field Values

INITIAL_STORED_CAPACITY

public static final int INITIAL_STORED_CAPACITY
See Also:
Constant Field Values

STORED_OFFSET

public static final int STORED_OFFSET
See Also:
Constant Field Values

staticObjects

protected java.lang.Object[] staticObjects

storedObjects

protected java.lang.Object[] storedObjects

nStaticObjects

protected int nStaticObjects

nStoredObjects

protected IStateInt nStoredObjects
Constructor Detail

PartiallyStoredVector

public PartiallyStoredVector(Environment env)
Method Detail

staticAdd

public int staticAdd(java.lang.Object o)

staticRemove

protected void staticRemove(int idx)

remove

public void remove(java.lang.Object o)

ensureStaticCapacity

public void ensureStaticCapacity(int n)

add

public int add(java.lang.Object o)

ensureStoredCapacity

public void ensureStoredCapacity(int n)

get

public java.lang.Object get(int index)

isEmpty

public boolean isEmpty()

size

public int size()

getIndexIterator

public IntIterator getIndexIterator()

isStaticIndex

public static boolean isStaticIndex(int idx)

getSmallIndex

public static int getSmallIndex(int idx)

getGlobalIndex

public static int getGlobalIndex(int idx,
                                 boolean isStatic)

getLastStaticIndex

public int getLastStaticIndex()

getFirstStaticIndex

public static int getFirstStaticIndex()