empty
{{ size={($T1*)EndX - ($T1*)BeginX} }}
- ($T1*)EndX - ($T1*)BeginX
- ($T1*)CapacityX - ($T1*)BeginX
($T1*)EndX - ($T1*)BeginX
($T1*)BeginX
{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
{(void*)(Value & PointerBitMask)} [{($T3)((Value >> IntShift) & IntMask)}]
- ($T1*)(Value & PointerBitMask)
- ($T3)((Value >> IntShift) & IntMask)
{"$T1", s8b} {(void*)(Val.Value & Val.PointerBitMask)}
{"$T2", s8b} {(void*)(Val.Value & Val.PointerBitMask)}
($T1)(Val.Value & Val.PointerBitMask)
($T2)(Val.Value & Val.PointerBitMask)
{"$T1", s8b} {(void*)((Val.Val.Value >> 2) << 2)}
{"$T2", s8b} {(void*)((Val.Val.Value >> 2) << 2)}
{"$T3", s8b} {(void*)((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} {(void*)((Val.Val.Value >> 2) << 2)}
{"$T2", s8b} {(void*)((Val.Val.Value >> 2) << 2)}
{"$T3", s8b} {(void*)((Val.Val.Value >> 2) << 2)}
{"$T4", s8b} {(void*)((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
empty
OwningPtr {*Ptr}
Ptr
{{ [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={ItemSize}, buckets={NumBuckets} }}
- ItemSize
- NumBuckets
NumBuckets
(MapEntryTy**)TheTable
empty
({this+1,s}, {second})
- this+1,s
- second
{Data}