({(void*)mPair.mFirst} = {*mPair.mFirst}) ({nullptr}) (void*)mPair.mFirst *mPair.mFirst

({(void*)mpValue} = {*mpValue}) ({nullptr}) (void*)mpValue *mpValue mpRefCount->mRefCount mpRefCount->mWeakRefCount

{((mpRefCount && mpRefCount->mRefCount) ? mpValue : nullptr)} mpRefCount && mpRefCount->mRefCount ? mpValue : nullptr

[{$T2}] {{}} [{$T2}] {{ {*mValue} }} [{$T2}] {{ {*mValue}, {*(mValue+1)} }} [{$T2}] {{ {*mValue}, {*(mValue+1)}, {*(mValue+2)} }} [{$T2}] {{ {*mValue}, {*(mValue+1)}, {*(mValue+2)}, {*(mValue+3)} }} [{$T2}] {{ {*mValue}, {*(mValue+1)}, {*(mValue+2)}, {*(mValue+3)}, {*(mValue+4)} }} [{$T2}] {{ {*mValue}, {*(mValue+1)}, {*(mValue+2)}, {*(mValue+3)}, {*(mValue+4)}, {*(mValue+5)} }} [{$T2}] {{ {*mValue}, {*(mValue+1)}, {*(mValue+2)}, {*(mValue+3)}, {*(mValue+4)}, {*(mValue+5)}, ... }} $T2 $T2 mValue

"{mPair.mFirst.heap.mpBegin,sb}" "{mPair.mFirst.sso.mData,sb}" mPair.mFirst.heap.mnSize (mPair.mFirst.heap.mnCapacity & ~kHeapMask) mPair.mFirst.heap.mpBegin,sb (SSOLayout::SSO_CAPACITY - mPair.mFirst.sso.mRemainingSizeField.mnRemainingSize) SSOLayout::SSO_CAPACITY mPair.mFirst.sso.mData,sb !!(mPair.mFirst.sso.mRemainingSizeField.mnRemainingSize & kSSOMask)

{mPair.mFirst.heap.mpBegin,su} {mPair.mFirst.sso.mData,su} mPair.mFirst.heap.mnSize (mPair.mFirst.heap.mnCapacity & ~kHeapMask) mPair.mFirst.heap.mpBegin,su (SSOLayout::SSO_CAPACITY - mPair.mFirst.sso.mRemainingSizeField.mnRemainingSize) SSOLayout::SSO_CAPACITY mPair.mFirst.sso.mData,su !!(mPair.mFirst.sso.mRemainingSizeField.mnRemainingSize & kSSOMask)

({first}, {second}) first second

[{mnSize}] {{}} [{mnSize}] {{ {*mpData} }} [{mnSize}] {{ {*mpData}, {*(mpData+1)} }} [{mnSize}] {{ {*mpData}, {*(mpData+1)}, {*(mpData+2)} }} [{mnSize}] {{ {*mpData}, {*(mpData+1)}, {*(mpData+2)}, {*(mpData+3)} }} [{mnSize}] {{ {*mpData}, {*(mpData+1)}, {*(mpData+2)}, {*(mpData+3)}, {*(mpData+4)} }} [{mnSize}] {{ {*mpData}, {*(mpData+1)}, {*(mpData+2)}, {*(mpData+3)}, {*(mpData+4)}, {*(mpData+5)} }} [{mnSize}] {{ {*mpData}, {*(mpData+1)}, {*(mpData+2)}, {*(mpData+3)}, {*(mpData+4)}, {*(mpData+5)}, ... }} mnSize mnSize mpData

