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;
    }
};