| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896 |
- ; AutoExp.Dat - templates for automatically expanding data
- ; Copyright(c) Microsoft Corporation. All Rights Reserved.
- ;---------------------------------------------------------------
- ;
- ; While debugging, Data Tips and items in the Watch and Variable
- ; windows are automatically expanded to show their most important
- ; elements. The expansion follows the format given by the rules
- ; in this file. You can add rules for your types or change the
- ; predefined rules.
- ;
- ; For good examples, read the rules in this file.
- ;
- ; To find what the debugger considers the type of a variable to
- ; be, add it to the Watch window and look at the Type column.
- ;
- ; An AutoExpand rule is a line with the name of a type, an equals
- ; sign, and text with replaceable parts in angle brackets. The
- ; part in angle brackets names a member of the type and an
- ; optional Watch format specifier.
- ;
- ; AutoExpand rules use the following syntax. The equals sign (=),
- ; angle brackets (<>), and comma are taken literally. Square
- ; brackets ([]) indicate optional items.
- ;
- ; type=[text]<member[,format]>...
- ;
- ; type Name of the type (may be followed by <*> for template
- ; types such as the ATL types listed below).
- ;
- ; text Any text.Usually the name of the member to display,
- ; or a shorthand name for the member.
- ;
- ; member Name of a member to display.
- ;
- ; format Watch format specifier. One of the following:
- ;
- ; Letter Description Sample Display
- ; ------ -------------------------- ------------ -------------
- ; d,i Signed decimal integer 0xF000F065,d -268373915
- ; u Unsigned decimal integer 0x0065,u 101
- ; o Unsigned octal integer 0xF065,o 0170145
- ; x,X Hexadecimal integer 61541,X 0X0000F065
- ; l,h long or short prefix for 00406042,hx 0x0c22
- ; d, i, u, o, x, X
- ; f Signed floating-point 3./2.,f 1.500000
- ; e Signed scientific-notation 3./2.,e 1.500000e+000
- ; g Shorter of e and f 3./2.,g 1.5
- ; c Single character 0x0065,c 'e'
- ; s Zero-terminated string pVar,s "Hello world"
- ; su Unicode string pVar,su "Hello world"
- ;
- ; For details of other format specifiers see Help under:
- ; "format specifiers/watch variable"
- ;
- ; The special format <,t> specifies the name of the most-derived
- ; type of the object. This is especially useful with pointers or
- ; references to a base class.
- ;
- ; If there is no rule for a class, the base classes are checked for
- ; a matching rule.
- ;
- ; There are some special entries allowed in the AutoExpand section:
- ; $BUILTIN is used to display more complex types that need to do more
- ; than just show a member variable or two.
- ; $ADDIN allows external DLLs to be added to display even more complex
- ; types via the EE Add-in API. The first argument is the DLL name, the
- ; second argument is the name of the export from the DLL to use. For
- ; further information on this API see the sample called EEAddIn.
- ;
- ; WARNING: if hexadecimal mode is on in the watch window, all numbers here are
- ; evaluated in hex, e.g. 42 becomes 0x42
- [AutoExpand]
- ; from windef.h
- tagPOINT =x=<x> y=<y>
- tagRECT =top=<top> bottom=<bottom> left=<left> right=<right>
- ; from winuser.h
- tagMSG =msg=<message,x> wp=<wParam,x> lp=<lParam,x>
- ; intrinsics
- __m64 =<m64_i64,x>
- __m128=$BUILTIN(M128)
- __m128i=$BUILTIN(M128I)
- __m128d=$BUILTIN(M128D)
- ; from afxwin.h
- CDC =hDC=<m_hDC> attrib=<m_hAttribDC>
- CPaintDC =<,t> hWnd=<m_hWnd>
- CPoint =x=<x> y=<y>
- CRect =top=<top> bottom=<bottom> left=<left> right=<right>
- CSize =cx=<cx> cy=<cy>
- CWnd =<,t> hWnd=<m_hWnd>
- CWinApp =<,t> <m_pszAppName,s>
- CWinThread =<,t> h=<m_hThread> proc=<m_pfnThreadProc>
- ; from afxcoll.h
- CPtrList =cnt=<m_nCount>
- ; from afxstat_.h
- CProcessLocalObject =<,t>
- CThreadLocalObject =<,t>
- ; from afx.h
- CArchiveException =cause=<m_cause>
- CFile =hFile=<m_hFile> name=<m_strFileName.m_pchData,s>
- CFileException =cause=<m_cause> OS Error=m_lOsError
- CMemFile =pos=<m_nPosition> size=<m_nFileSize>
- CObject =<,t>
- CRuntimeClass =<m_lpszClassName,s>
- CStdioFile =FILE*=<m_pStream> name=<m_strFilename.m_pchData,s>
- CTimeSpan =time=<m_time>
- CTime =time=<m_time>
- ; from afxcoll.h
- CByteArray =count=<m_nCount>
- CStringList =count=<m_nCount>
- ; same for all CXXXArray classes
- ; same for CXXXList
- ; same for CMapXXToXX
- ; various string classes from MFC & ATL
- _com_error=<m_hresult,hr>
- _bstr_t=<m_Data->m_wstr,su> (<m_Data->m_RefCount,u>)
- _com_ptr_t<*>=<m_pInterface>
- _LARGE_INTEGER=<QuadPart>
- _ULARGE_INTEGER=<QuadPart>
- ATL::CComPtr<*>=<p>
- ATL::CComQIPtr<*>=<p>
- tagVARIANT=$BUILTIN(VARIANT)
- VARIANT=$BUILTIN(VARIANT)
- _GUID=$BUILTIN(GUID)
- ; see EEAddIn sample for how to use these
- ;_SYSTEMTIME=$ADDIN(EEAddIn.dll,AddIn_SystemTime)
- ;_FILETIME=$ADDIN(EEAddIn.dll,AddIn_FileTime)
- [Visualizer]
- ; This section contains visualizers for STL and ATL containers
- ; DO NOT MODIFY
- ATL::CStringT<char,*>|CSimpleStringT<char,*>|ATL::CSimpleStringT<char,*>{
- preview ([$e.m_pszData,s])
- stringview ([$e.m_pszData,sb])
- }
- ATL::CStringT<wchar_t,*>|CSimpleStringT<wchar_t,*>|ATL::CSimpleStringT<wchar_t,*>|ATL::CStringT<unsigned short,*>|CSimpleStringT<unsigned short,*>|ATL::CSimpleStringT<unsigned short,*>{
- preview ([$e.m_pszData,su])
- stringview ([$e.m_pszData,sub])
- }
- ATL::CComBSTR{
- preview ([$e.m_str,su])
- stringview ([$e.m_str,sub])
- }
- ; Many visualizers use nested #()s.
- ; Why not use #(foo, bar) instead of #(#(foo), #(bar))?
- ; The former alphabetically sorts its fields, while the latter does not.
- ;------------------------------------------------------------------------------
- ; std::pair from <utility>
- ;------------------------------------------------------------------------------
- std::pair<*>{
- ; pair is previewed with "(<first>, <second>)".
- preview (
- #(
- "(",
- $e.first,
- ", ",
- $e.second,
- ")"
- )
- )
- ; We gloss over the fact that first and second are actually stored in _Pair_base.
- children (
- #(
- #(first : $e.first),
- #(second : $e.second)
- )
- )
- }
- ;------------------------------------------------------------------------------
- ; std::plus, etc. from <functional>
- ;------------------------------------------------------------------------------
- ; STL functors are previewed with their names.
- ; They have no state, so they have no children.
- std::plus<*>{
- preview ( "plus" )
- children ( #array(expr: 0, size: 0) )
- }
- std::minus<*>{
- preview ( "minus" )
- children ( #array(expr: 0, size: 0) )
- }
- std::multiplies<*>{
- preview ( "multiplies" )
- children ( #array(expr: 0, size: 0) )
- }
- std::divides<*>{
- preview ( "divides" )
- children ( #array(expr: 0, size: 0) )
- }
- std::modulus<*>{
- preview ( "modulus" )
- children ( #array(expr: 0, size: 0) )
- }
- std::negate<*>{
- preview ( "negate" )
- children ( #array(expr: 0, size: 0) )
- }
- std::equal_to<*>{
- preview ( "equal_to" )
- children ( #array(expr: 0, size: 0) )
- }
- std::not_equal_to<*>{
- preview ( "not_equal_to" )
- children ( #array(expr: 0, size: 0) )
- }
- std::greater<*>{
- preview ( "greater" )
- children ( #array(expr: 0, size: 0) )
- }
- std::less<*>{
- preview ( "less" )
- children ( #array(expr: 0, size: 0) )
- }
- std::greater_equal<*>{
- preview ( "greater_equal" )
- children ( #array(expr: 0, size: 0) )
- }
- std::less_equal<*>{
- preview ( "less_equal" )
- children ( #array(expr: 0, size: 0) )
- }
- std::logical_and<*>{
- preview ( "logical_and" )
- children ( #array(expr: 0, size: 0) )
- }
- std::logical_or<*>{
- preview ( "logical_or" )
- children ( #array(expr: 0, size: 0) )
- }
- std::logical_not<*>{
- preview ( "logical_not" )
- children ( #array(expr: 0, size: 0) )
- }
- ;------------------------------------------------------------------------------
- ; std::not1() from <functional>
- ; std::not2() from <functional>
- ;------------------------------------------------------------------------------
- ; STL negators are previewed with "not[12](<stored functor>)".
- ; They have a child with the fake name of [pred], so that the
- ; stored functor can be inspected.
- std::unary_negate<*>{
- preview (
- #(
- "not1(",
- $e._Functor,
- ")"
- )
- )
- children (
- #([pred] : $e._Functor)
- )
- }
- std::binary_negate<*>{
- preview (
- #(
- "not2(",
- $e._Functor,
- ")"
- )
- )
- children (
- #([pred] : $e._Functor)
- )
- }
- ;------------------------------------------------------------------------------
- ; std::bind1st() from <functional>
- ; std::bind2nd() from <functional>
- ;------------------------------------------------------------------------------
- ; STL binders are previewed with "bind1st(<op>, <value>)" or "bind2nd(<op>, <value>)".
- ; We gloss over the fact that they derive from unary_function.
- std::binder1st<*>{
- preview (
- #(
- "bind1st(",
- $e.op,
- ", ",
- $e.value,
- ")"
- )
- )
- children (
- #(
- #(op : $e.op),
- #(value : $e.value)
- )
- )
- }
- std::binder2nd<*>{
- preview (
- #(
- "bind2nd(",
- $e.op,
- ", ",
- $e.value,
- ")"
- )
- )
- children (
- #(
- #(op : $e.op),
- #(value : $e.value)
- )
- )
- }
- ;------------------------------------------------------------------------------
- ; std::ptr_fun() from <functional>
- ;------------------------------------------------------------------------------
- ; STL function pointer adaptors are previewed with "ptr_fun(<stored function pointer>)".
- ; Function pointers have no children, so the adaptors have no children.
- std::pointer_to_unary_function<*>|std::pointer_to_binary_function<*>{
- preview (
- #(
- "ptr_fun(",
- $e._Pfun,
- ")"
- )
- )
- children ( #array(expr: 0, size: 0) )
- }
- ;------------------------------------------------------------------------------
- ; std::mem_fun() from <functional>
- ; std::mem_fun_ref() from <functional>
- ;------------------------------------------------------------------------------
- ; See ptr_fun().
- std::mem_fun_t<*>|std::mem_fun1_t<*>|std::const_mem_fun_t<*>|std::const_mem_fun1_t<*>{
- preview (
- #(
- "mem_fun(",
- $e._Pmemfun,
- ")"
- )
- )
- children ( #array(expr: 0, size: 0) )
- }
- std::mem_fun_ref_t<*>|std::mem_fun1_ref_t<*>|std::const_mem_fun_ref_t<*>|std::const_mem_fun1_ref_t<*>{
- preview (
- #(
- "mem_fun_ref(",
- $e._Pmemfun,
- ")"
- )
- )
- children ( #array(expr: 0, size: 0) )
- }
- ;------------------------------------------------------------------------------
- ; std::auto_ptr from <memory>
- ;------------------------------------------------------------------------------
- std::auto_ptr<*>{
- ; An empty auto_ptr is previewed with "empty".
- ; Otherwise, it is previewed with "auto_ptr <object>".
- preview (
- #if ($e._Myptr == 0) (
- "empty"
- ) #else (
- #(
- "auto_ptr ",
- *$e._Myptr
- )
- )
- )
- ; An empty auto_ptr has no children.
- ; Otherwise, it has a single child, its stored pointer, with a fake name of [ptr].
- children (
- #if ($e._Myptr == 0) (
- #array(expr: 0, size: 0)
- ) #else (
- #([ptr] : $e._Myptr)
- )
- )
- }
- ;------------------------------------------------------------------------------
- ; std::basic_string from <string>
- ;------------------------------------------------------------------------------
- ; basic_string is previewed with its stored string.
- ; It has [size] and [capacity] children, followed by [0], [1], [2], etc. children
- ; displaying its stored characters.
- ; The ($e._Myres) < ($e._BUF_SIZE) test determines whether the Small String Optimization
- ; is in effect.
- ; NOTE: The parentheses in ($e._Myres) < ($e._BUF_SIZE) are necessary.
- std::basic_string<char,*>{
- preview ( #if (($e._Myres) < ($e._BUF_SIZE)) ( [$e._Bx._Buf,s] ) #else ( [$e._Bx._Ptr,s] ))
- stringview ( #if (($e._Myres) < ($e._BUF_SIZE)) ( [$e._Bx._Buf,sb] ) #else ( [$e._Bx._Ptr,sb] ))
- children (
- #(
- #([size] : $e._Mysize),
- #([capacity] : $e._Myres),
- #if (($e._Myres) < ($e._BUF_SIZE)) (
- #array(expr: $e._Bx._Buf[$i], size: $e._Mysize)
- ) #else (
- #array(expr: $e._Bx._Ptr[$i], size: $e._Mysize)
- )
- )
- )
- }
- std::basic_string<unsigned short,*>|std::basic_string<wchar_t,*>{
- preview ( #if (($e._Myres) < ($e._BUF_SIZE)) ( [$e._Bx._Buf,su] ) #else ( [$e._Bx._Ptr,su] ))
- stringview ( #if (($e._Myres) < ($e._BUF_SIZE)) ( [$e._Bx._Buf,sub] ) #else ( [$e._Bx._Ptr,sub] ))
- children (
- #(
- #([size] : $e._Mysize),
- #([capacity] : $e._Myres),
- #if (($e._Myres) < ($e._BUF_SIZE)) (
- #array(expr: $e._Bx._Buf[$i], size: $e._Mysize)
- ) #else (
- #array(expr: $e._Bx._Ptr[$i], size: $e._Mysize)
- )
- )
- )
- }
- std::_String_iterator<char,*>|std::_String_const_iterator<char,*>{
- preview ( [$e._Ptr,s] )
- stringview ( [$e._Ptr,sb] )
- children ( #([ptr] : $e._Ptr) )
- }
- std::_String_iterator<unsigned short,*>|std::_String_const_iterator<unsigned short,*>|std::_String_iterator<wchar_t,*>|std::_String_const_iterator<wchar_t,*>{
- preview ( [$e._Ptr,su] )
- stringview ( [$e._Ptr,sub] )
- children ( #([ptr] : $e._Ptr) )
- }
- ;------------------------------------------------------------------------------
- ; std::vector<bool> from <vector>
- ;------------------------------------------------------------------------------
- ; Despite its packed representation, vector<bool> is visualized like vector<T>.
- std::vector<bool,*>{
- preview (
- #(
- "[",
- $e._Mysize,
- "](",
- #array(
- expr: (bool)(($e._Myvec._Myfirst[$i / _VBITS] >> ($i % _VBITS)) & 1),
- size: $e._Mysize
- ),
- ")"
- )
- )
- children (
- #(
- #([size] : $e._Mysize),
- #([capacity] : ($e._Myvec._Myend - $e._Myvec._Myfirst) * _VBITS),
- #array(
- expr: (bool)(($e._Myvec._Myfirst[$i / _VBITS] >> ($i % _VBITS)) & 1),
- size: $e._Mysize
- )
- )
- )
- }
- std::_Vb_reference<*>|std::_Vb_iterator<*>|std::_Vb_const_iterator<*>{
- preview (
- (bool)((*$e._Myptr >> $e._Myoff) & 1)
- )
- children (
- #(
- #([ptr] : $e._Myptr),
- #([offset] : $e._Myoff)
- )
- )
- }
- ;------------------------------------------------------------------------------
- ; std::vector from <vector>
- ;------------------------------------------------------------------------------
- ; vector is previewed with "[<size>](<elements>)".
- ; It has [size] and [capacity] children, followed by its elements.
- ; The other containers follow its example.
- std::vector<*>{
- preview (
- #(
- "[",
- $e._Mylast - $e._Myfirst,
- "](",
- #array(
- expr: $e._Myfirst[$i],
- size: $e._Mylast - $e._Myfirst
- ),
- ")"
- )
- )
- children (
- #(
- #([size] : $e._Mylast - $e._Myfirst),
- #([capacity] : $e._Myend - $e._Myfirst),
- #array(
- expr: $e._Myfirst[$i],
- size: $e._Mylast - $e._Myfirst
- )
- )
- )
- }
- std::_Vector_iterator<*>|std::_Vector_const_iterator<*>{
- preview (
- *$e._Ptr
- )
- children (
- #([ptr] : $e._Ptr)
- )
- }
- ;------------------------------------------------------------------------------
- ; std::deque from <deque>
- ;------------------------------------------------------------------------------
- std::deque<*>{
- preview (
- #(
- "[",
- $e._Mysize,
- "](",
- #array(
- expr: $e._Map[(($i + $e._Myoff) / $e._EEN_DS) % $e._Mapsize][($i + $e._Myoff) % $e._EEN_DS],
- size: $e._Mysize
- ),
- ")"
- )
- )
- children (
- #(
- #array(
- expr: $e._Map[(($i + $e._Myoff) / $e._EEN_DS) % $e._Mapsize][($i + $e._Myoff) % $e._EEN_DS],
- size: $e._Mysize
- )
- )
- )
- }
- std::_Deque_iterator<*,*>|std::_Deque_const_iterator<*,*>{
- preview (
- #if ($e._Myoff >= ((std::deque<$T1,$T2> *)$e._Myproxy->_Mycont)->_Myoff + ((std::deque<$T1,$T2> *)$e._Myproxy->_Mycont)->_Mysize) (
- "end"
- ) #else (
- ((std::deque<$T1,$T2> *)$e._Myproxy->_Mycont)->_Map[($e._Myoff / ((std::deque<$T1,$T2> *)$e._Myproxy->_Mycont)->_EEN_DS) % ((std::deque<$T1,$T2> *)$e._Myproxy->_Mycont)->_Mapsize][$e._Myoff % ((std::deque<$T1,$T2> *)$e._Myproxy->_Mycont)->_EEN_DS]
- )
- )
- children (
- #if ($e._Myoff >= ((std::deque<$T1,$T2> *)$e._Myproxy->_Mycont)->_Myoff + ((std::deque<$T1,$T2> *)$e._Myproxy->_Mycont)->_Mysize) (
- #array(expr: 0, size: 0)
- ) #else (
- #(
- #([index] : $e._Myoff - ((std::deque<$T1,$T2> *)$e._Myproxy->_Mycont)->_Myoff),
- #([ptr] : &((std::deque<$T1,$T2> *)$e._Myproxy->_Mycont)->_Map[($e._Myoff / ((std::deque<$T1,$T2> *)$e._Myproxy->_Mycont)->_EEN_DS) % ((std::deque<$T1,$T2> *)$e._Myproxy->_Mycont)->_Mapsize][$e._Myoff % ((std::deque<$T1,$T2> *)$e._Myproxy->_Mycont)->_EEN_DS] )
- )
- )
- )
- }
- ;------------------------------------------------------------------------------
- ; std::list from <list>
- ;------------------------------------------------------------------------------
- std::list<*>{
- preview (
- #(
- "[",
- $e._Mysize,
- "](",
- #list(
- head: $e._Myhead->_Next,
- size: $e._Mysize,
- next: _Next
- ) : $e._Myval,
- ")"
- )
- )
- children (
- #list(
- head: $e._Myhead->_Next,
- size: $e._Mysize,
- next: _Next
- ) : $e._Myval
- )
- }
- std::_List_iterator<*>|std::_List_const_iterator<*>{
- preview ( $e._Ptr->_Myval )
- children ( #([ptr] : &$e._Ptr->_Myval) )
- }
- ;------------------------------------------------------------------------------
- ; std::queue from <queue>
- ; std::stack from <stack>
- ;------------------------------------------------------------------------------
- std::queue<*>|std::stack<*>{
- preview ( $e.c )
- children ( #(c : $e.c) )
- }
- ;------------------------------------------------------------------------------
- ; std::priority_queue from <queue>
- ;------------------------------------------------------------------------------
- std::priority_queue<*>{
- preview ( $e.c )
- children (
- #(
- #(c [heap]: $e.c),
- #(comp : $e.comp)
- )
- )
- }
- ;------------------------------------------------------------------------------
- ; std::map from <map>
- ; std::multimap from <map>
- ; std::set from <set>
- ; std::multiset from <set>
- ;------------------------------------------------------------------------------
- std::map<*>|std::multimap<*>|std::set<*>|std::multiset<*>{
- preview (
- #(
- "[",
- $e._Mysize,
- "](",
- #tree(
- head: $e._Myhead->_Parent,
- skip: $e._Myhead,
- left: _Left,
- right: _Right,
- size: $e._Mysize
- ) : $e._Myval,
- ")"
- )
- )
- children (
- #(
- #([comp] : $e.comp),
- #tree(
- head: $e._Myhead->_Parent,
- skip: $e._Myhead,
- left: _Left,
- right: _Right,
- size: $e._Mysize
- ) : $e._Myval
- )
- )
- }
- std::_Tree_iterator<*>|std::_Tree_const_iterator<*>{
- preview ( $e._Ptr->_Myval )
- children ( #([ptr] : &$e._Ptr->_Myval) )
- }
- ;------------------------------------------------------------------------------
- ; std::bitset from <bitset>
- ;------------------------------------------------------------------------------
- std::bitset<*>{
- preview (
- #(
- "[",
- $e._EEN_BITS,
- "](",
- #array(
- expr: [($e._Array[$i / $e._Bitsperword] >> ($i % $e._Bitsperword)) & 1,d],
- size: $e._EEN_BITS
- ),
- ")"
- )
- )
- children (
- #array(
- expr: [($e._Array[$i / $e._Bitsperword] >> ($i % $e._Bitsperword)) & 1,d],
- size: $e._EEN_BITS
- )
- )
- }
- std::bitset<*>::reference{
- preview (
- [($e._Pbitset->_Array[$i / $e._Pbitset->_Bitsperword] >> ($e._Mypos % $e._Pbitset->_Bitsperword)) & 1,d]
- )
- children (
- #(
- #([bitset] : $e._Pbitset),
- #([pos] : $e._Mypos)
- )
- )
- }
- ;------------------------------------------------------------------------------
- ; std::reverse_iterator from <iterator>
- ;------------------------------------------------------------------------------
- std::reverse_iterator<std::_String_iterator<*> >|std::reverse_iterator<std::_String_const_iterator<*> >{
- preview (
- #(
- "reverse_iterator to ",
- $e.current._Ptr[-1]
- )
- )
- children (
- #(
- #([to] : $e.current._Ptr - 1),
- #(current : $e.current)
- )
- )
- }
- std::reverse_iterator<std::_Vb_iterator<*> >|std::reverse_iterator<std::_Vb_const_iterator<*> >{
- preview (
- #(
- "reverse_iterator to ",
- #if ($e.current._Myoff != 0) (
- (bool)((*$e.current._Myptr >> ($e.current._Myoff - 1)) & 1)
- ) #else (
- (bool)(($e.current._Myptr[-1] >> (_VBITS - 1)) & 1)
- )
- )
- )
- children (
- #if ($e.current._Myoff != 0) (
- #(
- #([to ptr] : $e.current._Myptr),
- #([to offset] : $e.current._Myoff - 1),
- #(current : $e.current)
- )
- ) #else (
- #(
- #([to ptr] : $e.current._Myptr - 1),
- #([to offset] : _VBITS - 1),
- #(current : $e.current)
- )
- )
- )
- }
- std::reverse_iterator<std::_Vector_iterator<*> >|std::reverse_iterator<std::_Vector_const_iterator<*> >{
- preview (
- #(
- "reverse_iterator to ",
- $e.current._Ptr[-1]
- )
- )
- children (
- #(
- #([to] : $e.current._Ptr - 1),
- #(current : $e.current)
- )
- )
- }
- std::reverse_iterator<std::_Deque_iterator<*,*> >|std::reverse_iterator<std::_Deque_const_iterator<*,*> >{
- preview (
- #(
- "reverse_iterator to ",
- #if ($e.current._Myoff == ((std::deque<$T1,$T2> *)$e.current._Myproxy->_Mycont)->_Myoff) (
- "end"
- ) #else (
- ((std::deque<$T1,$T2> *)$e.current._Myproxy->_Mycont)->_Map[(($e.current._Myoff - 1) / ((std::deque<$T1,$T2> *)$e.current._Myproxy->_Mycont)->_EEN_DS) % ((std::deque<$T1,$T2> *)$e.current._Myproxy->_Mycont)->_Mapsize][($e.current._Myoff - 1) % ((std::deque<$T1,$T2> *)$e.current._Myproxy->_Mycont)->_EEN_DS]
- )
- )
- )
- children (
- #if ($e.current._Myoff == ((std::deque<$T1,$T2> *)$e.current._Myproxy->_Mycont)->_Myoff) (
- #(current : $e.current)
- ) #else (
- #(
- #([to index] : ($e.current._Myoff - 1) - ((std::deque<$T1,$T2> *)$e.current._Myproxy->_Mycont)->_Myoff),
- #([to ptr] : &((std::deque<$T1,$T2> *)$e.current._Myproxy->_Mycont)->_Map[(($e.current._Myoff - 1) / ((std::deque<$T1,$T2> *)$e.current._Myproxy->_Mycont)->_EEN_DS) % ((std::deque<$T1,$T2> *)$e.current._Myproxy->_Mycont)->_Mapsize][($e.current._Myoff - 1) % ((std::deque<$T1,$T2> *)$e.current._Myproxy->_Mycont)->_EEN_DS] ),
- #(current : $e.current)
- )
- )
- )
- }
- std::reverse_iterator<std::_List_iterator<*> >|std::reverse_iterator<std::_List_const_iterator<*> >{
- preview (
- #(
- "reverse_iterator to ",
- $e.current._Ptr->_Prev->_Myval
- )
- )
- children (
- #(
- #([to] : &$e.current._Ptr->_Prev->_Myval),
- #(current : $e.current)
- )
- )
- }
- std::reverse_iterator<std::_Array_iterator<*> >|std::reverse_iterator<std::_Array_const_iterator<*> >{
- preview (
- #(
- "reverse_iterator to ",
- #if ($e.current._EEN_IDL == 0) (
- $e.current._Ptr[-1]
- ) #else (
- #if ($e.current._Idx == 0) (
- "end"
- ) #else (
- $e.current._Ptr[$e.current._Idx - 1]
- )
- )
- )
- )
- children (
- #if ($e.current._EEN_IDL == 0) (
- #(
- #([to] : $e.current._Ptr - 1),
- #(current : $e.current)
- )
- ) #else (
- #if ($e.current._Idx == 0) (
- #(current : $e.current)
- ) #else (
- #(
- #([to] : $e.current._Ptr + $e.current._Idx - 1),
- #(current : $e.current)
- )
- )
- )
- )
- }
- std::reverse_iterator<*>{
- preview (
- #(
- "reverse_iterator current ",
- $e.current
- )
- )
- children (
- #(current : $e.current)
- )
- }
- ;------------------------------------------------------------------------------
- ; std::complex from <complex>
- ;------------------------------------------------------------------------------
- std::complex<*>{
- preview (
- #if ($e._Val[1] == 0) (
- ; Purely real.
- $e._Val[0]
- ) #else (
- #if ($e._Val[0] == 0) (
- ; Purely imaginary.
- #if ($e._Val[1] < 0) (
- #("-i*", -$e._Val[1])
- ) #else (
- #("i*", $e._Val[1])
- )
- ) #else (
- ; Mixed.
- #if ($e._Val[1] < 0) (
- #($e._Val[0], "-i*", -$e._Val[1])
- ) #else (
- #($e._Val[0], "+i*", $e._Val[1])
- )
- )
- )
- )
- children (
- #(
- #(real : $e._Val[0]),
- #(imag : $e._Val[1])
- )
- )
- }
- ;------------------------------------------------------------------------------
- ; std::valarray from <valarray>
- ;------------------------------------------------------------------------------
- std::valarray<*>{
- preview (
- #(
- "[",
- $e._Mysize,
- "](",
- #array(
- expr: $e._Myptr[$i],
- size: $e._Mysize
- ),
- ")"
- )
- )
- children (
- #array(
- expr: $e._Myptr[$i],
- size: $e._Mysize
- )
- )
- }
- ;------------------------------------------------------------------------------
- ; std::tr1::reference_wrapper from <functional>
- ;------------------------------------------------------------------------------
- std::tr1::reference_wrapper<*>{
- preview (
- #if ($e._Callee._EEN_INDIRECT == 1) (
- ; For ordinary T, reference_wrapper<T> stores a T * _Callee._Ptr
- ; which is non-null. Actual references are previewed with what they
- ; refer to, so reference_wrapper<T> is previewed with dereferencing its
- ; stored pointer.
- *$e._Callee._Ptr
- ) #else (
- ; When T is a pointer to data member type, reference_wrapper<T>
- ; stores a T _Callee._Object directly.
- $e._Callee._Object
- )
- )
- children (
- #if ($e._Callee._EEN_INDIRECT == 1) (
- ; Actual references have the same children as what they refer to.
- ; Unfortunately, there appears to be no way to imitate this exactly.
- ; Therefore, we make reference_wrapper<T> appear to have a single
- ; child, its stored pointer, with a fake name of [ptr].
- #([ptr] : $e._Callee._Ptr)
- ) #else (
- ; When T is a pointer to data member type, T has no children,
- ; so we make reference_wrapper<T> appear to have no children.
- #array(expr: 0, size: 0)
- )
- )
- }
- ;------------------------------------------------------------------------------
- ; std::tr1::shared_ptr from <memory>
- ;------------------------------------------------------------------------------
- std::tr1::_Ref_count<*>{
- preview ( "default" )
- children ( #array(expr: 0, size: 0) )
- }
- std::tr1::_Ref_count_del<*>{
- preview ( "custom deleter" )
- children ( #([deleter] : $e._Dtor) )
- }
- std::tr1::_Ref_count_del_alloc<*>{
- preview ( "custom deleter, custom allocator" )
- children (
- #(
- #([deleter] : $e._Dtor),
- #([allocator] : $e._Myal)
- )
- )
- }
- std::tr1::_Ref_count_obj<*>{
- preview ( "make_shared" )
- children ( #array(expr: 0, size: 0) )
- }
- std::tr1::_Ref_count_obj_alloc<*>{
- preview ( "allocate_shared" )
- children ( #([allocator] : $e._Myal) )
- }
- std::tr1::shared_ptr<*>{
- preview (
- ; shared_ptr<T> stores a T * _Ptr .
- #if ($e._Ptr == 0) (
- ; A default-constructed shared_ptr has a null _Ptr and a null _Rep,
- ; and is formally said to be empty.
- ; A shared_ptr constructed from a null pointer has a null _Ptr
- ; and a NON-null _Rep . It is formally said to own the null pointer.
- ; We preview both with "empty".
- "empty"
- ) #else (
- ; Raw pointers are previewed with "<pointer value> <object>".
- ; auto_ptr is previewed with "auto_ptr <object>".
- ; Following these examples, shared_ptr is previewed with
- ; "shared_ptr <object> [N strong refs, M weak refs]".
- #(
- "shared_ptr ",
- *$e._Ptr,
- " [",
- $e._Rep->_Uses,
- #if ($e._Rep->_Uses == 1) (" strong ref") #else (" strong refs"),
- #if ($e._Rep->_Weaks - 1 > 0) (
- #(
- ", ",
- $e._Rep->_Weaks - 1,
- #if ($e._Rep->_Weaks - 1 == 1) (" weak ref") #else (" weak refs")
- )
- ),
- "] [",
- *$e._Rep,
- "]"
- )
- ; Note: _Rep->_Uses counts how many shared_ptrs share ownership of the object,
- ; so we directly display it as the strong reference count.
- ; _Rep->_Weaks counts how many shared_ptrs and weak_ptrs share ownership of
- ; the "representation object" (or "control block"). All of the shared_ptrs are
- ; counted as a single owner. That is, _Weaks is initialized to 1, and when
- ; _Uses falls to 0, _Weaks is decremented. This avoids incrementing and decrementing
- ; _Weaks every time that a shared_ptr gains or loses ownership. Therefore,
- ; _Weaks - 1 is the weak reference count, the number of weak_ptrs that are observing
- ; the shared object.
- )
- )
- children (
- #if ($e._Ptr == 0) (
- ; We make empty shared_ptrs (and shared_ptrs that own
- ; the null pointer) appear to have no children.
- #array(expr: 0, size: 0)
- ) #else (
- #(
- ; We make shared_ptr appear to have two children:
- ; Its stored pointer, with a fake name of [ptr].
- #([ptr] : $e._Ptr),
- ; Its deleter and allocator, which may be default or custom.
- #([deleter and allocator] : *$e._Rep)
- )
- )
- )
- }
- ;------------------------------------------------------------------------------
- ; std::tr1::weak_ptr from <memory>
- ;------------------------------------------------------------------------------
- std::tr1::weak_ptr<*>{
- preview (
- #if ($e._Ptr == 0) (
- "empty"
- ) #elif ($e._Rep->_Uses == 0) (
- ; weak_ptr is just like shared_ptr, except that a weak_ptr can be expired.
- #(
- "expired [",
- *$e._Rep,
- "]"
- )
- ) #else (
- #(
- "weak_ptr ",
- *$e._Ptr,
- " [",
- $e._Rep->_Uses,
- #if ($e._Rep->_Uses == 1) (" strong ref") #else (" strong refs"),
- #if ($e._Rep->_Weaks - 1 > 0) (
- #(
- ", ",
- $e._Rep->_Weaks - 1,
- #if ($e._Rep->_Weaks - 1 == 1) (" weak ref") #else (" weak refs")
- )
- ),
- "] [",
- *$e._Rep,
- "]"
- )
- )
- )
- children (
- #if ($e._Ptr == 0) (
- #array(expr: 0, size: 0)
- ) #elif ($e._Rep->_Uses == 0) (
- ; When a weak_ptr is expired, we show its deleter and allocator.
- ; The deleter has already been used, but the control block has not yet been deallocated.
- #([deleter and allocator] : *$e._Rep)
- ) #else (
- #(
- #([ptr] : $e._Ptr),
- #([deleter and allocator] : *$e._Rep)
- )
- )
- )
- }
- ;------------------------------------------------------------------------------
- ; std::tr1::mem_fn() from <functional>
- ;------------------------------------------------------------------------------
- ; Note that when mem_fn() is given a data member pointer, it returns a _Call_wrapper<_Callable_pmd<*> > .
- ; Data member pointers themselves don't have useful previews, so we don't attempt to visualize this.
- ; When mem_fn() is given a member function pointer, it returns a _Mem_fn[N], which we can visualize.
- std::tr1::_Mem_fn1<*>|std::tr1::_Mem_fn2<*>|std::tr1::_Mem_fn3<*>|std::tr1::_Mem_fn4<*>|std::tr1::_Mem_fn5<*>|std::tr1::_Mem_fn6<*>|std::tr1::_Mem_fn7<*>|std::tr1::_Mem_fn8<*>|std::tr1::_Mem_fn9<*>|std::tr1::_Mem_fn10<*>{
- preview (
- ; We preview the functor returned by mem_fn() with "mem_fn(<stored member function pointer>)".
- #(
- "mem_fn(",
- $e._Callee._Object,
- ")"
- )
- )
- children (
- ; Member function pointers have no children.
- #array(expr: 0, size: 0)
- )
- }
- ;------------------------------------------------------------------------------
- ; std::tr1::bind() from <functional>
- ;------------------------------------------------------------------------------
- ; bind() placeholders are previewed with their names.
- ; They have no state, so they have no children.
- std::tr1::_Ph<1>{
- preview ( "_1" )
- children ( #array(expr: 0, size: 0) )
- }
- std::tr1::_Ph<2>{
- preview ( "_2" )
- children ( #array(expr: 0, size: 0) )
- }
- std::tr1::_Ph<3>{
- preview ( "_3" )
- children ( #array(expr: 0, size: 0) )
- }
- std::tr1::_Ph<4>{
- preview ( "_4" )
- children ( #array(expr: 0, size: 0) )
- }
- std::tr1::_Ph<5>{
- preview ( "_5" )
- children ( #array(expr: 0, size: 0) )
- }
- std::tr1::_Ph<6>{
- preview ( "_6" )
- children ( #array(expr: 0, size: 0) )
- }
- std::tr1::_Ph<7>{
- preview ( "_7" )
- children ( #array(expr: 0, size: 0) )
- }
- std::tr1::_Ph<8>{
- preview ( "_8" )
- children ( #array(expr: 0, size: 0) )
- }
- std::tr1::_Ph<9>{
- preview ( "_9" )
- children ( #array(expr: 0, size: 0) )
- }
- std::tr1::_Ph<10>{
- preview ( "_10" )
- children ( #array(expr: 0, size: 0) )
- }
- ; The functor returned by bind(f, t1, t2) is previewed with "bind(f, t1, t2)".
- ; It has children with the fake names of [f], [t1], [t2], etc.
- std::tr1::_Bind<*,*,std::tr1::_Bind0<*> >|std::tr1::_Bind_fty<*,*,std::tr1::_Bind0<*> >{
- preview (
- #(
- "bind(", $e._Bx._Callee._Object,
- ")"
- )
- )
- children (
- #(
- #([f] : $e._Bx._Callee._Object)
- )
- )
- }
- std::tr1::_Bind<*,*,std::tr1::_Bind1<*> >|std::tr1::_Bind_fty<*,*,std::tr1::_Bind1<*> >{
- preview (
- #(
- "bind(", $e._Bx._Callee._Object,
- ", ", $e._Bx._Vx0,
- ")"
- )
- )
- children (
- #(
- #([f] : $e._Bx._Callee._Object),
- #([t1] : $e._Bx._Vx0)
- )
- )
- }
- std::tr1::_Bind<*,*,std::tr1::_Bind2<*> >|std::tr1::_Bind_fty<*,*,std::tr1::_Bind2<*> >{
- preview (
- #(
- "bind(", $e._Bx._Callee._Object,
- ", ", $e._Bx._Vx0,
- ", ", $e._Bx._Vx1,
- ")"
- )
- )
- children (
- #(
- #([f] : $e._Bx._Callee._Object),
- #([t1] : $e._Bx._Vx0),
- #([t2] : $e._Bx._Vx1)
- )
- )
- }
- std::tr1::_Bind<*,*,std::tr1::_Bind3<*> >|std::tr1::_Bind_fty<*,*,std::tr1::_Bind3<*> >{
- preview (
- #(
- "bind(", $e._Bx._Callee._Object,
- ", ", $e._Bx._Vx0,
- ", ", $e._Bx._Vx1,
- ", ", $e._Bx._Vx2,
- ")"
- )
- )
- children (
- #(
- #([f] : $e._Bx._Callee._Object),
- #([t1] : $e._Bx._Vx0),
- #([t2] : $e._Bx._Vx1),
- #([t3] : $e._Bx._Vx2)
- )
- )
- }
- std::tr1::_Bind<*,*,std::tr1::_Bind4<*> >|std::tr1::_Bind_fty<*,*,std::tr1::_Bind4<*> >{
- preview (
- #(
- "bind(", $e._Bx._Callee._Object,
- ", ", $e._Bx._Vx0,
- ", ", $e._Bx._Vx1,
- ", ", $e._Bx._Vx2,
- ", ", $e._Bx._Vx3,
- ")"
- )
- )
- children (
- #(
- #([f] : $e._Bx._Callee._Object),
- #([t1] : $e._Bx._Vx0),
- #([t2] : $e._Bx._Vx1),
- #([t3] : $e._Bx._Vx2),
- #([t4] : $e._Bx._Vx3)
- )
- )
- }
- std::tr1::_Bind<*,*,std::tr1::_Bind5<*> >|std::tr1::_Bind_fty<*,*,std::tr1::_Bind5<*> >{
- preview (
- #(
- "bind(", $e._Bx._Callee._Object,
- ", ", $e._Bx._Vx0,
- ", ", $e._Bx._Vx1,
- ", ", $e._Bx._Vx2,
- ", ", $e._Bx._Vx3,
- ", ", $e._Bx._Vx4,
- ")"
- )
- )
- children (
- #(
- #([f] : $e._Bx._Callee._Object),
- #([t1] : $e._Bx._Vx0),
- #([t2] : $e._Bx._Vx1),
- #([t3] : $e._Bx._Vx2),
- #([t4] : $e._Bx._Vx3),
- #([t5] : $e._Bx._Vx4)
- )
- )
- }
- std::tr1::_Bind<*,*,std::tr1::_Bind6<*> >|std::tr1::_Bind_fty<*,*,std::tr1::_Bind6<*> >{
- preview (
- #(
- "bind(", $e._Bx._Callee._Object,
- ", ", $e._Bx._Vx0,
- ", ", $e._Bx._Vx1,
- ", ", $e._Bx._Vx2,
- ", ", $e._Bx._Vx3,
- ", ", $e._Bx._Vx4,
- ", ", $e._Bx._Vx5,
- ")"
- )
- )
- children (
- #(
- #([f] : $e._Bx._Callee._Object),
- #([t1] : $e._Bx._Vx0),
- #([t2] : $e._Bx._Vx1),
- #([t3] : $e._Bx._Vx2),
- #([t4] : $e._Bx._Vx3),
- #([t5] : $e._Bx._Vx4),
- #([t6] : $e._Bx._Vx5)
- )
- )
- }
- std::tr1::_Bind<*,*,std::tr1::_Bind7<*> >|std::tr1::_Bind_fty<*,*,std::tr1::_Bind7<*> >{
- preview (
- #(
- "bind(", $e._Bx._Callee._Object,
- ", ", $e._Bx._Vx0,
- ", ", $e._Bx._Vx1,
- ", ", $e._Bx._Vx2,
- ", ", $e._Bx._Vx3,
- ", ", $e._Bx._Vx4,
- ", ", $e._Bx._Vx5,
- ", ", $e._Bx._Vx6,
- ")"
- )
- )
- children (
- #(
- #([f] : $e._Bx._Callee._Object),
- #([t1] : $e._Bx._Vx0),
- #([t2] : $e._Bx._Vx1),
- #([t3] : $e._Bx._Vx2),
- #([t4] : $e._Bx._Vx3),
- #([t5] : $e._Bx._Vx4),
- #([t6] : $e._Bx._Vx5),
- #([t7] : $e._Bx._Vx6)
- )
- )
- }
- std::tr1::_Bind<*,*,std::tr1::_Bind8<*> >|std::tr1::_Bind_fty<*,*,std::tr1::_Bind8<*> >{
- preview (
- #(
- "bind(", $e._Bx._Callee._Object,
- ", ", $e._Bx._Vx0,
- ", ", $e._Bx._Vx1,
- ", ", $e._Bx._Vx2,
- ", ", $e._Bx._Vx3,
- ", ", $e._Bx._Vx4,
- ", ", $e._Bx._Vx5,
- ", ", $e._Bx._Vx6,
- ", ", $e._Bx._Vx7,
- ")"
- )
- )
- children (
- #(
- #([f] : $e._Bx._Callee._Object),
- #([t1] : $e._Bx._Vx0),
- #([t2] : $e._Bx._Vx1),
- #([t3] : $e._Bx._Vx2),
- #([t4] : $e._Bx._Vx3),
- #([t5] : $e._Bx._Vx4),
- #([t6] : $e._Bx._Vx5),
- #([t7] : $e._Bx._Vx6),
- #([t8] : $e._Bx._Vx7)
- )
- )
- }
- std::tr1::_Bind<*,*,std::tr1::_Bind9<*> >|std::tr1::_Bind_fty<*,*,std::tr1::_Bind9<*> >{
- preview (
- #(
- "bind(", $e._Bx._Callee._Object,
- ", ", $e._Bx._Vx0,
- ", ", $e._Bx._Vx1,
- ", ", $e._Bx._Vx2,
- ", ", $e._Bx._Vx3,
- ", ", $e._Bx._Vx4,
- ", ", $e._Bx._Vx5,
- ", ", $e._Bx._Vx6,
- ", ", $e._Bx._Vx7,
- ", ", $e._Bx._Vx8,
- ")"
- )
- )
- children (
- #(
- #([f] : $e._Bx._Callee._Object),
- #([t1] : $e._Bx._Vx0),
- #([t2] : $e._Bx._Vx1),
- #([t3] : $e._Bx._Vx2),
- #([t4] : $e._Bx._Vx3),
- #([t5] : $e._Bx._Vx4),
- #([t6] : $e._Bx._Vx5),
- #([t7] : $e._Bx._Vx6),
- #([t8] : $e._Bx._Vx7),
- #([t9] : $e._Bx._Vx8)
- )
- )
- }
- std::tr1::_Bind<*,*,std::tr1::_Bind10<*> >|std::tr1::_Bind_fty<*,*,std::tr1::_Bind10<*> >{
- preview (
- #(
- "bind(", $e._Bx._Callee._Object,
- ", ", $e._Bx._Vx0,
- ", ", $e._Bx._Vx1,
- ", ", $e._Bx._Vx2,
- ", ", $e._Bx._Vx3,
- ", ", $e._Bx._Vx4,
- ", ", $e._Bx._Vx5,
- ", ", $e._Bx._Vx6,
- ", ", $e._Bx._Vx7,
- ", ", $e._Bx._Vx8,
- ", ", $e._Bx._Vx9,
- ")"
- )
- )
- children (
- #(
- #([f] : $e._Bx._Callee._Object),
- #([t1] : $e._Bx._Vx0),
- #([t2] : $e._Bx._Vx1),
- #([t3] : $e._Bx._Vx2),
- #([t4] : $e._Bx._Vx3),
- #([t5] : $e._Bx._Vx4),
- #([t6] : $e._Bx._Vx5),
- #([t7] : $e._Bx._Vx6),
- #([t8] : $e._Bx._Vx7),
- #([t9] : $e._Bx._Vx8),
- #([t10] : $e._Bx._Vx9)
- )
- )
- }
- ;------------------------------------------------------------------------------
- ; std::tr1::function from <functional>
- ;------------------------------------------------------------------------------
- std::tr1::_Impl_no_alloc0<*>|std::tr1::_Impl_no_alloc1<*>|std::tr1::_Impl_no_alloc2<*>|std::tr1::_Impl_no_alloc3<*>|std::tr1::_Impl_no_alloc4<*>|std::tr1::_Impl_no_alloc5<*>|std::tr1::_Impl_no_alloc6<*>|std::tr1::_Impl_no_alloc7<*>|std::tr1::_Impl_no_alloc8<*>|std::tr1::_Impl_no_alloc9<*>|std::tr1::_Impl_no_alloc10<*>{
- preview ( $e._Callee._Object )
- children ( #([functor] : $e._Callee._Object) )
- }
- std::tr1::_Impl0<*>|std::tr1::_Impl1<*>|std::tr1::_Impl2<*>|std::tr1::_Impl3<*>|std::tr1::_Impl4<*>|std::tr1::_Impl5<*>|std::tr1::_Impl6<*>|std::tr1::_Impl7<*>|std::tr1::_Impl8<*>|std::tr1::_Impl9<*>|std::tr1::_Impl10<*>{
- preview ( $e._Callee._Object )
- children (
- #(
- #([functor] : $e._Callee._Object),
- #([allocator] : $e._Myal)
- )
- )
- }
- std::tr1::function<*>{
- preview (
- #if ($e._Impl == 0) (
- ; Detecting empty functions is trivial.
- "empty"
- ) #else (
- *$e._Impl
- )
- )
- children (
- #if ($e._Impl == 0) (
- ; We make empty functions appear to have no children.
- #array(expr: 0, size: 0)
- ) #else (
- #([functor and allocator] : *$e._Impl)
- )
- )
- }
- ;------------------------------------------------------------------------------
- ; std::tr1::tuple from <tuple>
- ;------------------------------------------------------------------------------
- ; tuple is visualized like pair, except that we have to give fake names to tuple's children.
- std::tr1::tuple<std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil>{
- preview (
- "()"
- )
- children (
- #array(expr: 0, size: 0)
- )
- }
- std::tr1::tuple<*,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil>{
- preview (
- #(
- "(", $e._Impl._Value,
- ")"
- )
- )
- children (
- #(
- [0] : $e._Impl._Value
- )
- )
- }
- std::tr1::tuple<*,*,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil>{
- preview (
- #(
- "(", $e._Impl._Value,
- ", ", $e._Impl._Tail._Value,
- ")"
- )
- )
- children (
- #(
- [0] : $e._Impl._Value,
- [1] : $e._Impl._Tail._Value
- )
- )
- }
- std::tr1::tuple<*,*,*,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil>{
- preview (
- #(
- "(", $e._Impl._Value,
- ", ", $e._Impl._Tail._Value,
- ", ", $e._Impl._Tail._Tail._Value,
- ")"
- )
- )
- children (
- #(
- [0] : $e._Impl._Value,
- [1] : $e._Impl._Tail._Value,
- [2] : $e._Impl._Tail._Tail._Value
- )
- )
- }
- std::tr1::tuple<*,*,*,*,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil>{
- preview (
- #(
- "(", $e._Impl._Value,
- ", ", $e._Impl._Tail._Value,
- ", ", $e._Impl._Tail._Tail._Value,
- ", ", $e._Impl._Tail._Tail._Tail._Value,
- ")"
- )
- )
- children (
- #(
- [0] : $e._Impl._Value,
- [1] : $e._Impl._Tail._Value,
- [2] : $e._Impl._Tail._Tail._Value,
- [3] : $e._Impl._Tail._Tail._Tail._Value
- )
- )
- }
- std::tr1::tuple<*,*,*,*,*,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil>{
- preview (
- #(
- "(", $e._Impl._Value,
- ", ", $e._Impl._Tail._Value,
- ", ", $e._Impl._Tail._Tail._Value,
- ", ", $e._Impl._Tail._Tail._Tail._Value,
- ", ", $e._Impl._Tail._Tail._Tail._Tail._Value,
- ")"
- )
- )
- children (
- #(
- [0] : $e._Impl._Value,
- [1] : $e._Impl._Tail._Value,
- [2] : $e._Impl._Tail._Tail._Value,
- [3] : $e._Impl._Tail._Tail._Tail._Value,
- [4] : $e._Impl._Tail._Tail._Tail._Tail._Value
- )
- )
- }
- std::tr1::tuple<*,*,*,*,*,*,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil>{
- preview (
- #(
- "(", $e._Impl._Value,
- ", ", $e._Impl._Tail._Value,
- ", ", $e._Impl._Tail._Tail._Value,
- ", ", $e._Impl._Tail._Tail._Tail._Value,
- ", ", $e._Impl._Tail._Tail._Tail._Tail._Value,
- ", ", $e._Impl._Tail._Tail._Tail._Tail._Tail._Value,
- ")"
- )
- )
- children (
- #(
- [0] : $e._Impl._Value,
- [1] : $e._Impl._Tail._Value,
- [2] : $e._Impl._Tail._Tail._Value,
- [3] : $e._Impl._Tail._Tail._Tail._Value,
- [4] : $e._Impl._Tail._Tail._Tail._Tail._Value,
- [5] : $e._Impl._Tail._Tail._Tail._Tail._Tail._Value
- )
- )
- }
- std::tr1::tuple<*,*,*,*,*,*,*,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil>{
- preview (
- #(
- "(", $e._Impl._Value,
- ", ", $e._Impl._Tail._Value,
- ", ", $e._Impl._Tail._Tail._Value,
- ", ", $e._Impl._Tail._Tail._Tail._Value,
- ", ", $e._Impl._Tail._Tail._Tail._Tail._Value,
- ", ", $e._Impl._Tail._Tail._Tail._Tail._Tail._Value,
- ", ", $e._Impl._Tail._Tail._Tail._Tail._Tail._Tail._Value,
- ")"
- )
- )
- children (
- #(
- [0] : $e._Impl._Value,
- [1] : $e._Impl._Tail._Value,
- [2] : $e._Impl._Tail._Tail._Value,
- [3] : $e._Impl._Tail._Tail._Tail._Value,
- [4] : $e._Impl._Tail._Tail._Tail._Tail._Value,
- [5] : $e._Impl._Tail._Tail._Tail._Tail._Tail._Value,
- [6] : $e._Impl._Tail._Tail._Tail._Tail._Tail._Tail._Value
- )
- )
- }
- std::tr1::tuple<*,*,*,*,*,*,*,*,std::tr1::_Nil,std::tr1::_Nil>{
- preview (
- #(
- "(", $e._Impl._Value,
- ", ", $e._Impl._Tail._Value,
- ", ", $e._Impl._Tail._Tail._Value,
- ", ", $e._Impl._Tail._Tail._Tail._Value,
- ", ", $e._Impl._Tail._Tail._Tail._Tail._Value,
- ", ", $e._Impl._Tail._Tail._Tail._Tail._Tail._Value,
- ", ", $e._Impl._Tail._Tail._Tail._Tail._Tail._Tail._Value,
- ", ", $e._Impl._Tail._Tail._Tail._Tail._Tail._Tail._Tail._Value,
- ")"
- )
- )
- children (
- #(
- [0] : $e._Impl._Value,
- [1] : $e._Impl._Tail._Value,
- [2] : $e._Impl._Tail._Tail._Value,
- [3] : $e._Impl._Tail._Tail._Tail._Value,
- [4] : $e._Impl._Tail._Tail._Tail._Tail._Value,
- [5] : $e._Impl._Tail._Tail._Tail._Tail._Tail._Value,
- [6] : $e._Impl._Tail._Tail._Tail._Tail._Tail._Tail._Value,
- [7] : $e._Impl._Tail._Tail._Tail._Tail._Tail._Tail._Tail._Value
- )
- )
- }
- std::tr1::tuple<*,*,*,*,*,*,*,*,*,std::tr1::_Nil>{
- preview (
- #(
- "(", $e._Impl._Value,
- ", ", $e._Impl._Tail._Value,
- ", ", $e._Impl._Tail._Tail._Value,
- ", ", $e._Impl._Tail._Tail._Tail._Value,
- ", ", $e._Impl._Tail._Tail._Tail._Tail._Value,
- ", ", $e._Impl._Tail._Tail._Tail._Tail._Tail._Value,
- ", ", $e._Impl._Tail._Tail._Tail._Tail._Tail._Tail._Value,
- ", ", $e._Impl._Tail._Tail._Tail._Tail._Tail._Tail._Tail._Value,
- ", ", $e._Impl._Tail._Tail._Tail._Tail._Tail._Tail._Tail._Tail._Value,
- ")"
- )
- )
- children (
- #(
- [0] : $e._Impl._Value,
- [1] : $e._Impl._Tail._Value,
- [2] : $e._Impl._Tail._Tail._Value,
- [3] : $e._Impl._Tail._Tail._Tail._Value,
- [4] : $e._Impl._Tail._Tail._Tail._Tail._Value,
- [5] : $e._Impl._Tail._Tail._Tail._Tail._Tail._Value,
- [6] : $e._Impl._Tail._Tail._Tail._Tail._Tail._Tail._Value,
- [7] : $e._Impl._Tail._Tail._Tail._Tail._Tail._Tail._Tail._Value,
- [8] : $e._Impl._Tail._Tail._Tail._Tail._Tail._Tail._Tail._Tail._Value
- )
- )
- }
- std::tr1::tuple<*,*,*,*,*,*,*,*,*,*>{
- preview (
- #(
- "(", $e._Impl._Value,
- ", ", $e._Impl._Tail._Value,
- ", ", $e._Impl._Tail._Tail._Value,
- ", ", $e._Impl._Tail._Tail._Tail._Value,
- ", ", $e._Impl._Tail._Tail._Tail._Tail._Value,
- ", ", $e._Impl._Tail._Tail._Tail._Tail._Tail._Value,
- ", ", $e._Impl._Tail._Tail._Tail._Tail._Tail._Tail._Value,
- ", ", $e._Impl._Tail._Tail._Tail._Tail._Tail._Tail._Tail._Value,
- ", ", $e._Impl._Tail._Tail._Tail._Tail._Tail._Tail._Tail._Tail._Value,
- ", ", $e._Impl._Tail._Tail._Tail._Tail._Tail._Tail._Tail._Tail._Tail._Value,
- ")"
- )
- )
- children (
- #(
- [0] : $e._Impl._Value,
- [1] : $e._Impl._Tail._Value,
- [2] : $e._Impl._Tail._Tail._Value,
- [3] : $e._Impl._Tail._Tail._Tail._Value,
- [4] : $e._Impl._Tail._Tail._Tail._Tail._Value,
- [5] : $e._Impl._Tail._Tail._Tail._Tail._Tail._Value,
- [6] : $e._Impl._Tail._Tail._Tail._Tail._Tail._Tail._Value,
- [7] : $e._Impl._Tail._Tail._Tail._Tail._Tail._Tail._Tail._Value,
- [8] : $e._Impl._Tail._Tail._Tail._Tail._Tail._Tail._Tail._Tail._Value,
- [9] : $e._Impl._Tail._Tail._Tail._Tail._Tail._Tail._Tail._Tail._Tail._Value
- )
- )
- }
- ;------------------------------------------------------------------------------
- ; std::tr1::array from <array>
- ;------------------------------------------------------------------------------
- std::tr1::array<*>{
- preview (
- ; An actual array is previewed with its address.
- ; array<T, N> is previewed like vector<T>.
- #(
- "[",
- $e._EEN_SIZE,
- "](",
- #array(expr: $e._Elems[$i], size: $e._EEN_SIZE),
- ")"
- )
- )
- children (
- ; Just like an actual array.
- #array(expr: $e._Elems[$i], size: $e._EEN_SIZE)
- )
- }
- std::_Array_iterator<*>|std::_Array_const_iterator<*>{
- preview (
- #if ($e._EEN_IDL == 0) (
- *$e._Ptr
- ) #else (
- #if ($e._Idx == $e._EEN_SIZE) (
- ; array iterators are represented by _Ptr + _Idx,
- ; and they know how large their parent arrays are. Therefore, detecting
- ; end iterators is trivial.
- "end"
- ) #else (
- ; Like vector iterators, array iterators are previewed with what they point to.
- $e._Ptr[$e._Idx]
- )
- )
- )
- children (
- #if ($e._EEN_IDL == 0) (
- #([ptr] : $e._Ptr)
- ) #else (
- #if ($e._Idx == $e._EEN_SIZE) (
- ; We make end iterators appear to have no children.
- #array(expr: 0, size: 0)
- ) #else (
- ; An array iterator is conceptually a pointer, so we make it appear to store one.
- #([ptr] : $e._Ptr + $e._Idx)
- )
- )
- )
- }
- ;------------------------------------------------------------------------------
- ; stdext::hash_map from <hash_map>
- ; stdext::hash_multimap from <hash_map>
- ; stdext::hash_set from <hash_set>
- ; stdext::hash_multiset from <hash_set>
- ;------------------------------------------------------------------------------
- stdext::hash_map<*>|stdext::hash_multimap<*>|stdext::hash_set<*>|stdext::hash_multiset<*>{
- preview (
- #(
- "[",
- $e._List._Mysize,
- "](",
- #list(
- head: $e._List._Myhead->_Next,
- size: $e._List._Mysize,
- next: _Next
- ) : $e._Myval,
- ")"
- )
- )
- children (
- #list(
- head: $e._List._Myhead->_Next,
- size: $e._List._Mysize,
- next: _Next
- ) : $e._Myval
- )
- }
- ;------------------------------------------------------------------------------
- ; std::tr1::unordered_map from <unordered_map>
- ; std::tr1::unordered_multimap from <unordered_map>
- ; std::tr1::unordered_set from <unordered_set>
- ; std::tr1::unordered_multiset from <unordered_set>
- ;------------------------------------------------------------------------------
- std::hash<*>{
- preview ( "hash" )
- children ( #array(expr: 0, size: 0) )
- }
- std::tr1::unordered_map<*>|std::tr1::unordered_multimap<*>|std::tr1::unordered_set<*>|std::tr1::unordered_multiset<*>{
- preview (
- #(
- "[",
- $e._List._Mysize,
- "](",
- #list(
- head: $e._List._Myhead->_Next,
- size: $e._List._Mysize,
- next: _Next
- ) : $e._Myval,
- ")"
- )
- )
- children (
- #(
- #([hash] : $e.comp._Hashobj),
- #([equal] : $e.comp._Keyeqobj),
- #list(
- head: $e._List._Myhead->_Next,
- size: $e._List._Mysize,
- next: _Next
- ) : $e._Myval
- )
- )
- }
- ;------------------------------------------------------------------------------
- ; std::tr1::basic_regex from <regex>
- ;------------------------------------------------------------------------------
- std::tr1::basic_regex<*>{
- preview (
- #if ($e._Rep == 0) (
- ; Default construction creates an empty basic_regex.
- "empty"
- ) #elif ($e._EEN_VIS == 1) (
- ; By default, _ENHANCED_REGEX_VISUALIZER is defined to be 1 in debug and 0 in ship.
- ; When it is 1, basic_regex stores the string from which it was constructed.
- ; When it is 0, basic_regex stores only the resulting finite state machine.
- $e._Visualization
- ) #else (
- ; basic_regex contains many static const flags, which would be shown in the preview by default.
- ; Its actual members are _Rep and _Traits. _Rep holds the finite state machine, so we
- ; use it to preview basic_regex. (It does contain some human-readable information.)
- *$e._Rep
- )
- )
- children (
- #if ($e._Rep == 0) (
- ; We make empty basic_regexes appear to have no children.
- #array(expr: 0, size: 0)
- ) #elif ($e._EEN_VIS == 1) (
- ; We want to hide those static const flags.
- ; We also want to give _Visualization a fake name.
- #(
- #([str] : $e._Visualization),
- #(_Rep : $e._Rep),
- #(_Traits : $e._Traits)
- )
- ) #else (
- ; We want to hide those static const flags.
- #(
- _Rep : $e._Rep,
- _Traits : $e._Traits
- )
- )
- )
- }
- ;------------------------------------------------------------------------------
- ; std::tr1::sub_match from <regex>
- ;------------------------------------------------------------------------------
- std::tr1::sub_match<char const *>|std::tr1::sub_match<wchar_t const *>|std::tr1::sub_match<unsigned short const *>|std::tr1::sub_match<char *>|std::tr1::sub_match<wchar_t *>|std::tr1::sub_match<unsigned short *>{
- preview (
- ; It would be nice if we could preview sub_match with its str().
- ; However, visualizers cannot handle strings represented by pointer pairs.
- ; Therefore, our preview contains more limited information.
- #if ($e.matched) (
- ; If this sub_match participated in a match,
- ; we preview it with its length().
- $e.second - $e.first
- ) #else (
- ; Otherwise, we preview it with its matched bool (i.e. "false").
- ; (Why not length() (i.e. "0")? It's meaningful to have
- ; matched == true and length() == 0.
- "false"
- )
- )
- children (
- #(
- ; sub_match's three data members are public, but we list them here
- ; (a) to display matched before first and second, and
- ; (b) to gloss over the fact that sub_match derives from std::pair.
- #(matched : $e.matched),
- #(first : $e.first),
- #(second : $e.second)
- )
- )
- }
- std::tr1::sub_match<std::_String_const_iterator<*> >|std::tr1::sub_match<std::_String_iterator<*> >{
- preview (
- #if ($e.matched) (
- ; We visualize ssub_match and wssub_match just like csub_match and wcsub_match,
- ; except that when determining the length(), we can't subtract iterators.
- ; We have to subtract their stored pointers.
- $e.second._Ptr - $e.first._Ptr
- ) #else (
- "false"
- )
- )
- children (
- #(
- #(matched : $e.matched),
- #(first : $e.first),
- #(second : $e.second)
- )
- )
- }
- ;------------------------------------------------------------------------------
- ; std::tr1::match_results from <regex>
- ;------------------------------------------------------------------------------
- std::tr1::match_results<*>{
- preview (
- ; A match_results object is empty iff its vector _Matches is empty.
- #if ($e._Matches._Myfirst == $e._Matches._Mylast) (
- "empty"
- ) #else (
- ; We preview a non-empty match_results object with its vector.
- $e._Matches
- )
- )
- children (
- #if ($e._Matches._Myfirst == $e._Matches._Mylast) (
- ; We make empty match_results appear to have no children.
- #array(expr: 0, size: 0)
- ) #else (
- ; As match_results has operator[](), prefix(), and suffix() member functions,
- ; we make it appear to directly contain [0], [1], [2], etc. elements,
- ; as well as [prefix] and [suffix] elements.
- #(
- #array(expr: $e._Matches._Myfirst[$i], size: $e._Matches._Mylast - $e._Matches._Myfirst),
- #([prefix] : $e._Prefix),
- #([suffix] : $e._Suffix)
- )
- )
- )
- }
- ;------------------------------------------------------------------------------
- ; std::tr1::regex_iterator from <regex>
- ;------------------------------------------------------------------------------
- std::tr1::regex_iterator<*>{
- preview (
- #if ($e._MyRe == 0) (
- ; We represent end-of-sequence regex_iterators with null regex pointers.
- "end"
- ) #else (
- ; Dereferenceable regex_iterators return match_results when dereferenced,
- ; so we'll preview them with that.
- $e._MyVal
- )
- )
- children (
- #if ($e._MyRe == 0) (
- ; We make end-of-sequence regex_iterators appear to have no children.
- #array(expr: 0, size: 0)
- ) #else (
- ; For ease of understanding, we make dereferenceable regex_iterators
- ; appear to have data members with the "for exposition only" names from TR1.
- #(
- #([begin] : $e._Begin),
- #([end] : $e._End),
- #([pregex] : $e._MyRe),
- #([flags] : $e._Flags),
- #([match] : $e._MyVal)
- )
- )
- )
- }
- ;------------------------------------------------------------------------------
- ; std::tr1::regex_token_iterator from <regex>
- ;------------------------------------------------------------------------------
- std::tr1::regex_token_iterator<*>{
- preview (
- #if ($e._Res == 0) (
- ; We represent end-of-sequence regex_token_iterators with null result pointers.
- "end"
- ) #else (
- ; Dereferenceable regex_token_iterators return *result when dereferenced,
- ; so we'll preview them with that.
- *$e._Res
- )
- )
- children (
- #if ($e._Res == 0) (
- ; We make end-of-sequence regex_token_iterators appear to have no children.
- #array(expr: 0, size: 0)
- ) #else (
- ; For ease of understanding, we make dereferenceable regex_token_iterators
- ; appear to have data members with the "for exposition only" names from TR1.
- #(
- #([position] : $e._Pos),
- #([result] : $e._Res),
- #([suffix] : $e._Suffix),
- #([N] : $e._Cur),
- #([subs] : $e._Subs)
- )
- )
- )
- }
- ;------------------------------------------------------------------------------
- ; std::identity, etc. from <functional>
- ;------------------------------------------------------------------------------
- std::identity<*>{
- preview ( "identity" )
- children ( #array(expr: 0, size: 0) )
- }
- std::bit_and<*>{
- preview ( "bit_and" )
- children ( #array(expr: 0, size: 0) )
- }
- std::bit_or<*>{
- preview ( "bit_or" )
- children ( #array(expr: 0, size: 0) )
- }
- std::bit_xor<*>{
- preview ( "bit_xor" )
- children ( #array(expr: 0, size: 0) )
- }
- ;------------------------------------------------------------------------------
- ; std::unique_ptr from <memory>
- ;------------------------------------------------------------------------------
- std::unique_ptr<*>{
- preview (
- #if ($e._Myptr == 0) (
- "empty"
- ) #else (
- #(
- "unique_ptr ",
- *$e._Myptr
- )
- )
- )
- children (
- #if ($e._Myptr == 0) (
- #array(expr: 0, size: 0)
- ) #else (
- #([ptr] : $e._Myptr)
- )
- )
- }
- ;------------------------------------------------------------------------------
- ; std::forward_list from <forward_list>
- ;------------------------------------------------------------------------------
- std::forward_list<*>{
- preview (
- #(
- "(",
- #list(
- head: $e._Myhead,
- next: _Next
- ) : $e._Myval,
- ")"
- )
- )
- children (
- #list(
- head: $e._Myhead,
- next: _Next
- ) : $e._Myval
- )
- }
- std::_Flist_iterator<*>|std::_Flist_const_iterator<*>{
- preview (
- #if ($e._Ptr == 0) (
- "end"
- ) #else (
- $e._Ptr->_Myval
- )
- )
- children (
- #if ($e._Ptr == 0) (
- #array(expr: 0, size: 0)
- ) #else (
- #([ptr] : &$e._Ptr->_Myval)
- )
- )
- }
- ;------------------------------------------------------------------------------
- ; PROPVARIANT
- ;------------------------------------------------------------------------------
- ; Visualizers for VT_VECTOR C arrays
- tagCAC|tagCAUB|tagCAI|tagCAUI|tagCAL|tagCAUL|tagCAFLT|tagCADBL|tagCACY|tagCADATE|tagCABSTR|tagCABSTRBLOB|tagCABOOL|tagCASCODE|tagCAPROPVARIANT|tagCAH|tagCAUH|tagCALPSTR|tagCALPWSTR|tagCAFILETIME|tagCACLIPDATA|tagCACLSID{
- preview(
- #(
- "[", $e.cElems , "](",
- #array
- (
- expr : ($e.pElems)[$i],
- size : $e.cElems
- ),
- ")"
- )
- )
- children
- (
- #array
- (
- expr : ($e.pElems)[$i],
- size : $e.cElems
- )
- )
- }
- ; Visualizers for SAFE ARRAY
- tagSAFEARRAY|SAFEARRAY{
- preview(
- #if ($e.fFeatures & 0x0080) ; FADF_HAVEVARTYPE
- (
- ; Switch on the variant type field - which is stored 4 bytes
- ; before the beginning of the SAFEARRAY type
- #switch( ((unsigned *)&($e))[-1] )
- #case 0x2 ; VT_I2 | VT_ARRAY
- (
- #(
- "safearray of I2 = [",
- ; output the rank array
- #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
- "](",
- ; output the data elements
- #array(
- expr: ((signed short *)$e.pvData)[$i],
- size: $e.rgsabound[$r].cElements,
- rank: $e.cDims,
- base: $e.rgsabound[$r].lLbound
- ),
- ")"
- )
- )
- #case 0x3 ; VT_I4 | VT_ARRAY
- (
- #(
- "safearray of I4 = [",
- ; output the rank array
- #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
- "](",
- ; output the data elements
- #array(
- expr: ((signed int *)$e.pvData)[$i],
- size: $e.rgsabound[$r].cElements,
- rank: $e.cDims,
- base: $e.rgsabound[$r].lLbound
- ),
- ")"
- )
- )
- #case 0x4 ; VT_R4 | VT_ARRAY
- (
- #(
- "safearray of R4 = [",
- ; output the rank array
- #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
- "](",
- ; output the data elements
- #array(
- expr: ((float *)$e.pvData)[$i],
- size: $e.rgsabound[$r].cElements,
- rank: $e.cDims,
- base: $e.rgsabound[$r].lLbound
- ),
- ")"
- )
- )
- #case 0x5 ; VT_R8 | VT_ARRAY
- (
- #(
- "safearray of R8 = [",
- ; output the rank array
- #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
- "](",
- ; output the data elements
- #array(
- expr: ((double *)$e.pvData)[$i],
- size: $e.rgsabound[$r].cElements,
- rank: $e.cDims,
- base: $e.rgsabound[$r].lLbound
- ),
- ")"
- )
- )
- #case 0x6 ; VT_CY | VT_ARRAY
- (
- #(
- "safearray of CY = [",
- ; output the rank array
- #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
- "](",
- ; output the data elements
- #array(
- expr: ((CY *)$e.pvData)[$i],
- size: $e.rgsabound[$r].cElements,
- rank: $e.cDims,
- base: $e.rgsabound[$r].lLbound
- ),
- ")"
- )
- )
- #case 0x7 ; VT_DATE | VT_ARRAY
- (
- #(
- "safearray of DATE = [",
- ; output the rank array
- #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
- "](",
- ; output the data elements
- #array(
- expr: ((DATE *)$e.pvData)[$i],
- size: $e.rgsabound[$r].cElements,
- rank: $e.cDims,
- base: $e.rgsabound[$r].lLbound
- ),
- ")"
- )
- )
- #case 0x8 ; VT_BSTR | VT_ARRAY
- (
- #(
- "safearray of BSTR = [",
- ; output the rank array
- #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
- "](",
- ; output the data elements
- #array(
- expr: ((wchar_t **)$e.pvData)[$i],
- size: $e.rgsabound[$r].cElements,
- rank: $e.cDims,
- base: $e.rgsabound[$r].lLbound
- ),
- ")"
- )
- )
- #case 0xa ; VT_ERROR | VT_ARRAY
- (
- #(
- "safearray of ERROR = [",
- ; output the rank array
- #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
- "](",
- ; output the data elements
- #array(
- expr: ((long *)$e.pvData)[$i],
- size: $e.rgsabound[$r].cElements,
- rank: $e.cDims,
- base: $e.rgsabound[$r].lLbound
- ),
- ")"
- )
- )
- #case 0xb ; VT_BOOL | VT_ARRAY
- (
- #(
- "safearray of BOOL = [",
- ; output the rank array
- #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
- "](",
- ; output the data elements
- #array(
- expr: ((short *)$e.pvData)[$i],
- size: $e.rgsabound[$r].cElements,
- rank: $e.cDims,
- base: $e.rgsabound[$r].lLbound
- ),
- ")"
- )
- )
- #case 0xc ; VT_VARIANT | VT_ARRAY
- (
- #(
- "safearray of VARIANT = [",
- ; output the rank array
- #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
- "](",
- ; output the data elements
- #array(
- expr: ((tagVARIANT *)$e.pvData)[$i],
- size: $e.rgsabound[$r].cElements,
- rank: $e.cDims,
- base: $e.rgsabound[$r].lLbound
- ),
- ")"
- )
- )
- #case 0x10 ; VT_I1 | VT_ARRAY
- (
- #(
- "safearray of I1 = [",
- ; output the rank array
- #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
- "](",
- ; output the data elements
- #array(
- expr: ((signed char *)$e.pvData)[$i],
- size: $e.rgsabound[$r].cElements,
- rank: $e.cDims,
- base: $e.rgsabound[$r].lLbound
- ),
- ")"
- )
- )
- #case 0x11 ; VT_UI1 | VT_ARRAY
- (
- #(
- "safearray of UI1 = [",
- ; output the rank array
- #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
- "](",
- ; output the data elements
- #array(
- expr: ((unsigned char *)$e.pvData)[$i],
- size: $e.rgsabound[$r].cElements,
- rank: $e.cDims,
- base: $e.rgsabound[$r].lLbound
- ),
- ")"
- )
- )
- #case 0x12 ; VT_UI2 | VT_ARRAY
- (
- #(
- "safearray of UI2 = [",
- ; output the rank array
- #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
- "](",
- ; output the data elements
- #array(
- expr: ((unsigned short *)$e.pvData)[$i],
- size: $e.rgsabound[$r].cElements,
- rank: $e.cDims,
- base: $e.rgsabound[$r].lLbound
- ),
- ")"
- )
- )
- #case 0x13 ; VT_UI4 | VT_ARRAY
- (
- #(
- "safearray of UI4 = [",
- ; output the rank array
- #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
- "](",
- ; output the data elements
- #array(
- expr: ((unsigned int *)$e.pvData)[$i],
- size: $e.rgsabound[$r].cElements,
- rank: $e.cDims,
- base: $e.rgsabound[$r].lLbound
- ),
- ")"
- )
- )
- #case 0x14 ; VT_I8 | VT_ARRAY
- (
- #(
- "safearray of I8 = [",
- ; output the rank array
- #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
- "](",
- ; output the data elements
- #array(
- expr: ((signed __int64 *)$e.pvData)[$i],
- size: $e.rgsabound[$r].cElements,
- rank: $e.cDims,
- base: $e.rgsabound[$r].lLbound
- ),
- ")"
- )
- )
- #case 0x15 ; VT_UI8 | VT_ARRAY
- (
- #(
- "safearray of UI8 = [",
- ; output the rank array
- #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
- "](",
- ; output the data elements
- #array(
- expr: ((unsigned __int64 *)$e.pvData)[$i],
- size: $e.rgsabound[$r].cElements,
- rank: $e.cDims,
- base: $e.rgsabound[$r].lLbound
- ),
- ")"
- )
- )
- #case 0x16 ; VT_INT | VT_ARRAY
- (
- #(
- "safearray of INT = [",
- ; output the rank array
- #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
- "](",
- ; output the data elements
- #array(
- expr: ((int *)$e.pvData)[$i],
- size: $e.rgsabound[$r].cElements,
- rank: $e.cDims,
- base: $e.rgsabound[$r].lLbound
- ),
- ")"
- )
- )
- #case 0x17 ; VT_UINT | VT_ARRAY
- (
- #(
- "safearray of UINT = [",
- ; output the rank array
- #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
- "](",
- ; output the data elements
- #array(
- expr: ((unsigned *)$e.pvData)[$i],
- size: $e.rgsabound[$r].cElements,
- rank: $e.cDims,
- base: $e.rgsabound[$r].lLbound
- ),
- ")"
- )
- )
- #case 0x1e ; VT_LPSTR | VT_ARRAY
- (
- #(
- "safearray of LPSTR = [",
- ; output the rank array
- #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
- "](",
- ; output the data elements
- #array(
- expr: ((char **)$e.pvData)[$i],
- size: $e.rgsabound[$r].cElements,
- rank: $e.cDims,
- base: $e.rgsabound[$r].lLbound
- ),
- ")"
- )
- )
- #case 0x1f ; VT_LPWSTR | VT_ARRAY
- (
- #(
- "safearray of LPWSTR = [",
- ; output the rank array
- #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
- "](",
- ; output the data elements
- #array(
- expr: ((wchar_t **)$e.pvData)[$i],
- size: $e.rgsabound[$r].cElements,
- rank: $e.cDims,
- base: $e.rgsabound[$r].lLbound
- ),
- ")"
- )
- )
- #case 0x40 ; VT_FILETIME | VT_ARRAY
- (
- #(
- "safearray of FILETIME = [",
- ; output the rank array
- #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
- "](",
- ; output the data elements
- #array(
- expr: ((FILETIME *)$e.pvData)[$i],
- size: $e.rgsabound[$r].cElements,
- rank: $e.cDims,
- base: $e.rgsabound[$r].lLbound
- ),
- ")"
- )
- )
- #case 0x47 ; VT_CLIPDATA | VT_ARRAY
- (
- #(
- "safearray of CLIPDATA = [",
- ; output the rank array
- #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
- "](",
- ; output the data elements
- #array(
- expr: ((CLIPDATA *)$e.pvData)[$i],
- size: $e.rgsabound[$r].cElements,
- rank: $e.cDims,
- base: $e.rgsabound[$r].lLbound
- ),
- ")"
- )
- )
- #case 0x48 ; VT_CLSID | VT_ARRAY
- (
- #(
- "safearray of CLSID = [",
- ; output the rank array
- #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
- "](",
- ; output the data elements
- #array(
- expr: ((CLSID *)$e.pvData)[$i],
- size: $e.rgsabound[$r].cElements,
- rank: $e.cDims,
- base: $e.rgsabound[$r].lLbound
- ),
- ")"
- )
- )
- )
- #elif ($e.fFeatures & 0x0100) ; FADF_BSTR
- (
- #("safearray of BSTR = ",#array(expr: $e.rgsabound[$i].cElements, size: $e.cDims) : #("[",$e,"]"), "(", #array(expr: ((wchar_t * *)$e.pvData)[$i], size: $e.rgsabound[$r].cElements, rank: $e.cDims, base: $e.rgsabound[$r].lLbound ), ")")
- )
- #elif ($e.fFeatures & 0x0200) ; FADF_UNKNOWN
- (
- #("safearray of IUnknown* = [",#array(expr: $e.rgsabound[$i].cElements, size: $e.cDims), "](", #array(expr: ((IUnknown * *)$e.pvData)[$i], size: $e.rgsabound[$r].cElements, rank: $e.cDims, base: $e.rgsabound[$r].lLbound ), ")")
- )
- #elif ($e.fFeatures & 0x0400) ; FADF_DISPATCH
- (
- #("safearray of IDispatch* = [",#array(expr: $e.rgsabound[$i].cElements, size: $e.cDims), "](", #array(expr: ((IDispatch * *)$e.pvData)[$i], size: $e.rgsabound[$r].cElements, rank: $e.cDims, base: $e.rgsabound[$r].lLbound ), ")")
- )
- #elif ($e.fFeatures & 0x0800) ; FADF_VARIANT
- (
- #("safearray of VARIANT = ",#array(expr: $e.rgsabound[$i].cElements, size: $e.cDims) : #("[",$e,"]"), "(", #array(expr: ((tagVARIANT *)$e.pvData)[$i], size: $e.rgsabound[$r].cElements, rank: $e.cDims, base: $e.rgsabound[$r].lLbound ), ")")
- )
- )
- children
- (
- #( ;[actual members]: [$e,!],
- #if ($e.fFeatures & 0x0080) ; FADF_HAVEVARTYPE
- (
- #switch( ((unsigned *)&($e))[-1] ) ; for some reason the VT field is before the SAFEARRAY struct
- #case 2 ; VT_I2|VT_ARRAY
- (
- #array(
- expr: ((signed short *)$e.pvData)[$i],
- size: $e.rgsabound[$r].cElements,
- rank: $e.cDims,
- base: $e.rgsabound[$r].lLbound
- )
- )
- #case 3 ; VT_I4|VT_ARRAY
- (
- #array(
- expr: ((signed int *)$e.pvData)[$i],
- size: $e.rgsabound[$r].cElements,
- rank: $e.cDims,
- base: $e.rgsabound[$r].lLbound
- )
- )
- #case 4 ; VT_R4|VT_ARRAY
- (
- #array(
- expr: ((float *)$e.pvData)[$i],
- size: $e.rgsabound[$r].cElements,
- rank: $e.cDims,
- base: $e.rgsabound[$r].lLbound
- )
- )
- #case 5 ; VT_R8|VT_ARRAY
- (
- #array(
- expr: ((double *)$e.pvData)[$i],
- size: $e.rgsabound[$r].cElements,
- rank: $e.cDims,
- base: $e.rgsabound[$r].lLbound
- )
- )
- #case 0x10 ; VT_I1|VT_ARRAY
- (
- #array(
- expr: ((signed char *)$e.pvData)[$i],
- size: $e.rgsabound[$r].cElements,
- rank: $e.cDims,
- base: $e.rgsabound[$r].lLbound
- )
- )
- #case 0x11 ; VT_UI1|VT_ARRAY
- (
- #array(
- expr: ((unsigned char *)$e.pvData)[$i],
- size: $e.rgsabound[$r].cElements,
- rank: $e.cDims,
- base: $e.rgsabound[$r].lLbound
- )
- )
- #case 0x12 ; VT_UI2|VT_ARRAY
- (
- #array(
- expr: ((unsigned short *)$e.pvData)[$i],
- size: $e.rgsabound[$r].cElements,
- rank: $e.cDims,
- base: $e.rgsabound[$r].lLbound
- )
- )
- #case 0x13 ; VT_UI4|VT_ARRAY
- (
- #array(
- expr: ((unsigned int *)$e.pvData)[$i],
- size: $e.rgsabound[$r].cElements,
- rank: $e.cDims,
- base: $e.rgsabound[$r].lLbound
- )
- )
- #case 0x14 ; VT_I8|VT_ARRAY
- (
- #array(
- expr: ((signed __int64 *)$e.pvData)[$i],
- size: $e.rgsabound[$r].cElements,
- rank: $e.cDims,
- base: $e.rgsabound[$r].lLbound
- )
- )
- #case 0x15 ; VT_UI8|VT_ARRAY
- (
- #array(
- expr: ((unsigned __int64 *)$e.pvData)[$i],
- size: $e.rgsabound[$r].cElements,
- rank: $e.cDims,
- base: $e.rgsabound[$r].lLbound
- )
- )
- #case 0x1e ; VT_LPSTR|VT_ARRAY
- (
- #array(
- expr: ((char * *)$e.pvData)[$i],
- size: $e.rgsabound[$r].cElements,
- rank: $e.cDims,
- base: $e.rgsabound[$r].lLbound
- )
- )
- #case 0x1f ; VT_LPWSTR|VT_ARRAY
- (
- #array(
- expr: ((wchar_t **)$e.pvData)[$i],
- size: $e.rgsabound[$r].cElements,
- rank: $e.cDims,
- base: $e.rgsabound[$r].lLbound
- )
- )
- #case 0xc ; VT_VARIANT|VT_ARRAY
- (
- #array(
- expr: ((tagVARIANT *)$e.pvData)[$i],
- size: $e.rgsabound[$r].cElements,
- rank: $e.cDims,
- base: $e.rgsabound[$r].lLbound
- )
- )
- #case 0xb ; VT_BOOL|VT_ARRAY
- (
- #array(
- expr: ((short *)$e.pvData)[$i],
- size: $e.rgsabound[$r].cElements,
- rank: $e.cDims,
- base: $e.rgsabound[$r].lLbound
- )
- )
- #case 0xa ; VT_ERROR|VT_ARRAY
- (
- #array(
- expr: ((long *)$e.pvData)[$i],
- size: $e.rgsabound[$r].cElements,
- rank: $e.cDims,
- base: $e.rgsabound[$r].lLbound
- )
- )
- #case 6 ; VT_CY|VT_ARRAY
- (
- #array(
- expr: ((CY *)$e.pvData)[$i],
- size: $e.rgsabound[$r].cElements,
- rank: $e.cDims,
- base: $e.rgsabound[$r].lLbound
- )
- )
- #case 7 ; VT_DATE|VT_ARRAY
- (
- #array(
- expr: ((DATE *)$e.pvData)[$i],
- size: $e.rgsabound[$r].cElements,
- rank: $e.cDims,
- base: $e.rgsabound[$r].lLbound
- )
- )
- #case 0x40 ; VT_FILETIME|VT_ARRAY
- (
- #array(
- expr: ((FILETIME *)$e.pvData)[$i],
- size: $e.rgsabound[$r].cElements,
- rank: $e.cDims,
- base: $e.rgsabound[$r].lLbound
- )
- )
- #case 0x48 ; VT_CLSID|VT_ARRAY
- (
- #array(
- expr: ((CLSID *)$e.pvData)[$i],
- size: $e.rgsabound[$r].cElements,
- rank: $e.cDims,
- base: $e.rgsabound[$r].lLbound
- )
- )
- #case 0x47 ; VT_CF|VT_ARRAY
- (
- #array(
- expr: ((CLIPDATA *)$e.pvData)[$i],
- size: $e.rgsabound[$r].cElements,
- rank: $e.cDims,
- base: $e.rgsabound[$r].lLbound
- )
- )
- #case 8 ; VT_BSTR|VT_ARRAY
- (
- #array(
- expr: ((wchar_t * *)$e.pvData)[$i],
- size: $e.rgsabound[$r].cElements,
- rank: $e.cDims,
- base: $e.rgsabound[$r].lLbound
- )
- )
- #case 0x16 ; VT_INT|VT_ARRAY
- (
- #array(
- expr: ((int *)$e.pvData)[$i],
- size: $e.rgsabound[$r].cElements,
- rank: $e.cDims,
- base: $e.rgsabound[$r].lLbound
- )
- )
- #case 0x17 ; VT_UINT|VT_ARRAY
- (
- #array(
- expr: ((unsigned int*)$e.pvData)[$i],
- size: $e.rgsabound[$r].cElements,
- rank: $e.cDims,
- base: $e.rgsabound[$r].lLbound
- )
- )
- #default
- (
- #([actual members]: [$e,!])
- )
- #except
- (
- #([actual members]: [$e,!])
- )
- )
- #elif ($e.fFeatures & 0x0100) ; FADF_BSTR
- (
- #array(expr: ((wchar_t * *)$e.pvData)[$i], size: $e.rgsabound[$r].cElements, rank: $e.cDims, base: $e.rgsabound[$r].lLbound )
- )
- #elif ($e.fFeatures & 0x0200) ; FADF_UNKNOWN
- (
- #array(expr: ((IUnknown * *)$e.pvData)[$i], size: $e.rgsabound[$r].cElements, rank: $e.cDims, base: $e.rgsabound[$r].lLbound )
- )
- #elif ($e.fFeatures & 0x0400) ; FADF_DISPATCH
- (
- #array(expr: ((IDispatch * *)$e.pvData)[$i], size: $e.rgsabound[$r].cElements, rank: $e.cDims, base: $e.rgsabound[$r].lLbound )
- )
- #elif ($e.fFeatures & 0x0800) ; FADF_VARIANT
- (
- #array(expr: ((tagVARIANT *)$e.pvData)[$i], size: $e.rgsabound[$r].cElements, rank: $e.cDims, base: $e.rgsabound[$r].lLbound )
- )
- )
- )
- }
- tagPROPVARIANT|tagVARIANT|PROPVARIANT|VARIANT{
- preview(
- #switch ($e.vt)
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;; Base Types ;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- #case 0 ( #("Empty") ) ; VT_EMPTY
- #case 1 ( #("NULL") ) ; VT_NULL
- #case 2 ( #("I2 = ", $e.iVal) ) ; VT_I2
- #case 3 ( #("I4 = ", $e.lVal) ) ; VT_I4
- #case 4 ( #("R4 = ", $e.fltVal) ) ; VT_R4
- #case 5 ( #("R8 = ", $e.dblVal) ) ; VT_R8
- #case 6 ( #("CY = ", $e.cyVal) ) ; VT_CY
- #case 7 ( #("DATE = ", $e.date) ) ; VT_DATE
- #case 8 ( #("BSTR = ", $e.bstrVal) ) ; VT_BSTR
- #case 9 ( #("DISPATCH = ", $e.pdispVal) ) ; VT_DISPATCH
- #case 10 ( #("ERROR = ", $e.scode) ) ; VT_ERROR
- #case 0xB ( #("BOOL = ", $e.boolVal) ) ; VT_BOOL
- #case 0xC ( #("VARIANT ") ) ; VT_VARIANT
- #case 0xD ( #("UNKNOWN = ", $e.punkVal) ) ; VT_UNKOWN
- #case 0xE ( #("DECIMAL = ", $e.decVal) ) ; VT_DECIMAL
- #case 0x10 ( #("I1 = ", $e.cVal) ) ; VT_I1
- #case 0x11 ( #("UI1 = ", $e.bVal) ) ; VT_UI1
- #case 0x12 ( #("UI2 = ", $e.uiVal) ) ; VT_UI2
- #case 0x13 ( #("UI4 = ", $e.ulVal) ) ; VT_UI4
- #case 0x14 ( #("I8 = ", *(__int64*)&$e.dblVal) ) ; VT_I8
- #case 0x15 ( #("UI8 = ", *(unsigned __int64*)&$e.dblVal) ) ; VT_UI8
- #case 0x16 ( #("INT = ", $e.intVal) ) ; VT_INT
- #case 0x17 ( #("UINT = ", $e.uintVal) ) ; VT_UINT
- #case 0x18 ( #("VOID ") ) ; VT_VOID
- #case 0x19 ( #("HRESULT ") ) ; VT_HRESULT
- #case 0x1A ( #("PTR ") ) ; VT_PTR
- #case 0x1B ( #("SAFEARRAY ") ) ; VT_SAFEARRAY
- #case 0x1C ( #("CARRAY ") ) ; VT_CARRAY
- #case 0x1D ( #("USERDEFINED ") ) ; VT_USERDEFINED
- #case 0x1E ( #("LPSTR = ", $e.pszVal) ) ; VT_LPSTR
- #case 0x1F ( #("LPWSTR = ", $e.pwszVal) ) ; VT_LPWSTR
- #case 0x24 ( #("RECORD ") ) ; VT_RECORD
- #case 0x26 ( #("UINT_PTR ") ) ; VT_UINT_PTR
- #case 0x40 ( #("FILETIME = ", $e.filetime) ) ; VT_FILETIME
- #case 0x42 ( #("STREAM = ", $e.pStream) ) ; VT_STREAM
- #case 0x43 ( #("STORAGE = ", $e.pStorage) ) ; VT_STORAGE
- #case 0x44 ( #("STREAMED_OBJECT = ", $e.pStream) ) ; VT_STREAMED_OBJECT
- #case 0x45 ( #("STORED_OBJECT = ", $e.pStorage) ) ; VT_STORED_OBJECT
- #case 0x46 ( #("BLOB_OBJECT = ", $e.blob ) ) ; VT_BLOB_OBJECT
- #case 0x47 ( #("CF = ", $e.pclipdata) ) ; VT_CF
- #case 0x48 ( #("CLSID = ", $e.puuid) ) ; VT_CLSID
- #case 0x49 ( #("VERSIONED_STREAM = ", $e.pVersionedStream) ) ; VT_VERSIONED_STREAM
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;; Vector types ;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- #case 0x1002 ( #("vector of I2 = ", $e.cai) ) ; VT_I2|VT_VECTOR
- #case 0x1003 ( #("vector of I4 = ", $e.cal) ) ; VT_I4|VT_VECTOR
- #case 0x1004 ( #("vector of R4 = ", $e.caflt) ) ; VT_R4|VT_VECTOR
- #case 0x1005 ( #("vector of R8 = ", $e.cadbl) ) ; VT_R8|VT_VECTOR
- #case 0x1010 ( #("vector of I1 = ", $e.cac) ) ; VT_I1|VT_VECTOR
- #case 0x1011 ( #("vector of UI1 = ", $e.caub) ) ; VT_UI1|VT_VECTOR
- #case 0x1012 ( #("vector of UI2 = ", $e.caui) ) ; VT_UI2|VT_VECTOR
- #case 0x1013 ( #("vector of UI4 = ", $e.caul) ) ; VT_UI4|VT_VECTOR
- #case 0x1014 ( #("vector of I8 = ", $e.cah) ) ; VT_I8|VT_VECTOR
- #case 0x1015 ( #("vector of UI8 = ", $e.cauh) ) ; VT_UI8|VT_VECTOR
- #case 0x101E ( #("vector of LPSTR = ", $e.calpstr) ) ; VT_LPSTR|VT_VECTOR
- #case 0x101F ( #("vector of LPWSTR = ", $e.calpwstr) ) ; VT_LPWSTR|VT_VECTOR
- #case 0x100C ( #("vector of VARIANT ", $e.capropvar) ) ; VT_VARIANT|VT_VECTOR
- #case 0x100B ( #("vector of BOOL = ", $e.cabool) ) ; VT_BOOL|VT_VECTOR
- #case 0x100A ( #("vector of ERROR = ", $e.cascode) ) ; VT_ERROR|VT_VECTOR
- #case 0x1006 ( #("vector of CY = ", $e.cacy) ) ; VT_CY|VT_VECTOR
- #case 0x1007 ( #("vector of DATE = ", $e.cadate) ) ; VT_DATE|VT_VECTOR
- #case 0x1040 ( #("vector of FILETIME = ", $e.cafiletime) ) ; VT_FILETIME|VT_VECTOR
- #case 0x1048 ( #("vector of CLSID = ", $e.cauuid) ) ; VT_CLSID|VT_VECTOR
- #case 0x1047 ( #("vector of CF = ", $e.caclipdata) ) ; VT_CF|VT_VECTOR
- #case 0x1008 ( #("vector of BSTR = ", $e.cabstr) ) ; VT_BSTR|VT_VECTOR
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;; Byref Types ;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- #case 0x4016 ( #("byref of INT = ", $e.pintVal) ) ; VT_INT|VT_BYREF
- #case 0x4017 ( #("byref of UINT = ", $e.puintVal) ) ; VT_UINT|VT_BYREF
- #case 0x4002 ( #("byref of I2 = ", $e.piVal) ) ; VT_I2|VT_BYREF
- #case 0x4003 ( #("byref of I4 = ", $e.plVal) ) ; VT_I4|VT_BYREF
- #case 0x4004 ( #("byref of R4 = ", $e.pfltVal) ) ; VT_R4|VT_BYREF
- #case 0x4005 ( #("byref of R8 = ", $e.pdblVal) ) ; VT_R8|VT_BYREF
- #case 0x4010 ( #("byref of I1 = ", $e.pcVal) ) ; VT_I1|VT_BYREF
- #case 0x4011 ( #("byref of UI1 = ", $e.pbVal) ) ; VT_UI1|VT_BYREF
- #case 0x4012 ( #("byref of UI2 = ", $e.puiVal) ) ; VT_UI2|VT_BYREF
- #case 0x4013 ( #("byref of UI4 = ", $e.pulVal) ) ; VT_UI4|VT_BYREF
- #case 0x4014 ( #("byref of I8 = ", (__int64*)$e.pdblVal) ) ; VT_I8|VT_BYREF
- #case 0x4015 ( #("byref of UI8 = ", (unsigned __int64*)$e.pudblVal) ) ; VT_UI8|VT_BYREF
- #case 0x400C ( #("byref of VARIANT ", $e.pvarVal) ) ; VT_VARIANT|VT_BYREF
- #case 0x400B ( #("byref of BOOL = ", $e.pboolVal) ) ; VT_BOOL|VT_BYREF
- #case 0x400A ( #("byref of ERROR = ", $e.pscode) ) ; VT_ERROR|VT_BYREF
- #case 0x4006 ( #("byref of CY = ", $e.pcyVal) ) ; VT_CY|VT_BYREF
- #case 0x4007 ( #("byref of DATE = ", $e.pdate) ) ; VT_DATE|VT_BYREF
- #case 0x4008 ( #("byref of BSTR = ", $e.pbstrVal) ) ; VT_BSTR|VT_BYREF
- #case 0x400E ( #("byref of DECIMAL = ", $e.pdecVal) ) ; VT_DECIMAL|VT_BYREF
- #case 0x400D ( #("byref of UNKNOWN = ", $e.ppunkVal) ) ; VT_UNKOWN|VT_BYREF
- #case 0x4009 ( #("byref of DISPATCH = ", $e.ppdispVal) ) ; VT_DISPATCH|VT_BYREF
- #case 0x6000 ( #("byref of ARRAY = ", $e.pparray) ) ; VT_ARRAY|VT_BYREF
- #default
- (
- #if ($e.vt & 0x2000) ( $e.parray)
- #else ( #("Unknown vt type = ", $e.vt))
- )
- )
- children(
- #(
- vt: $e.vt,
- #switch ($e.vt)
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;; Base Types ;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- #case 0x2 ( #(I2 : $e.iVal) ) ; VT_I2
- #case 0x3 ( #(I4 : $e.lVal) ) ; VT_I4
- #case 0x4 ( #(R4 : $e.fltVal) ) ; VT_R4
- #case 0x5 ( #(R8 : $e.dblVal) ) ; VT_R8
- #case 0x6 ( #(CY : $e.cyVal) ) ; VT_CY
- #case 0x7 ( #(DATE : $e.date) ) ; VT_DATE
- #case 0x8 ( #(BSTR : $e.bstrVal) ) ; VT_BSTR
- #case 0x9 ( #(DISPATCH : $e.pdispVal) ) ; VT_DISPATCH
- #case 0xA ( #(ERROR : $e.scode) ) ; VT_ERROR
- #case 0xB ( #(BOOL : $e.boolVal) ) ; VT_BOOL
- #case 0xD ( #(UNKNOWN : $e.punkVal) ) ; VT_UNKOWN
- #case 0xE ( #(DECIMAL : $e.decVal) ) ; VT_DECIMAL
- #case 0x10 ( #(I1 : $e.cVal) ) ; VT_I1
- #case 0x11 ( #(UI1 : $e.bVal) ) ; VT_UI1
- #case 0x12 ( #(UI2 : $e.uiVal) ) ; VT_UI2
- #case 0x13 ( #(UI4 : $e.ulVal) ) ; VT_UI4
- #case 0x14 ( #(I8 : *(__int64*)&$e.dblVal) ) ; VT_I8
- #case 0x15 ( #(UI8 : *(unsigned __int64*)&$e.dblVal) ) ; VT_UI8
- #case 0x16 ( #(INT : $e.intVal) ) ; VT_INT
- #case 0x17 ( #(UINT : $e.uintVal) ) ; VT_UINT
- #case 0x1E ( #(LPSTR : $e.pszVal) ) ; VT_LPSTR
- #case 0x1F ( #(LPWSTR : $e.pwszVal) ) ; VT_LPWSTR
- #case 0x40 ( #(FILETIME : $e.filetime) ) ; VT_FILETIME
- #case 0x42 ( #(STREAM : $e.pStream) ) ; VT_STREAM
- #case 0x43 ( #(STORAGE : $e.pStorage) ) ; VT_STORAGE
- #case 0x44 ( #(STREAMED_OBJECT : $e.pStream) ) ; VT_STREAMED_OBJECT
- #case 0x45 ( #(STORED_OBJECT : $e.pStorage) ) ; VT_STORED_OBJECT
- #case 0x46 ( #(BLOB_OBJECT : $e.blob ) ) ; VT_BLOB_OBJECT
- #case 0x47 ( #(CF : $e.pclipdata) ) ; VT_CF
- #case 0x48 ( #(CLSID : $e.puuid) ) ; VT_CLSID
- #case 0x49 ( #(VERSIONED_STREAM : $e.pVersionedStream) ) ; VT_VERSIONED_STREAM
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;; Vector types ;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- #case 0x1002 ( #(vector of I2 : $e.cai) ) ; VT_I2|VT_VECTOR
- #case 0x1003 ( #(vector of I4 : $e.cal) ) ; VT_I4|VT_VECTOR
- #case 0x1004 ( #(vector of R4 : $e.caflt) ) ; VT_R4|VT_VECTOR
- #case 0x1005 ( #(vector of R8 : $e.cadbl) ) ; VT_R8|VT_VECTOR
- #case 0x1010 ( #(vector of I1 : $e.cac) ) ; VT_I1|VT_VECTOR
- #case 0x1011 ( #(vector of UI1 : $e.caub) ) ; VT_UI1|VT_VECTOR
- #case 0x1012 ( #(vector of UI2 : $e.caui) ) ; VT_UI2|VT_VECTOR
- #case 0x1013 ( #(vector of UI4 : $e.caul) ) ; VT_UI4|VT_VECTOR
- #case 0x1014 ( #(vector of I8 : $e.cah) ) ; VT_I8|VT_VECTOR
- #case 0x1015 ( #(vector of UI8 : $e.cauh) ) ; VT_UI8|VT_VECTOR
- #case 0x101E ( #(vector of LPSTR : $e.calpstr) ) ; VT_LPSTR|VT_VECTOR
- #case 0x101F ( #(vector of LPWSTR : $e.calpwstr) ) ; VT_LPWSTR|VT_VECTOR
- #case 0x100C ( #(vector of VARIANT : $e.capropvar) ) ; VT_VARIANT|VT_VECTOR
- #case 0x100B ( #(vector of BOOL : $e.cabool) ) ; VT_BOOL|VT_VECTOR
- #case 0x100A ( #(vector of ERROR : $e.cascode) ) ; VT_ERROR|VT_VECTOR
- #case 0x1006 ( #(vector of CY : $e.cacy) ) ; VT_CY|VT_VECTOR
- #case 0x1007 ( #(vector of DATE : $e.cadate) ) ; VT_DATE|VT_VECTOR
- #case 0x1040 ( #(vector of FILETIME : $e.cafiletime) ) ; VT_FILETIME|VT_VECTOR
- #case 0x1048 ( #(vector of CLSID : $e.cauuid) ) ; VT_CLSID|VT_VECTOR
- #case 0x1047 ( #(vector of CF : $e.caclipdata) ) ; VT_CF|VT_VECTOR
- #case 0x1008 ( #(vector of BSTR : $e.cabstr) ) ; VT_BSTR|VT_VECTOR
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;; Byref Types ;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- #case 0x4016 ( #(byref of INT : $e.pintVal) ) ; VT_INT|VT_BYREF
- #case 0x4017 ( #(byref of UINT : $e.puintVal) ) ; VT_UINT|VT_BYREF
- #case 0x4002 ( #(byref of I2 : $e.piVal) ) ; VT_I2|VT_BYREF
- #case 0x4003 ( #(byref of I4 : $e.plVal) ) ; VT_I4|VT_BYREF
- #case 0x4004 ( #(byref of R4 : $e.pfltVal) ) ; VT_R4|VT_BYREF
- #case 0x4005 ( #(byref of R8 : $e.pdblVal) ) ; VT_R8|VT_BYREF
- #case 0x4010 ( #(byref of I1 : $e.pcVal) ) ; VT_I1|VT_BYREF
- #case 0x4011 ( #(byref of UI1 : $e.pbVal) ) ; VT_UI1|VT_BYREF
- #case 0x4012 ( #(byref of UI2 : $e.puiVal) ) ; VT_UI2|VT_BYREF
- #case 0x4013 ( #(byref of UI4 : $e.pulVal) ) ; VT_UI4|VT_BYREF
- #case 0x4014 ( #(byref of I8 : (__int64*)$e.pdblVal) ) ; VT_I8|VT_BYREF
- #case 0x4015 ( #(byref of UI8 : (unsigned __int64*)$e.pdblVal) ) ; VT_UI8|VT_BYREF
- #case 0x400C ( #(byref of VARIANT : $e.pvarVal) ) ; VT_VARIANT|VT_BYREF
- #case 0x400B ( #(byref of BOOL : $e.pboolVal) ) ; VT_BOOL|VT_BYREF
- #case 0x400A ( #(byref of ERROR : $e.pscode) ) ; VT_ERROR|VT_BYREF
- #case 0x4006 ( #(byref of CY : $e.pcyVal) ) ; VT_CY|VT_BYREF
- #case 0x4007 ( #(byref of DATE : $e.pdate) ) ; VT_DATE|VT_BYREF
- #case 0x4008 ( #(byref of BSTR : $e.pbstrVal) ) ; VT_BSTR|VT_BYREF
- #case 0x400E ( #(byref of DECIMAL : $e.pdecVal) ) ; VT_DECIMAL|VT_BYREF
- #case 0x400D ( #(byref of UNKNOWN : $e.ppunkVal) ) ; VT_UNKOWN|VT_BYREF
- #case 0x4009 ( #(byref of DISPATCH : $e.ppdispVal) ) ; VT_DISPATCH|VT_BYREF
- #case 0x6000 ( #(byref of ARRAY : $e.pparray) ) ; VT_ARRAY|VT_BYREF
- ; the following are either empty or invalid vt values for a variant
- ; #case 0 ( #(Empty :) ) ; VT_EMPTY
- ; #case 0x1 ( #(NULL :) ) ; VT_NULL
- ; #case 0xC ( #(VARIANT :) ) ; VT_VARIANT
- ; #case 0x18 ( #(VOID :) ) ; VT_VOID
- ; #case 0x19 ( #(HRESULT :) ) ; VT_HRESULT
- ; #case 0x1A ( #(PTR :) ) ; VT_PTR
- ; #case 0x1B ( #(SAFEARRAY :) ) ; VT_SAFEARRAY
- ; #case 0x1C ( #(CARRAY :) ) ; VT_CARRAY
- ; #case 0x1D ( #(USERDEFINED :) ) ; VT_USERDEFINED
- ; #case 0x24 ( #(RECORD :) ) ; VT_RECORD
- ; #case 0x26 ( #(UINT_PTR :) ) ; VT_UINT_PTR
- #default
- (
- #if ($e.vt & 0x2000 )
- ( #(safearray: $e.parray))
- #else
- (
- #(
- [raw members]: [$e,!] ; unformatted data members
- )
- )
- )
- #except
- (
- #(
- [raw members]: [$e,!] ; unformatted data members
- )
- )
- )
- )
- }
- ; Visualizers for data structures in namespace Concurrency
- ;------------------------------------------------------------------------------
- ; Concurrency::message from <agents.h>
- ;------------------------------------------------------------------------------
- Concurrency::message<*>{
- preview (
- #(
- $e.payload
- )
- )
- children (
- #(
- #(payload: $e.payload),
- #([msg_id]: $e._M_id)
- )
- )
- }
- ;------------------------------------------------------------------------------
- ; Concurrency::multi_link_registry from <agents.h>
- ;------------------------------------------------------------------------------
- Concurrency::multi_link_registry<*>{
- preview (
- #(
- "[",
- $e._M_vector._M_index,
- "](",
- #array(
- expr: *($e._M_vector._M_array[$i]),
- size: $e._M_vector._M_index
- ),
- ")"
- )
- )
- children (
- #(
- #([size]: $e._M_vector._M_index),
- #array(
- expr: *($e._M_vector._M_array[$i]),
- size: $e._M_vector._M_index
- )
- )
- )
- }
- ;------------------------------------------------------------------------------
- ; Concurrency::details::_Queue from <agents.h>
- ;------------------------------------------------------------------------------
- Concurrency::details::_Queue<*>{
- preview (
- #(
- "[",
- $e._M_count,
- "](",
- #list(
- head: $e._M_pHead,
- next: _M_pNext,
- size: _M_count
- ),
- ")"
- )
- )
- children (
- #(
- #([size]: $e._M_count),
- #list(
- head: $e._M_pHead,
- next: _M_pNext,
- size: _M_count
- )
- )
- )
- }
- ;------------------------------------------------------------------------------
- ; Concurrency::unbounded_buffer from <agents.h>
- ;------------------------------------------------------------------------------
- Concurrency::unbounded_buffer<*>{
- preview (
- #(
- $e._M_messageBuffer
- )
- )
- children (
- #(
- #(unprocessed_messages: $e._M_messageProcessor._M_queuedMessages._M_queue),
- #(messages: $e._M_messageBuffer),
- #(message_filter: *($e._M_pFilter)),
- #(linked_sources: $e._M_connectedSources._M_links),
- #(linked_targets: $e._M_connectedTargets),
- #(reserving_target: *($e._M_pReservedFor)),
- #(Scheduler: *($e._M_messageProcessor._M_pScheduler)),
- #(ScheduleGroup: *($e._M_messageProcessor._M_pScheduleGroup))
- )
- )
- }
- ;------------------------------------------------------------------------------
- ; Concurrency::overwrite_buffer from <agents.h>
- ;------------------------------------------------------------------------------
- Concurrency::overwrite_buffer<*>{
- preview (
- #(
- $e._M_pMessage
- )
- )
- children (
- #(
- #(value: *($e._M_pMessage)),
- #(unprocessed_messages: $e._M_messageProcessor._M_queuedMessages._M_queue),
- #(message_filter: *($e._M_pFilter)),
- #(linked_sources: $e._M_connectedSources._M_links),
- #(linked_targets: $e._M_connectedTargets),
- #(reserving_target: *($e._M_pReservedFor)),
- #(reserved_message: *($e._M_pReservedMessage)),
- #(Scheduler: *($e._M_messageProcessor._M_pScheduler)),
- #(ScheduleGroup: *($e._M_messageProcessor._M_pScheduleGroup))
- )
- )
- }
- ;------------------------------------------------------------------------------
- ; Concurrency::single_assignment from <agents.h>
- ;------------------------------------------------------------------------------
- Concurrency::single_assignment<*>{
- preview (
- #(
- $e._M_pMessage
- )
- )
- children (
- #(
- #(value: *($e._M_pMessage)),
- #(unprocessed_messages: $e._M_messageProcessor._M_queuedMessages._M_queue),
- #(message_filter: *($e._M_pFilter)),
- #(linked_sources: $e._M_connectedSources._M_links),
- #(linked_targets: $e._M_connectedTargets),
- #(reserving_target: *($e._M_pReservedFor)),
- #(Scheduler: *($e._M_messageProcessor._M_pScheduler)),
- #(ScheduleGroup: *($e._M_messageProcessor._M_pScheduleGroup))
- )
- )
- }
- ;------------------------------------------------------------------------------
- ; Concurrency::call from <agents.h>
- ;------------------------------------------------------------------------------
- Concurrency::call<*>{
- preview (
- #(
- $e._M_pFunc
- )
- )
-
- children (
- #(
- #(call_method: $e._M_pFunc),
- #(unprocessed_messages: $e._M_messageProcessor._M_queuedMessages._M_queue),
- #(message_filter: *($e._M_pFilter)),
- #(linked_sources: $e._M_connectedSources._M_links),
- #(Scheduler: *($e._M_messageProcessor._M_pScheduler)),
- #(ScheduleGroup: *($e._M_messageProcessor._M_pScheduleGroup))
- )
- )
- }
- ;------------------------------------------------------------------------------
- ; Concurrency::transformer from <agents.h>
- ;------------------------------------------------------------------------------
- Concurrency::transformer<*>{
- preview (
- #(
- $e._M_pFunc
- )
- )
- children (
- #(
- #(transform_method: $e._M_pFunc),
- #(unprocessed_messages: $e._M_messageProcessor._M_queuedMessages._M_queue),
- #(messages: $e._M_messageBuffer),
- #(message_filter: *($e._M_pFilter)),
- #(linked_sources: $e._M_connectedSources._M_links),
- #(linked_target: *($e._M_connectedTargets._M_connectedLink)),
- #(reserving_target: *($e._M_pReservedFor)),
- #(Scheduler: *($e._M_messageProcessor._M_pScheduler)),
- #(ScheduleGroup: *($e._M_messageProcessor._M_pScheduleGroup))
- )
- )
- }
- ;------------------------------------------------------------------------------
- ; Concurrency::choice from <agents.h>
- ;------------------------------------------------------------------------------
- Concurrency::choice<*>{
- preview (
- #(
- "[",
- #if ($e._M_pSingleAssignment->_M_fIsInitialized) ("initialized")
- #else ("not_initialized"),
- "] ",
- $e._M_sourceTuple
- )
- )
-
- children (
- #(
- #([input_count]: $e._M_pSingleAssignment->_M_connectedSources._M_links._M_vector._M_index),
- #(index: $e._M_pSingleAssignment->_M_pMessage->payload),
- #(source_tuple: $e._M_sourceTuple),
- #(linked_sources: $e._M_pSingleAssignment->_M_connectedSources._M_links),
- #(linked_targets: $e._M_pSingleAssignment->_M_connectedTargets),
- #(reserving_target: *($e._M_pSingleAssignment->_M_pReservedFor)),
- #(Scheduler: *($e._M_pScheduler)),
- #(ScheduleGroup: *($e._M_pScheduleGroup)),
- #([raw _M_pSourceChoices] : $e._M_pSourceChoices)
- )
- )
- }
- ;------------------------------------------------------------------------------
- ; Concurrency::join<*,*>::_MessageArray from <agents.h>
- ;------------------------------------------------------------------------------
- Concurrency::join<*,*>::_MessageArray{
- preview (
- #(
- "[",
- $e._M_count,
- "](",
- #array(
- expr: *(((Concurrency::message<$T1>**)$e._M_messages)[$i]),
- size: $e._M_count
- ),
- ")"
- )
- )
-
- children (
- #(
- #([size]: $e._M_count),
- #array(
- expr: *(((Concurrency::message<$T1>**)$e._M_messages)[$i]),
- size: $e._M_count
- )
- )
- )
- }
- ;------------------------------------------------------------------------------
- ; Concurrency::join<*,*>::_SavedMessageIdArray from <agents.h>
- ;------------------------------------------------------------------------------
- Concurrency::join<*,*>::_SavedMessageIdArray{
- preview (
- #(
- "[",
- $e._M_count,
- "](",
- #array(
- expr: ((int*)$e._M_savedIds)[$i],
- size: $e._M_count
- ),
- ")"
- )
- )
-
- children (
- #(
- #([size]: $e._M_count),
- #array(
- expr: ((int*)$e._M_savedIds)[$i],
- size: $e._M_count
- )
- )
- )
- }
- ;------------------------------------------------------------------------------
- ; Concurrency::join from <agents.h>
- ;------------------------------------------------------------------------------
- Concurrency::join<*,*>{
- preview (
- #(
- "[",
- $e._M_messageArray._M_count - $e._M_messagesRemaining,
- "/",
- $e._M_messageArray._M_count,
- "](",
- #array(
- expr: *($e._M_connectedSources._M_links._M_vector._M_array[$i]),
- size: $e._M_connectedSources._M_links._M_vector._M_index
- ),
- ")"
- )
- )
-
- children (
- #(
- #([join_type]: (Concurrency::join_type)$T2),
- #([offer_count]: $e._M_messageArray._M_count - $e._M_messagesRemaining),
- #(offer_IDs: $e._M_savedMessageIdArray),
- #([input_count]: $e._M_messageArray._M_count),
- #(input_values: $e._M_messageArray),
- #(messages: $e._M_messageBuffer),
- #(message_filter: *($e._M_pFilter)),
- #(linked_sources: $e._M_connectedSources._M_links),
- #(linked_target: $e._M_connectedTargets._M_connectedLink),
- #(reserving_target: *($e._M_pReservedFor)),
- #(Scheduler: *($e._M_messageProcessor._M_pScheduler)),
- #(ScheduleGroup: *($e._M_messageProcessor._M_pScheduleGroup))
- )
- )
- }
- ;------------------------------------------------------------------------------
- ; Concurrency::multitype_join from <agents.h>
- ;------------------------------------------------------------------------------
- Concurrency::multitype_join<*,*>{
- preview (
- #(
- "[",
- $e._M_pJoinNode->_M_connectedSources._M_links._M_vector._M_index - $e._M_pJoinNode->_M_counter,
- "/",
- $e._M_pJoinNode->_M_connectedSources._M_links._M_vector._M_index,
- "]",
- $e._M_sourceTuple
- )
- )
-
- children (
- #(
- #([join_type]: (Concurrency::join_type)$T2),
- #([offer_count]: $e._M_pJoinNode->_M_connectedSources._M_links._M_vector._M_index - $e._M_pJoinNode->_M_counter),
- #([input_count]: $e._M_pJoinNode->_M_connectedSources._M_links._M_vector._M_index),
- #(source_tuple: $e._M_sourceTuple),
- #(messages: $e._M_pJoinNode->_M_messageBuffer),
- #(linked_sources: $e._M_pJoinNode->_M_connectedSources._M_links),
- #(linked_target: $e._M_pJoinNode->_M_connectedTargets._M_connectedLink),
- #(reserving_target: *($e._M_pJoinNode->_M_pReservedFor)),
- #(Scheduler: *($e._M_pJoinNode->_M_messageProcessor._M_pScheduler)),
- #(ScheduleGroup: *($e._M_pJoinNode->_M_messageProcessor._M_pScheduleGroup)),
- #([raw _M_pSourceJoins] : $e._M_pSourceJoins)
- )
- )
- }
- ;------------------------------------------------------------------------------
- ; Concurrency::timer from <agents.h>
- ;------------------------------------------------------------------------------
- Concurrency::timer<*>{
- preview (
- #(
- $e._M_state
- )
- )
-
- children (
- #(
- #(state: $e._M_state),
- #(value: $e._M_value),
- #(repeating: $e._M_fRepeating),
- #(interval_ms: $e._M_ms),
- #(linked_target: *($e._M_connectedTargets._M_connectedLink)),
- #(reserving_target: *($e._M_pReservedFor)),
- #(Scheduler: *($e._M_messageProcessor._M_pScheduler)),
- #(ScheduleGroup: *($e._M_messageProcessor._M_pScheduleGroup))
- )
- )
- }
- ;------------------------------------------------------------------------------
- ; Concurrency::details::SchedulerBase from <SchedulerBase.h>
- ; Concurrency::details::ThreadScheduler from <ThreadScheduler.h>
- ; Concurrency::details::UMSThreadScheduler from <UMSThreadScheduler.h>
- ;------------------------------------------------------------------------------
- Concurrency::details::SchedulerBase|Concurrency::details::ThreadScheduler|Concurrency::details::UMSThreadScheduler{
- preview (
- #(
- "[",
- $e.m_id,
- "] ",
- #if ($e.m_schedulerKind == 0) ("ThreadScheduler")
- #else ("UmsScheduler"),
- #if ($e.m_id == $e.s_pDefaultScheduler->m_id) (", default")
- #else ("")
- )
- )
- children (
- #(
- #(ID: $e.m_id),
- #(SchedulerPolicy: $e.m_policy),
- #(VirtualProcessorCount: $e.m_virtualProcessorCount),
- #(ReferenceCount: $e.m_refCount),
- #([isDefaultScheduler]: $e.m_id == $e.s_pDefaultScheduler->m_id)
- )
- )
- }
- ;------------------------------------------------------------------------------
- ; Concurrency::details::ScheduleGroupBase from <ScheduleGroupBase.h>
- ; Concurrency::details::CacheLocalScheduleGroup from <CacheLocalScheduleGroup.h>
- ; Concurrency::details::FairScheduleGroup from <FairScheduleGroup.h>
- ;------------------------------------------------------------------------------
- Concurrency::details::ScheduleGroupBase|Concurrency::details::CacheLocalScheduleGroup|Concurrency::details::FairScheduleGroup{
- preview (
- #(
- "[",
- $e.m_id,
- "]",
- #if ($e.m_kind & 4) (" AnonymousScheduleGroup")
- #else ("")
- )
- )
- children (
- #(
- #(ID: $e.m_id),
- #(Scheduler: *($e.m_pScheduler))
- )
- )
- }
- ;------------------------------------------------------------------------------
- ; Concurrency::details::ContextBase from <ContextBase.h>
- ; Concurrency::details::InternalContextBase from <InternalContextBase.h>
- ; Concurrency::details::ThreadInternalContext from <ThreadInternalContext.h>
- ; Concurrency::details::UMSThreadInternalContext from <UMSThreadInternalContext.h>
- ;------------------------------------------------------------------------------
- Concurrency::details::ContextBase|Concurrency::details::InternalContextBase|Concurrency::details::ThreadInternalContext|Concurrency::details::UMSThreadInternalContext{
- preview (
- #(
- "[",
- $e.m_threadId,
- "] ",
- #if ($e.m_blockedState == 0) ("not_concrt_blocked")
- #elif ($e.m_blockedState == 1) ("concrt_blocked")
- #elif ($e.m_blockedState == 2) ("ums_sync_blocked")
- #elif ($e.m_blockedState == 4) ("ums_async_blocked")
- #else ("")
- )
- )
- children (
- #(
- #(ID: $e.m_id),
- #(ThreadID: $e.m_threadId),
- #(Scheduler: *($e.m_pScheduler)),
- #(ScheduleGroup: *($e.m_pGroup))
- )
- )
- }
- ;------------------------------------------------------------------------------
- ; Concurrency::details::ExternalContextBase from <ExternalContextBase.h>
- ;------------------------------------------------------------------------------
- Concurrency::details::ExternalContextBase{
- preview (
- #(
- "[",
- $e.m_threadId,
- "] ",
- #if ($e.m_contextSwitchingFence == 1) ("concrt_blocked")
- #else ("not_concrt_blocked")
- )
- )
- children (
- #(
- #(ID: $e.m_id),
- #(ThreadID: $e.m_threadId),
- #(Scheduler: *($e.m_pScheduler)),
- #(ScheduleGroup: *($e.m_pGroup))
- )
- )
- }
- ;------------------------------------------------------------------------------
- ; Concurrency::SchedulerPolicy from <concrt.h>
- ;------------------------------------------------------------------------------
- Concurrency::SchedulerPolicy{
- preview (
- #(
- $e._M_pPolicyBag->_M_values._M_specificValues._M_schedulerKind,
- ", Min=",
- $e._M_pPolicyBag->_M_values._M_specificValues._M_minConcurrency,
- ", Max=",
- $e._M_pPolicyBag->_M_values._M_specificValues._M_maxConcurrency
- )
- )
- children (
- #(
- #(SchedulerKind: $e._M_pPolicyBag->_M_values._M_specificValues._M_schedulerKind),
- #(MinConcurrency: $e._M_pPolicyBag->_M_values._M_specificValues._M_minConcurrency),
- #(MaxConcurrency: $e._M_pPolicyBag->_M_values._M_specificValues._M_maxConcurrency),
- #(TargetOversubscriptionFactor: $e._M_pPolicyBag->_M_values._M_specificValues._M_targetOversubscriptionFactor),
- #(LocalContextCacheSize: $e._M_pPolicyBag->_M_values._M_specificValues._M_localContextCacheSize),
- #(ContextStackSize: $e._M_pPolicyBag->_M_values._M_specificValues._M_contextStackSize),
- #(ContextPriority: $e._M_pPolicyBag->_M_values._M_specificValues._M_contextPriority),
- #(SchedulingProtocol: $e._M_pPolicyBag->_M_values._M_specificValues._M_schedulingProtocol),
- #(DynamicProgressFeedback: $e._M_pPolicyBag->_M_values._M_specificValues._M_dynamicProgressFeedback)
- )
- )
- }
- ;------------------------------------------------------------------------------
- ; Concurrency::event from <concrt.h>
- ;------------------------------------------------------------------------------
- Concurrency::event{
- preview (
- #(
- #if ($e._M_pWaitChain == 1) ("set")
- #else ("not_set")
- )
- )
- children (
- #(
- #([is_set]: ($e._M_pWaitChain == 1)),
- #([has_waiters]: (($e._M_pWaitChain != 0) && ($e._M_pWaitChain != 1)))
- )
- )
- }
- ;------------------------------------------------------------------------------
- ; Concurrency::critical_section from <concrt.h>
- ;------------------------------------------------------------------------------
- Concurrency::critical_section{
- preview (
- #(
- #if ($e._M_pHead != 0) ("locked")
- #else ("not_locked")
- )
- )
- children (
- #(
- #([is_locked]: ($e._M_pHead != 0)),
- #(OwningContext: *((Concurrency::Context*)($e._M_activeNode[0])))
- )
- )
- }
- ;------------------------------------------------------------------------------
- ; Concurrency::critical_section::scoped_lock from <concrt.h>
- ;------------------------------------------------------------------------------
- Concurrency::critical_section::scoped_lock{
- preview (
- #(
- $e._M_critical_section
- )
- )
- children (
- #(
- CriticalSection: $e._M_critical_section
- )
- )
- }
- ;------------------------------------------------------------------------------
- ; Concurrency::reader_writer_lock from <concrt.h>
- ;------------------------------------------------------------------------------
- Concurrency::reader_writer_lock{
- preview (
- #(
- #if (($e._M_lockState < 8) && ($e._M_lockState & 2)) ("held_by_writer")
- #elif ($e._M_lockState >= 8) (
- #(
- "held_by_reader(s) [",
- ($e._M_lockState / 8),
- "]"
- )
- )
- #else ("not_held")
- )
- )
- children (
- #(
- #([is_reader_lock_held]: ($e._M_lockState >= 8)),
- #([num_reader_lock_holders]: ($e._M_lockState / 8)),
- #([is_writer_lock_held]: ($e._M_lockState < 8) && ($e._M_lockState & 2)),
- #(OwningWriterContext: *((Concurrency::Context*)($e._M_activeWriter[0])))
- )
- )
- }
- ;------------------------------------------------------------------------------
- ; Concurrency::reader_writer_lock::scoped_lock from <concrt.h>
- ; Concurrency::reader_writer_lock::scoped_lock_read from <concrt.h>
- ;------------------------------------------------------------------------------
- Concurrency::reader_writer_lock::scoped_lock|Concurrency::reader_writer_lock::scoped_lock_read{
- preview (
- #(
- $e._M_reader_writer_lock
- )
- )
- children (
- #(
- ReaderWriterLock: $e._M_reader_writer_lock
- )
- )
- }
- ;------------------------------------------------------------------------------
- ; Concurrency::details::_TaskCollectionBase from <concrt.h>
- ;------------------------------------------------------------------------------
- Concurrency::details::_TaskCollectionBase{
- preview (
- #(
- #if ((((int)$e._M_pException & ~0x3) != 0) && (((int)$e._M_pException & ~0x3) != 0xC)) ("exception")
- #else ("no_exception")
- )
- )
- children (
- #(
- #([has_exception]: (((int)$e._M_pException & ~0x3) != 0) && (((int)$e._M_pException & ~0x3) != 0xC)),
- #(CreatingContext: *((Concurrency::Context*)$e._M_pOwningContext))
- )
- )
- }
- ;------------------------------------------------------------------------------
- ; Concurrency::task_group from <ppl.h>
- ; Concurrency::structured_task_group from <ppl.h>
- ;------------------------------------------------------------------------------
- Concurrency::task_group|Concurrency::structured_task_group{
- preview (
- #(
- #if ((((int)$e._M_task_collection._M_pException & ~0x3) != 0) && (((int)$e._M_task_collection._M_pException & ~0x3) != 0xC)) ("exception")
- #else ("no_exception")
- )
- )
- children (
- #(
- #([has_exception]: (((int)$e._M_task_collection._M_pException & ~0x3) != 0) && (((int)$e._M_task_collection._M_pException & ~0x3) != 0xC)),
- #(CreatingContext: *((Concurrency::Context*)$e._M_task_collection._M_pOwningContext))
- )
- )
- }
- ;------------------------------------------------------------------------------
- ; Concurrency::task_handle from <ppl.h>
- ;------------------------------------------------------------------------------
- Concurrency::task_handle<*>{
- preview (
- #(
- $e._M_function
- )
- )
- children (
- #(
- #(Function: $e._M_function),
- #(RuntimeOwnsLifetime: $e._M_fRuntimeOwnsLifetime),
- #(TaskCollection: *($e._M_pTaskCollection))
- )
- )
- }
- ;------------------------------------------------------------------------------
- ; Concurrency::combinable from <ppl.h>
- ;------------------------------------------------------------------------------
- Concurrency::combinable<*>{
- preview(
- #(
- "(",
- #array(
- expr: *($e._M_buckets[$i]),
- size: $e._M_size
- ) : #list(
- head: $e,
- next: _M_chain
- ) : $e._M_value,
- ")"
- )
- )
- children(
- #(
- #array(
- expr: *($e._M_buckets[$i]),
- size: $e._M_size
- ) : #list(
- head: $e,
- next: _M_chain
- ) : $e._M_value,
- #(InitFunction : $e._M_fnInitialize)
- )
- )
- }
- ;------------------------------------------------------------------------------
- ; Concurrency::concurrent_vector from <concurrent_vector.h>
- ;------------------------------------------------------------------------------
- Concurrency::concurrent_vector<*,*>{
- preview(
- #(
- "[",
- $e._My_early_size._M_value,
- "](",
- #array (
- expr: #(
- #if (($i >> 1) == 0) ((($T1*)$e._My_segment._M_value[0]._My_array)[$i])
- #else ((($T1*)$e._My_segment._M_value[__log2($i)]._My_array)[$i - (0x1 << __log2($i))])
- ),
- size: $e._My_early_size._M_value
- ),
- ")"
- )
- )
- children(
- #(
- [size] : $e._My_early_size._M_value,
- #array (
- expr: #(
- #if (($i >> 1) == 0) ((($T1*)$e._My_segment._M_value[0]._My_array)[$i])
- #else ((($T1*)$e._My_segment._M_value[__log2($i)]._My_array)[$i - (0x1 << __log2($i))])
- ),
- size: $e._My_early_size._M_value
- )
- )
- )
- }
- ;------------------------------------------------------------------------------
- ; Concurrency::details::_Vector_iterator from <concurrent_vector.h>
- ;------------------------------------------------------------------------------
- Concurrency::details::_Vector_iterator<Concurrency::concurrent_vector<*,*>,*>{
- preview(
- #(
- #if (($e._My_index >> 1) == 0) ((($T1*)$e._My_vector->_My_segment._M_value[0]._My_array)[$e._My_index])
- #else ((($T1*)$e._My_vector->_My_segment._M_value[__log2($e._My_index)]._My_array)[$e._My_index - (0x1 << __log2($e._My_index))])
- )
- )
- children(
- #(
- [ptr]: #if (($e._My_index >> 1) == 0) (&((($T1*)$e._My_vector->_My_segment._M_value[0]._My_array)[$e._My_index]))
- #else (&((($T1*)$e._My_vector->_My_segment._M_value[__log2($e._My_index)]._My_array)[$e._My_index - (0x1 << __log2($e._My_index))]))
- )
- )
- }
- ;------------------------------------------------------------------------------
- ; Concurrency::concurrent_queue from <concurrent_queue.h>
- ;------------------------------------------------------------------------------
- Concurrency::concurrent_queue<*,*>{
- preview
- (
- #(
- "[",
- $e._My_rep->_Tail_counter._M_value - $e._My_rep->_Head_counter._M_value,
- "](",
- #array
- (
- expr : #if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 0) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
- #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 1) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
- #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 2) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
- #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 3) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
- #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 4) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
- #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 5) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
- #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 6) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
- #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 7) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
- #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 8) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
- #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 9) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
- #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 10) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
- #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 11) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
- #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 12) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
- #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 13) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
- #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 14) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
- #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 15) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
- #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 16) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
- #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 17) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
- #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 18) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
- #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 19) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
- #else ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])))))))))))))))))))),
- size : #if ($e._My_rep->_Tail_counter._M_value-$e._My_rep->_Head_counter._M_value < 20*8*$e._Items_per_page) ($e._My_rep->_Tail_counter._M_value-$e._My_rep->_Head_counter._M_value)
- #else (20*8*$e._Items_per_page)
- ),
- ")"
- )
- )
- children
- (
- #(
- #([unsafe_size]: $e._My_rep->_Tail_counter._M_value-$e._My_rep->_Head_counter._M_value),
- #array
- (
- expr : #if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 0) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
- #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 1) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
- #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 2) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
- #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 3) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
- #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 4) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
- #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 5) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
- #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 6) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
- #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 7) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
- #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 8) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
- #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 9) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
- #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 10) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
- #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 11) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
- #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 12) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
- #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 13) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
- #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 14) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
- #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 15) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
- #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 16) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
- #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 17) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
- #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 18) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
- #else (#if (($i+($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)))/(8*$e._Items_per_page)-($e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>(8*($e._Items_per_page-1)))*($i%8+$e._My_rep->_Head_counter._M_value%(8*$e._Items_per_page)>=(8*$e._Items_per_page)) == 19) ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])
- #else ((($T1*)(($e._My_rep->_Array[(($i+$e._My_rep->_Head_counter._M_value)*3%8)]._Head_page._M_value->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next->_Next) + 1))[(($i+$e._My_rep->_Head_counter._M_value)&-8)/8&$e._Items_per_page-1])))))))))))))))))))),
- size : #if ($e._My_rep->_Tail_counter._M_value-$e._My_rep->_Head_counter._M_value < 20*8*$e._Items_per_page) ($e._My_rep->_Tail_counter._M_value-$e._My_rep->_Head_counter._M_value)
- #else (20*8*$e._Items_per_page)
- )
- )
- )
- }
- ;------------------------------------------------------------------------------
- ; Concurrency::details::_Concurrent_queue_iterator from <concurrent_queue.h>
- ;------------------------------------------------------------------------------
- Concurrency::details::_Concurrent_queue_iterator<Concurrency::concurrent_queue<*,*>,*>{
- preview(
- #(
- *(($T1*)$e._My_item)
- )
- )
- children(
- #(
- [ptr]: (($T1*)$e._My_item)
- )
- )
- }
- ; This section lets you define your own errors for the HRESULT display.
- ; You need to list the error code in unsigned decimal, followed by the message.
- ; Changes will take effect the next time you redisplay the variable.
- [hresult]
- ;1234=my custom error code
- [Visualizer]
- glm::detail::tvec2<*>{
- preview (
- #(#($c.x,$c.y))
- )
- children (
- #([x]: $c.x,[y]: $c.y)
- )
- }
- glm::detail::tvec3<*>{
- preview (
- #($e.x,$e.y,$e.z)
- )
- children (
- #([x]: $e.x,[y]: $e.y,[z]: $e.z)
- )
- }
- glm::detail::tvec4<*>{
- preview (
- #($c.x,$c.y,$c.z,$c.w)
- )
- children (
- #([x]: $e.x,[y]: $e.y,[z]: $e.z, #([w]: $e.w))
- )
- }
|