[{mpEnd - mpBegin}] {{}} [{mpEnd - mpBegin}] {{ {*mpBegin} }} [{mpEnd - mpBegin}] {{ {*mpBegin}, {*(mpBegin+1)} }} [{mpEnd - mpBegin}] {{ {*mpBegin}, {*(mpBegin+1)}, {*(mpBegin+2)} }} [{mpEnd - mpBegin}] {{ {*mpBegin}, {*(mpBegin+1)}, {*(mpBegin+2)}, {*(mpBegin+3)} }} [{mpEnd - mpBegin}] {{ {*mpBegin}, {*(mpBegin+1)}, {*(mpBegin+2)}, {*(mpBegin+3)}, {*(mpBegin+4)} }} [{mpEnd - mpBegin}] {{ {*mpBegin}, {*(mpBegin+1)}, {*(mpBegin+2)}, {*(mpBegin+3)}, {*(mpBegin+4)}, {*(mpBegin+5)} }} [{mpEnd - mpBegin}] {{ {*mpBegin}, {*(mpBegin+1)}, {*(mpBegin+2)}, {*(mpBegin+3)}, {*(mpBegin+4)}, {*(mpBegin+5)}, ... }} mpEnd - mpBegin mCapacityAllocator.mFirst - mpBegin mpEnd - mpBegin mpBegin

[0] {{}} [1] {{ {*mItBegin.mpCurrent} }} [{(mItEnd.mpCurrentArrayPtr - mItBegin.mpCurrentArrayPtr) * $T3 + (mItEnd.mpCurrent-mItEnd.mpBegin) - (mItBegin.mpCurrent-mItBegin.mpBegin)}] {{ {*mItBegin.mpCurrent}, ... }} (mItEnd.mpCurrentArrayPtr - mItBegin.mpCurrentArrayPtr) * $T3 + (mItEnd.mpCurrent-mItEnd.mpBegin) - (mItBegin.mpCurrent-mItBegin.mpBegin) (mItEnd.mpCurrentArrayPtr - mItBegin.mpCurrentArrayPtr) * $T3 + (mItEnd.mpCurrent-mItEnd.mpBegin) - (mItBegin.mpCurrent-mItBegin.mpBegin) mItBegin.mpCurrentArrayPtr[(mItBegin.mpCurrent-mItBegin.mpBegin + $i) / $T3][(mItBegin.mpCurrent-mItBegin.mpBegin + $i) % $T3]

{*mpCurrent} *mpCurrent *(*(mpCurrentArrayPtr-1) + (mpEnd-mpBegin) - 1) *(mpCurrent-1) **(mpCurrentArrayPtr+1) *(mpCurrent+1) mpCurrent == mpBegin mpCurrent+1 == mpEnd

{c} c

[0] {{}} [1] {{ {((eastl::ListNode<$T1>*)mNodeAllocator.mFirst.mpNext)->mValue} }} [2] {{ {((eastl::ListNode<$T1>*)mNodeAllocator.mFirst.mpNext)->mValue}, {((eastl::ListNode<$T1>*)mNodeAllocator.mFirst.mpNext->mpNext)->mValue} }} [?] {{ {((eastl::ListNode<$T1>*)mNodeAllocator.mFirst.mpNext)->mValue}, {((eastl::ListNode<$T1>*)mNodeAllocator.mFirst.mpNext->mpNext)->mValue}, ... }} Content of lists will repeat indefinitely. Keep that in mind! mNodeAllocator.mFirst.mpNext mpNext ((eastl::ListNode<$T1>*)this)->mValue

{mValue} mValue *(eastl::ListNode<$T1>*)mpNext *(eastl::ListNode<$T1>*)mpPrev Content of lists will repeat indefinitely. Keep that in mind! The rest of the list follows: (eastl::ListNode<$T1>*)mpNext->mpNext (eastl::ListNode<$T1>*)mpNext mValue

{*mpNode} mpNode

[0] {{}} [1] {{ {((eastl::SListNode<$T1>*)mNode.mpNext)->mValue} }} [2] {{ {((eastl::SListNode<$T1>*)mNode.mpNext)->mValue}, {((eastl::SListNode<$T1>*)mNode.mpNext->mpNext)->mValue} }} [?] {{ {((eastl::SListNode<$T1>*)mNode.mpNext)->mValue}, {((eastl::SListNode<$T1>*)mNode.mpNext->mpNext)->mValue}, ... }} mNode.mpNext mpNext ((eastl::SListNode<$T1>*)this)->mValue

{mValue} mValue *(eastl::SListNode<$T1>*)mpNext The rest of the list follows: mpNext == nullptr ? nullptr : (eastl::SListNode<$T1>*)mpNext->mpNext (eastl::SListNode<$T1>*)mpNext mValue

{*mpNode} *mpNode

