Listing 2: SLPosition constructors
template <class DATA, class KEY> SLPosition<DATA, KEY>::SLPosition(int nlevel) :data(NULL) { int i; forward = new SLPosition* [nlevel]; for(i =0; i < nlevel; i++) { forward[i] = NULL; } }; template <class DATA, class KEY> SLPosition<DATA,KEY>::SLPosition( int nlevel, DATA *cdata, const KEY &ckey) :data(cdata),key(ckey) { int i; assert( data != NULL ); forward = new SLPosition*[nlevel]; for(i=0; i < nlevel; i++) { forward[i] = NULL; } };