Return TypeFunction nameArguments
OBJ*hzArray::InSitu(unsigned int,)

Declared and defined in file: hzTmplArray.h

Function Logic:

0:START 1:nPosn>=mx->m_nCount 2:Return 0 3:f 4:f==1 5:pDN pObj 6:Return pObj+nPosn 7:pIdx nPosn x 8:f>=(HZ_ARRAY_NODESIZE*HZ_ARRAY_NODESIZE); 9:n x f pIdx 10:pDN pObj 11:Return pObj+(x%f)

Function body:

OBJ* hzArray::InSitu (unsigned int nPosn)
   {
       _hzfunc("hzArray::InSitu") ;
       _hz_ar_indx*    pIdx ;
       _hz_ar_data*    pDN ;
       OBJ*            pObj ;
       uint32_t    x ;
       uint32_t    n ;
       uint32_t    f ;
       if (nPosn >&eq; mx->m_nCount)
           return 0;
       f = mx->m_nFactor ;
       if (f == 1)
       {
           pDN = (_hz_ar_data*) mx->m_pRoot ;
           pObj = (OBJ*) pDN->m_Objs ;
           return pObj + nPosn ;
       }
       pIdx = (_hz_ar_indx*) mx->m_pRoot ;
       for (x = nPosn, f = mx->m_nFactor ; f >&eq; (HZ_ARRAY_NODESIZE * HZ_ARRAY_NODESIZE) ;)
       {
           n = x/f ; x %= f ; f /= HZ_ARRAY_NODESIZE ;
           pIdx = (_hz_ar_indx*) pIdx->m_Ptrs[n] ;
       }
       pDN = (_hz_ar_data*) pIdx->m_Ptrs[x/f] ;
       pObj = (OBJ*) pDN->m_Objs ;
       return pObj + (x%f) ;
   }