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