empty
    {{ size={($T1*)EndX - ($T1*)BeginX} }}
    
      - ($T1*)EndX - ($T1*)BeginX
 
      - ($T1*)CapacityX - ($T1*)BeginX
 
      
        ($T1*)EndX - ($T1*)BeginX
        ($T1*)BeginX
      
    
  
  
  
    
    {(($T1*)BeginX)[0]}{*this,view(elt1)}
    
    , {(($T1*)BeginX)[1]}{*this,view(elt2)}
    
    , {(($T1*)BeginX)[2]}{*this,view(elt3)}
    
    , {(($T1*)BeginX)[2]}{*this,view(elt4)}
    
    , /* {(($T1*)EndX - ($T1*)BeginX) - 4} more*/ 
    empty
    {{{*this,view(elt0)}}}
    
      - ($T1*)EndX - ($T1*)BeginX
 
      - ($T1*)CapacityX - ($T1*)BeginX
 
      
        ($T1*)EndX - ($T1*)BeginX
        ($T1*)BeginX
      
    
  
  
    empty
    {{ size={Length} }}
    
      - Length
 
      
        Length
        Data
      
    
  
  
    {BeginX,s}
    BeginX,s
    
      - (char*)EndX - (char*)BeginX
 
      - (char*)CapacityX - (char*)BeginX
 
      
        (char*)EndX - (char*)BeginX
        (char*)BeginX
      
    
  
  
    {Data,[Length]s}
    Data,[Length]s
    
      - Length
 
      
        Length
        Data
      
    
  
  
    {IntMask}: {($T1)(Value & PointerBitMask)} [{($T3)((Value >> IntShift) & IntMask)}]
    
      - ($T1)(Value & PointerBitMask)
 
      - ($T3)((Value >> IntShift) & IntMask)
 
    
  
  
    {"$T1", s8b}: {($T1)(Val.Value & Val.PointerBitMask)}
    {"$T2", s8b}: {($T2)(Val.Value & Val.PointerBitMask)}
    
      ($T1)(Val.Value & Val.PointerBitMask)
      ($T2)(Val.Value & Val.PointerBitMask)
    
  
  
    {"$T1", s8b}: {($T1)((Val.Val.Value >> 2) << 2)}
    {"$T2", s8b}: {($T2)((Val.Val.Value >> 2) << 2)}
    {"$T3", s8b}: {($T3)((Val.Val.Value >> 2) << 2)}
    
      ($T1)((Val.Val.Value >> 2) << 2)
      ($T2)((Val.Val.Value >> 2) << 2)
      ($T3)((Val.Val.Value >> 2) << 2)
    
  
  
    {"$T1", s8b}: {($T1)((Val.Val.Value >> 2) << 2)}
    {"$T2", s8b}: {($T2)((Val.Val.Value >> 2) << 2)}
    {"$T3", s8b}: {($T3)((Val.Val.Value >> 2) << 2)}
    {"$T4", s8b}: {($T4)((Val.Val.Value >> 2) << 2)}
    
      ($T1)((Val.Val.Value >> 2) << 2)
      ($T2)((Val.Val.Value >> 2) << 2)
      ($T3)((Val.Val.Value >> 2) << 2)
      ($T4)((Val.Val.Value >> 2) << 2)
    
  
  
    {{ empty }}
    {{ head={Head} }}
    
      
        Head
        Next
        this
      
    
  
  
    empty
    RefPtr [1 ref] {*Obj}
    RefPtr [{Obj->ref_cnt} refs] {*Obj}
    
      - Obj->ref_cnt
 
      Obj
    
  
  
    {{ [Small Mode] size={NumElements}, capacity={CurArraySize} }}
    {{ [Big Mode] size={NumElements}, capacity={CurArraySize} }}
    
      - NumElements
 
      - CurArraySize
 
      
        CurArraySize
        ($T1*)CurArray
      
    
  
  
    empty
    {{ size={NumEntries}, buckets={NumBuckets} }}
    
      - NumEntries
 
      - NumBuckets
 
      
        NumBuckets
        Buckets
      
    
  
  
    {{ size={NumItems}, buckets={NumBuckets} }}
    
      - NumItems
 
      - NumBuckets
 
      
        NumBuckets
        (MapEntryTy**)TheTable
      
    
  
  
    empty
    ({this+1,s}, {second})
    
      - this+1,s
 
      - second
 
    
  
  
    {Data}
  
  
  
    empty
    {*(($T1 *)(unsigned char *)storage.buffer)}
    
      - *(($T1 *)(unsigned char *)storage.buffer)
 
    
  
  
  
    {{little endian value = {*(($T1*)(unsigned char *)Value.buffer)} }}
    
      - (unsigned char *)Value.buffer,1
 
      - (unsigned char *)Value.buffer,2
 
      - (unsigned char *)Value.buffer,4
 
      - (unsigned char *)Value.buffer,8
 
    
  
  
  
  
    {{ big endian value = {*(unsigned char *)Value.buffer} }}
    {{ big endian value = {(($T1)(*(unsigned char *)Value.buffer) << 8) 
                                                                    | ($T1)(*((unsigned char *)Value.buffer+1))} }}
    {{ big endian value = {(($T1)(*(unsigned char *)Value.buffer) << 24) 
                                                                    | (($T1)(*((unsigned char *)Value.buffer+1)) << 16) 
                                                                    | (($T1)(*((unsigned char *)Value.buffer+2)) << 8) 
                                                                    |  ($T1)(*((unsigned char *)Value.buffer+3))} }}
    {{ big endian value = {(($T1)(*(unsigned char *)Value.buffer) << 56) 
                                                                    | (($T1)(*((unsigned char *)Value.buffer+1)) << 48) 
                                                                    | (($T1)(*((unsigned char *)Value.buffer+2)) << 40) 
                                                                    | (($T1)(*((unsigned char *)Value.buffer+3)) << 32) 
                                                                    | (($T1)(*((unsigned char *)Value.buffer+4)) << 24) 
                                                                    | (($T1)(*((unsigned char *)Value.buffer+5)) << 16) 
                                                                    | (($T1)(*((unsigned char *)Value.buffer+6)) << 8) 
                                                                    |  ($T1)(*((unsigned char *)Value.buffer+7))} }}
    
      - (unsigned char *)Value.buffer,1
 
      - (unsigned char *)Value.buffer,2
 
      - (unsigned char *)Value.buffer,4
 
      - (unsigned char *)Value.buffer,8