// ////////////////////////////////////////////////////////
// Copyright (1994) Columbia University
// Department of Biochemistry and Molecular Biophysics
//
// Author: Weider Chang, Ph.D
// ///////////////////////////////////////////////////////

#ifndef _WDCINDEXEDCOLLECTION_H_
#define _WDCINDEXEDCOLLECTION_H_


#define String CollString
#include <coll/coll.h>
#undef String

#include "objlist.h"

@interface WDCIndexedCollection: IndexedCollection {
  struct objc_list * _list;
}

- insertElement:(elt)element atIndex:(unsigned)index;
- (elt)removeElementAtIndex:(unsigned)index;
- (elt)elementAtIndex:(unsigned)index;

// We need this in subclasses of IndexedCollection to break the Circling 
// calling in current IndexedCollection's implementation.
 
- withElementsCall:(void(*)(elt))aFunc;

@end

#endif
