Return actual in-situ object

Return TypeFunction nameArguments
OBJ&hzArray::operator[](uint32_t,)

Declared and defined in file: hzTmplArray.h

Function Logic:

0:START 1:unknown 2:mx 3:Return mx->m_Default 4:f 5:unknown 6:pDN n 7:Return pDN->m_Objs[nPosn] 8:pIdx 9:unknown 10:x 11:n x f pIdx 12:pDN 13:Return pDN->m_Objs[x%f]

Function body:

OBJ& hzArray::operator[] (uint32_t nPosn)
   {
       //  Return actual in-situ object
       _hzfunc("hzArray::operator[]") ;
       _hz_ar_indx*    pIdx ;  //  Index node pointer
       _hz_ar_data*    pDN ;   //  Index node pointer
       uint32_t    x ;         //  Position reached so far
       uint32_t    n ;         //  Offest at current level
       uint32_t    f ;         //  Division factor
       if (nPosn >&eq; mx->m_nCount)
       {
           mx->m_Default = mx->m_Null ;
           return mx->m_Default ;
       }
       f = mx->m_nFactor ;
       if (f == 1)
       {
           pDN = (_hz_ar_data*) mx->m_pRoot ;
           n = nPosn ;
           return pDN->m_Objs[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] ;
       return pDN->m_Objs[x%f] ;
   }