import java.util.*;
import java.io.*;

public class CfunctionList {
	private int index;
	private Vector vec;
	CfunctionList() {
		vec = new Vector();
	}
	public void add(Cfunction newCfn) {
		for(int i=0; i<vec.size(); i++) {
			Cfunction cfn = (Cfunction)vec.elementAt(i);
			int cond = newCfn.compare(cfn);
			if(cond < 0) {
				vec.insertElementAt(newCfn,i);
				return;
			}
			if(cond == 0) {
				return;
			}
		}
		vec.addElement(newCfn);
	}
	public void dump(PrintWriter out) {
		Cfunction cfn = getFirst();
		while(cfn != null) {
			cfn.dump(out);
			cfn = getNext();
		}
	}
	public Cfunction getFirst() {
		index = -1;
		return(getNext());
	}
	public Cfunction getNext() {
		if(++index < vec.size())
			return((Cfunction)vec.elementAt(index));
		return(null);
	}
}