[0] {{}} [1] {{ {mAnchor.mpNext} }} [?] {{ {mAnchor.mpNext}, ... }} Content of intrusive lists will repeat indefinitely. Keep that in mind! mAnchor.mpNext mpNext *this

{*mpNode} *mpNode

[0] {{}} [1] {{ {((eastl::rbtree_node<$T1>*)mAnchor.mpNodeLeft)->mValue} }} [{mnSize}] {{ {((eastl::rbtree_node<$T1>*)mAnchor.mpNodeLeft)->mValue}, ... }} mnSize mnSize mAnchor.mpNodeParent mpNodeLeft mpNodeRight ((eastl::rbtree_node<$T1>*)this)->mValue

[0] {{}} [1] {{ {((eastl::rbtree_node<$T2>*)mAnchor.mpNodeLeft)->mValue} }} [{mnSize}] {{ {((eastl::rbtree_node<$T2>*)mAnchor.mpNodeLeft)->mValue}, ... }} mnSize mnSize mAnchor.mpNodeParent mpNodeLeft mpNodeRight ((eastl::rbtree_node<$T2>*)this)->mValue

{mValue} mValue It is possible to expand parents that do not exist. *(eastl::rbtree_node<$T1>*)mpNodeParent *(eastl::rbtree_node<$T1>*)mpNodeLeft *(eastl::rbtree_node<$T1>*)mpNodeRight

{*mpNode} mpNode

[{mnElementCount}] {{}} [{mnElementCount}] {{ ... }} mnBucketCount mpBucketArray entry->mValue entry = entry->mpNext bucketIndex++ entry = mpBucketArray[bucketIndex]

{mValue}, {*mpNext} {mValue} this mpNext mValue

{mpNode->mValue} mpNode->mValue

{*(mIterator-1)} mIterator-1

{{count = {kSize}}} kSize kSize bBitValue = ((mWord[iWord] >> iBitInWord) % 2) != 0 ? true : false bBitValue iBitInWord++ iWord++ iBitInWord = 0

{c} c

{mpBegin,[mnCount]} mpBegin,[mnCount]

({mFirst}, {mSecond}) ({mSecond}) ({mFirst}) (empty) (empty) ({mFirst}, {mSecond})

nullopt {value()} value()

{$T1} to {$T2}}

{mRep} nanoseconds

{mRep} microseconds

{mRep} milliseconds

{mRep} seconds

{mRep} minutes

{mRep} hours

{mRep} duration with ratio = [{$T2} : {$T3}]

empty {mInvokeFuncPtr}

{*val}

empty {m_storage.external_storage}

{mFlag.mAtomic}

