empty
    {{ size={Size} }}
    
      - Size
 
      - Capacity
 
      
        Size
        ($T1*)BeginX
      
    
  
  
  
    
    {(($T1*)BeginX)[0]}{*this,view(elt1)}
    
    , {(($T1*)BeginX)[1]}{*this,view(elt2)}
    
    , {(($T1*)BeginX)[2]}{*this,view(elt3)}
    
    , {(($T1*)BeginX)[3]}{*this,view(elt4)}
    
    , /* {Size - 4} more*/ 
    empty
    {{{*this,view(elt0)}}}
    Uninitialized
    
      - Size
 
      - Capacity
 
      
        Size
        ($T1*)BeginX
      
    
  
  
    empty
    {{ size={Length} }}
    
      - Length
 
      
        Length
        Data
      
    
  
  
    {(const char*)BeginX,[Size] na}
    (const char*)BeginX,[Size]
    
      - Size
 
      - Capacity
 
      
        Size
        (char*)BeginX
      
    
  
  
    {First,[Last - First]s}
  
  
  
    {Data,[Length]s}
    Data,[Length]s
    
      - Length
 
      
        Length
        Data
      
    
  
  
    {$T5::IntMask}: {($T1)(Value & $T5::PointerBitMask)} [{($T3)((Value >> $T5::IntShift) & $T5::IntMask)}]
    
      - ($T1)(Value & $T5::PointerBitMask)
 
      - ($T3)((Value >> $T5::IntShift) & $T5::IntMask)
 
    
  
  
  
    {*($T1)(Val.Value & ValTy::InfoTy::PointerBitMask)}
    {*($T2)(Val.Value & ValTy::InfoTy::PointerBitMask)}
    {"$T1", s8b}: {($T1)(Val.Value & ValTy::InfoTy::PointerBitMask)}
    {"$T2", s8b}: {($T2)(Val.Value & ValTy::InfoTy::PointerBitMask)}
    
      - "$T1", s8b
 
      - ($T1)(Val.Value & ValTy::InfoTy::PointerBitMask)
 
      - "$T2", s8b
 
      - ($T2)(Val.Value & ValTy::InfoTy::PointerBitMask)
 
    
  
  
    {Val,view(deref)}
    {*(InnerUnion*)&Val.Val.Value,view(deref)}
    {Val}
    {*(InnerUnion*)&Val.Val.Value}
    
      - "$T3", s8b
 
      - ($T3)(Val.Val.Value & ValTy::ValTy::InfoTy::PointerBitMask)
 
      *(InnerUnion*)&Val.Val.Value
    
  
  
    
      {*($T1)(Val.Val.Value & InnerUnion1::ValTy::InfoTy::PointerBitMask)}
    
    
      {*($T2)(Val.Val.Value & InnerUnion1::ValTy::InfoTy::PointerBitMask)}
    
    
      {*($T3)(Val.Val.Value & InnerUnion2::ValTy::InfoTy::PointerBitMask)}
    
    
      {*($T4)(Val.Val.Value & InnerUnion2::ValTy::InfoTy::PointerBitMask)}
    
    
      {"$T1", s8b}: {($T1)(Val.Val.Value & InnerUnion1::ValTy::InfoTy::PointerBitMask)}
    
    
      {"$T2", s8b}: {($T2)(Val.Val.Value & InnerUnion1::ValTy::InfoTy::PointerBitMask)}
    
    
      {"$T3", s8b}: {($T3)(Val.Val.Value & InnerUnion2::ValTy::InfoTy::PointerBitMask)}
    
    
      {"$T4", s8b}: {($T4)(Val.Val.Value & InnerUnion2::ValTy::InfoTy::PointerBitMask)}
    
    
      - 
        "$T1", s8b
      
 
      - 
        ($T1)(Val.Val.Value & InnerUnion1::ValTy::InfoTy::PointerBitMask)
      
 
      - 
        "$T2", s8b
      
 
      - 
        ($T2)(Val.Val.Value & InnerUnion1::ValTy::InfoTy::PointerBitMask)
      
 
      - 
        "$T3", s8b
      
 
      - 
        ($T3)(Val.Val.Value & InnerUnion1::ValTy::InfoTy::PointerBitMask)
      
 
      - 
        "$T4", s8b
      
 
      - 
        ($T4)(Val.Val.Value & InnerUnion1::ValTy::InfoTy::PointerBitMask)
      
 
    
  
  
    {{ empty }}
    {{ head={Head} }}
    
      
        Head
        Next
        this
      
    
  
  
    empty
    RefPtr [1 ref] {*Obj}
    RefPtr [{Obj->RefCount} refs] {*Obj}
    
      - Obj->RefCount
 
      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}
  
  
  
    None
    {*(($T1 *)(unsigned char *)Storage.storage.buffer)}
    
      - *(($T1 *)(unsigned char *)Storage.storage.buffer)
 
    
  
  
    Error
    {*((storage_type *)TStorage.buffer)}
    
      - *((storage_type *)TStorage.buffer)
 
      - *((error_type *)ErrorStorage.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