[valueless_by_exception] {{ index=0, value={($T1*)mStorage.mBuffer.mCharData}} {{ index=1, value={($T2*)mStorage.mBuffer.mCharData}} {{ index=2, value={($T3*)mStorage.mBuffer.mCharData}} {{ index=3, value={($T4*)mStorage.mBuffer.mCharData}} {{ index=4, value={($T5*)mStorage.mBuffer.mCharData}} {{ index=5, value={($T6*)mStorage.mBuffer.mCharData}} {{ index=6, value={($T7*)mStorage.mBuffer.mCharData}} {{ index=7, value={($T8*)mStorage.mBuffer.mCharData}} {{ index=8, value={($T9*)mStorage.mBuffer.mCharData}} {{ index=9, value={($T10*)mStorage.mBuffer.mCharData}} {{ index=10, value={($T11*)mStorage.mBuffer.mCharData}} {{ index=11, value={($T12*)mStorage.mBuffer.mCharData}} {{ index=12, value={($T13*)mStorage.mBuffer.mCharData}} {{ index=13, value={($T14*)mStorage.mBuffer.mCharData}} {{ index=14, value={($T15*)mStorage.mBuffer.mCharData}} {{ index=15, value={($T16*)mStorage.mBuffer.mCharData}} {{ index=16, value={($T17*)mStorage.mBuffer.mCharData}} {{ index=17, value={($T18*)mStorage.mBuffer.mCharData}} {{ index=18, value={($T19*)mStorage.mBuffer.mCharData}} {{ index=19, value={($T20*)mStorage.mBuffer.mCharData}} {{ index=20, value={($T21*)mStorage.mBuffer.mCharData}} {{ index=21, value={($T22*)mStorage.mBuffer.mCharData}} {{ index=22, value={($T23*)mStorage.mBuffer.mCharData}} {{ index=23, value={($T24*)mStorage.mBuffer.mCharData}} {{ index=24, value={($T25*)mStorage.mBuffer.mCharData}} {{ index=25, value={($T26*)mStorage.mBuffer.mCharData}} {{ index=26, value={($T27*)mStorage.mBuffer.mCharData}} {{ index=27, value={($T28*)mStorage.mBuffer.mCharData}} {{ index=28, value={($T29*)mStorage.mBuffer.mCharData}} {{ index=29, value={($T30*)mStorage.mBuffer.mCharData}} {{ index=30, value={($T31*)mStorage.mBuffer.mCharData}} index() ($T1*)mStorage.mBuffer.mCharData ($T2*)mStorage.mBuffer.mCharData ($T3*)mStorage.mBuffer.mCharData ($T4*)mStorage.mBuffer.mCharData ($T5*)mStorage.mBuffer.mCharData ($T6*)mStorage.mBuffer.mCharData ($T7*)mStorage.mBuffer.mCharData ($T8*)mStorage.mBuffer.mCharData ($T9*)mStorage.mBuffer.mCharData ($T10*)mStorage.mBuffer.mCharData ($T11*)mStorage.mBuffer.mCharData ($T12*)mStorage.mBuffer.mCharData ($T13*)mStorage.mBuffer.mCharData ($T14*)mStorage.mBuffer.mCharData ($T15*)mStorage.mBuffer.mCharData ($T16*)mStorage.mBuffer.mCharData ($T17*)mStorage.mBuffer.mCharData ($T18*)mStorage.mBuffer.mCharData ($T19*)mStorage.mBuffer.mCharData ($T20*)mStorage.mBuffer.mCharData ($T21*)mStorage.mBuffer.mCharData ($T22*)mStorage.mBuffer.mCharData ($T23*)mStorage.mBuffer.mCharData ($T24*)mStorage.mBuffer.mCharData ($T25*)mStorage.mBuffer.mCharData ($T26*)mStorage.mBuffer.mCharData ($T27*)mStorage.mBuffer.mCharData ($T28*)mStorage.mBuffer.mCharData ($T29*)mStorage.mBuffer.mCharData ($T30*)mStorage.mBuffer.mCharData ($T31*)mStorage.mBuffer.mCharData

({*this,view(noparens)})

{(*((eastl::Internal::TupleLeaf<0,$T1,0>*)&mImpl)).mValue} ({*this,view(noparens)}) (*((eastl::Internal::TupleLeaf<0,$T1,0>*)&mImpl)).mValue

{(*((eastl::Internal::TupleLeaf<0,$T1,0>*)&mImpl)).mValue}, {(*((eastl::Internal::TupleLeaf<1,$T2,0>*)&mImpl)).mValue} ({*this,view(noparens)}) (*((eastl::Internal::TupleLeaf<0,$T1,0>*)&mImpl)).mValue (*((eastl::Internal::TupleLeaf<1,$T2,0>*)&mImpl)).mValue

{(*((eastl::Internal::TupleLeaf<0,$T1,0>*)&mImpl)).mValue}, {(*((eastl::Internal::TupleLeaf<1,$T2,0>*)&mImpl)).mValue}, {(*((eastl::Internal::TupleLeaf<2,$T3,0>*)&mImpl)).mValue} ({*this,view(noparens)}) (*((eastl::Internal::TupleLeaf<0,$T1,0>*)&mImpl)).mValue (*((eastl::Internal::TupleLeaf<1,$T2,0>*)&mImpl)).mValue (*((eastl::Internal::TupleLeaf<2,$T3,0>*)&mImpl)).mValue

{(*((eastl::Internal::TupleLeaf<0,$T1,0>*)&mImpl)).mValue}, {(*((eastl::Internal::TupleLeaf<1,$T2,0>*)&mImpl)).mValue}, {(*((eastl::Internal::TupleLeaf<2,$T3,0>*)&mImpl)).mValue}, {(*((eastl::Internal::TupleLeaf<3,$T4,0>*)&mImpl)).mValue} ({*this,view(noparens)}) (*((eastl::Internal::TupleLeaf<0,$T1,0>*)&mImpl)).mValue (*((eastl::Internal::TupleLeaf<1,$T2,0>*)&mImpl)).mValue (*((eastl::Internal::TupleLeaf<2,$T3,0>*)&mImpl)).mValue (*((eastl::Internal::TupleLeaf<3,$T4,0>*)&mImpl)).mValue

{(*((eastl::Internal::TupleLeaf<0,$T1,0>*)&mImpl)).mValue}, {(*((eastl::Internal::TupleLeaf<1,$T2,0>*)&mImpl)).mValue}, {(*((eastl::Internal::TupleLeaf<2,$T3,0>*)&mImpl)).mValue}, {(*((eastl::Internal::TupleLeaf<3,$T4,0>*)&mImpl)).mValue}, {(*((eastl::Internal::TupleLeaf<4,$T5,0>*)&mImpl)).mValue} ({*this,view(noparens)}) (*((eastl::Internal::TupleLeaf<0,$T1,0>*)&mImpl)).mValue (*((eastl::Internal::TupleLeaf<1,$T2,0>*)&mImpl)).mValue (*((eastl::Internal::TupleLeaf<2,$T3,0>*)&mImpl)).mValue (*((eastl::Internal::TupleLeaf<3,$T4,0>*)&mImpl)).mValue (*((eastl::Internal::TupleLeaf<4,$T5,0>*)&mImpl)).mValue

{(*((eastl::Internal::TupleLeaf<0,$T1,0>*)&mImpl)).mValue}, {(*((eastl::Internal::TupleLeaf<1,$T2,0>*)&mImpl)).mValue}, {(*((eastl::Internal::TupleLeaf<2,$T3,0>*)&mImpl)).mValue}, {(*((eastl::Internal::TupleLeaf<3,$T4,0>*)&mImpl)).mValue}, {(*((eastl::Internal::TupleLeaf<4,$T5,0>*)&mImpl)).mValue}, {(*((eastl::Internal::TupleLeaf<5,$T6,0>*)&mImpl)).mValue} ({*this,view(noparens)}) (*((eastl::Internal::TupleLeaf<0,$T1,0>*)&mImpl)).mValue (*((eastl::Internal::TupleLeaf<1,$T2,0>*)&mImpl)).mValue (*((eastl::Internal::TupleLeaf<2,$T3,0>*)&mImpl)).mValue (*((eastl::Internal::TupleLeaf<3,$T4,0>*)&mImpl)).mValue (*((eastl::Internal::TupleLeaf<4,$T5,0>*)&mImpl)).mValue (*((eastl::Internal::TupleLeaf<5,$T6,0>*)&mImpl)).mValue

{(*((eastl::Internal::TupleLeaf<0,$T1,0>*)&mImpl)).mValue}, {(*((eastl::Internal::TupleLeaf<1,$T2,0>*)&mImpl)).mValue}, {(*((eastl::Internal::TupleLeaf<2,$T3,0>*)&mImpl)).mValue}, {(*((eastl::Internal::TupleLeaf<3,$T4,0>*)&mImpl)).mValue}, {(*((eastl::Internal::TupleLeaf<4,$T5,0>*)&mImpl)).mValue}, {(*((eastl::Internal::TupleLeaf<5,$T6,0>*)&mImpl)).mValue}, {(*((eastl::Internal::TupleLeaf<6,$T7,0>*)&mImpl)).mValue} ({*this,view(noparens)}) (*((eastl::Internal::TupleLeaf<0,$T1,0>*)&mImpl)).mValue (*((eastl::Internal::TupleLeaf<1,$T2,0>*)&mImpl)).mValue (*((eastl::Internal::TupleLeaf<2,$T3,0>*)&mImpl)).mValue (*((eastl::Internal::TupleLeaf<3,$T4,0>*)&mImpl)).mValue (*((eastl::Internal::TupleLeaf<4,$T5,0>*)&mImpl)).mValue (*((eastl::Internal::TupleLeaf<5,$T6,0>*)&mImpl)).mValue (*((eastl::Internal::TupleLeaf<6,$T7,0>*)&mImpl)).mValue