catch_push_back_50.hpp 490 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957
  1. /*==============================================================================
  2. Copyright (c) 2005-2010 Joel de Guzman
  3. Copyright (c) 2010 Thomas Heller
  4. Distributed under the Boost Software License, Version 1.0. (See accompanying
  5. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
  6. ==============================================================================*/
  7. template <typename TryCatch, typename Exception, typename Capture, typename Expr>
  8. struct catch_push_back<TryCatch, Exception, Capture, Expr, 2>
  9. {
  10. typedef
  11. typename proto::result_of::make_expr<
  12. phoenix::tag::catch_
  13. , proto::basic_default_domain
  14. , catch_exception<Exception>
  15. , Capture
  16. , Expr
  17. >::type
  18. catch_expr;
  19. typedef phoenix::expression::try_catch<
  20. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type
  21. , catch_expr> gen_type;
  22. typedef typename gen_type::type type;
  23. static type
  24. make(
  25. TryCatch const& try_catch
  26. , Capture const& capture
  27. , Expr const& catch_
  28. )
  29. {
  30. return
  31. gen_type::make(
  32. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch)
  33. , proto::make_expr<
  34. phoenix::tag::catch_
  35. , proto::basic_default_domain
  36. >(catch_exception<Exception>(), capture, catch_)
  37. );
  38. }
  39. };
  40. template <typename TryCatch, typename Exception, typename Expr>
  41. struct catch_push_back<TryCatch, Exception, void, Expr, 2>
  42. {
  43. typedef
  44. typename proto::result_of::make_expr<
  45. phoenix::tag::catch_
  46. , proto::basic_default_domain
  47. , catch_exception<Exception>
  48. , Expr
  49. >::type
  50. catch_expr;
  51. typedef phoenix::expression::try_catch<
  52. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type
  53. , catch_expr> gen_type;
  54. typedef typename gen_type::type type;
  55. static type
  56. make(
  57. TryCatch const& try_catch
  58. , Expr const& catch_
  59. )
  60. {
  61. return
  62. gen_type::make(
  63. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch)
  64. , proto::make_expr<
  65. phoenix::tag::catch_
  66. , proto::basic_default_domain
  67. >(catch_exception<Exception>(), catch_)
  68. );
  69. }
  70. };
  71. template <typename TryCatch, typename Expr>
  72. struct catch_all_push_back<TryCatch, Expr, 2>
  73. {
  74. typedef
  75. typename proto::result_of::make_expr<
  76. phoenix::tag::catch_all
  77. , proto::basic_default_domain
  78. , Expr
  79. >::type
  80. catch_expr;
  81. typedef phoenix::expression::try_catch<
  82. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type
  83. , catch_expr> gen_type;
  84. typedef typename gen_type::type type;
  85. static type
  86. make(
  87. TryCatch const& try_catch
  88. , Expr const& catch_
  89. )
  90. {
  91. return
  92. gen_type::make(
  93. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch)
  94. , proto::make_expr<
  95. phoenix::tag::catch_all
  96. , proto::basic_default_domain
  97. >(catch_)
  98. );
  99. }
  100. };
  101. template <typename TryCatch, typename Exception, typename Capture, typename Expr>
  102. struct catch_push_back<TryCatch, Exception, Capture, Expr, 3>
  103. {
  104. typedef
  105. typename proto::result_of::make_expr<
  106. phoenix::tag::catch_
  107. , proto::basic_default_domain
  108. , catch_exception<Exception>
  109. , Capture
  110. , Expr
  111. >::type
  112. catch_expr;
  113. typedef phoenix::expression::try_catch<
  114. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type
  115. , catch_expr> gen_type;
  116. typedef typename gen_type::type type;
  117. static type
  118. make(
  119. TryCatch const& try_catch
  120. , Capture const& capture
  121. , Expr const& catch_
  122. )
  123. {
  124. return
  125. gen_type::make(
  126. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch)
  127. , proto::make_expr<
  128. phoenix::tag::catch_
  129. , proto::basic_default_domain
  130. >(catch_exception<Exception>(), capture, catch_)
  131. );
  132. }
  133. };
  134. template <typename TryCatch, typename Exception, typename Expr>
  135. struct catch_push_back<TryCatch, Exception, void, Expr, 3>
  136. {
  137. typedef
  138. typename proto::result_of::make_expr<
  139. phoenix::tag::catch_
  140. , proto::basic_default_domain
  141. , catch_exception<Exception>
  142. , Expr
  143. >::type
  144. catch_expr;
  145. typedef phoenix::expression::try_catch<
  146. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type
  147. , catch_expr> gen_type;
  148. typedef typename gen_type::type type;
  149. static type
  150. make(
  151. TryCatch const& try_catch
  152. , Expr const& catch_
  153. )
  154. {
  155. return
  156. gen_type::make(
  157. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch)
  158. , proto::make_expr<
  159. phoenix::tag::catch_
  160. , proto::basic_default_domain
  161. >(catch_exception<Exception>(), catch_)
  162. );
  163. }
  164. };
  165. template <typename TryCatch, typename Expr>
  166. struct catch_all_push_back<TryCatch, Expr, 3>
  167. {
  168. typedef
  169. typename proto::result_of::make_expr<
  170. phoenix::tag::catch_all
  171. , proto::basic_default_domain
  172. , Expr
  173. >::type
  174. catch_expr;
  175. typedef phoenix::expression::try_catch<
  176. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type
  177. , catch_expr> gen_type;
  178. typedef typename gen_type::type type;
  179. static type
  180. make(
  181. TryCatch const& try_catch
  182. , Expr const& catch_
  183. )
  184. {
  185. return
  186. gen_type::make(
  187. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch)
  188. , proto::make_expr<
  189. phoenix::tag::catch_all
  190. , proto::basic_default_domain
  191. >(catch_)
  192. );
  193. }
  194. };
  195. template <typename TryCatch, typename Exception, typename Capture, typename Expr>
  196. struct catch_push_back<TryCatch, Exception, Capture, Expr, 4>
  197. {
  198. typedef
  199. typename proto::result_of::make_expr<
  200. phoenix::tag::catch_
  201. , proto::basic_default_domain
  202. , catch_exception<Exception>
  203. , Capture
  204. , Expr
  205. >::type
  206. catch_expr;
  207. typedef phoenix::expression::try_catch<
  208. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type
  209. , catch_expr> gen_type;
  210. typedef typename gen_type::type type;
  211. static type
  212. make(
  213. TryCatch const& try_catch
  214. , Capture const& capture
  215. , Expr const& catch_
  216. )
  217. {
  218. return
  219. gen_type::make(
  220. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch)
  221. , proto::make_expr<
  222. phoenix::tag::catch_
  223. , proto::basic_default_domain
  224. >(catch_exception<Exception>(), capture, catch_)
  225. );
  226. }
  227. };
  228. template <typename TryCatch, typename Exception, typename Expr>
  229. struct catch_push_back<TryCatch, Exception, void, Expr, 4>
  230. {
  231. typedef
  232. typename proto::result_of::make_expr<
  233. phoenix::tag::catch_
  234. , proto::basic_default_domain
  235. , catch_exception<Exception>
  236. , Expr
  237. >::type
  238. catch_expr;
  239. typedef phoenix::expression::try_catch<
  240. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type
  241. , catch_expr> gen_type;
  242. typedef typename gen_type::type type;
  243. static type
  244. make(
  245. TryCatch const& try_catch
  246. , Expr const& catch_
  247. )
  248. {
  249. return
  250. gen_type::make(
  251. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch)
  252. , proto::make_expr<
  253. phoenix::tag::catch_
  254. , proto::basic_default_domain
  255. >(catch_exception<Exception>(), catch_)
  256. );
  257. }
  258. };
  259. template <typename TryCatch, typename Expr>
  260. struct catch_all_push_back<TryCatch, Expr, 4>
  261. {
  262. typedef
  263. typename proto::result_of::make_expr<
  264. phoenix::tag::catch_all
  265. , proto::basic_default_domain
  266. , Expr
  267. >::type
  268. catch_expr;
  269. typedef phoenix::expression::try_catch<
  270. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type
  271. , catch_expr> gen_type;
  272. typedef typename gen_type::type type;
  273. static type
  274. make(
  275. TryCatch const& try_catch
  276. , Expr const& catch_
  277. )
  278. {
  279. return
  280. gen_type::make(
  281. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch)
  282. , proto::make_expr<
  283. phoenix::tag::catch_all
  284. , proto::basic_default_domain
  285. >(catch_)
  286. );
  287. }
  288. };
  289. template <typename TryCatch, typename Exception, typename Capture, typename Expr>
  290. struct catch_push_back<TryCatch, Exception, Capture, Expr, 5>
  291. {
  292. typedef
  293. typename proto::result_of::make_expr<
  294. phoenix::tag::catch_
  295. , proto::basic_default_domain
  296. , catch_exception<Exception>
  297. , Capture
  298. , Expr
  299. >::type
  300. catch_expr;
  301. typedef phoenix::expression::try_catch<
  302. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type
  303. , catch_expr> gen_type;
  304. typedef typename gen_type::type type;
  305. static type
  306. make(
  307. TryCatch const& try_catch
  308. , Capture const& capture
  309. , Expr const& catch_
  310. )
  311. {
  312. return
  313. gen_type::make(
  314. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch)
  315. , proto::make_expr<
  316. phoenix::tag::catch_
  317. , proto::basic_default_domain
  318. >(catch_exception<Exception>(), capture, catch_)
  319. );
  320. }
  321. };
  322. template <typename TryCatch, typename Exception, typename Expr>
  323. struct catch_push_back<TryCatch, Exception, void, Expr, 5>
  324. {
  325. typedef
  326. typename proto::result_of::make_expr<
  327. phoenix::tag::catch_
  328. , proto::basic_default_domain
  329. , catch_exception<Exception>
  330. , Expr
  331. >::type
  332. catch_expr;
  333. typedef phoenix::expression::try_catch<
  334. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type
  335. , catch_expr> gen_type;
  336. typedef typename gen_type::type type;
  337. static type
  338. make(
  339. TryCatch const& try_catch
  340. , Expr const& catch_
  341. )
  342. {
  343. return
  344. gen_type::make(
  345. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch)
  346. , proto::make_expr<
  347. phoenix::tag::catch_
  348. , proto::basic_default_domain
  349. >(catch_exception<Exception>(), catch_)
  350. );
  351. }
  352. };
  353. template <typename TryCatch, typename Expr>
  354. struct catch_all_push_back<TryCatch, Expr, 5>
  355. {
  356. typedef
  357. typename proto::result_of::make_expr<
  358. phoenix::tag::catch_all
  359. , proto::basic_default_domain
  360. , Expr
  361. >::type
  362. catch_expr;
  363. typedef phoenix::expression::try_catch<
  364. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type
  365. , catch_expr> gen_type;
  366. typedef typename gen_type::type type;
  367. static type
  368. make(
  369. TryCatch const& try_catch
  370. , Expr const& catch_
  371. )
  372. {
  373. return
  374. gen_type::make(
  375. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch)
  376. , proto::make_expr<
  377. phoenix::tag::catch_all
  378. , proto::basic_default_domain
  379. >(catch_)
  380. );
  381. }
  382. };
  383. template <typename TryCatch, typename Exception, typename Capture, typename Expr>
  384. struct catch_push_back<TryCatch, Exception, Capture, Expr, 6>
  385. {
  386. typedef
  387. typename proto::result_of::make_expr<
  388. phoenix::tag::catch_
  389. , proto::basic_default_domain
  390. , catch_exception<Exception>
  391. , Capture
  392. , Expr
  393. >::type
  394. catch_expr;
  395. typedef phoenix::expression::try_catch<
  396. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type
  397. , catch_expr> gen_type;
  398. typedef typename gen_type::type type;
  399. static type
  400. make(
  401. TryCatch const& try_catch
  402. , Capture const& capture
  403. , Expr const& catch_
  404. )
  405. {
  406. return
  407. gen_type::make(
  408. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch)
  409. , proto::make_expr<
  410. phoenix::tag::catch_
  411. , proto::basic_default_domain
  412. >(catch_exception<Exception>(), capture, catch_)
  413. );
  414. }
  415. };
  416. template <typename TryCatch, typename Exception, typename Expr>
  417. struct catch_push_back<TryCatch, Exception, void, Expr, 6>
  418. {
  419. typedef
  420. typename proto::result_of::make_expr<
  421. phoenix::tag::catch_
  422. , proto::basic_default_domain
  423. , catch_exception<Exception>
  424. , Expr
  425. >::type
  426. catch_expr;
  427. typedef phoenix::expression::try_catch<
  428. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type
  429. , catch_expr> gen_type;
  430. typedef typename gen_type::type type;
  431. static type
  432. make(
  433. TryCatch const& try_catch
  434. , Expr const& catch_
  435. )
  436. {
  437. return
  438. gen_type::make(
  439. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch)
  440. , proto::make_expr<
  441. phoenix::tag::catch_
  442. , proto::basic_default_domain
  443. >(catch_exception<Exception>(), catch_)
  444. );
  445. }
  446. };
  447. template <typename TryCatch, typename Expr>
  448. struct catch_all_push_back<TryCatch, Expr, 6>
  449. {
  450. typedef
  451. typename proto::result_of::make_expr<
  452. phoenix::tag::catch_all
  453. , proto::basic_default_domain
  454. , Expr
  455. >::type
  456. catch_expr;
  457. typedef phoenix::expression::try_catch<
  458. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type
  459. , catch_expr> gen_type;
  460. typedef typename gen_type::type type;
  461. static type
  462. make(
  463. TryCatch const& try_catch
  464. , Expr const& catch_
  465. )
  466. {
  467. return
  468. gen_type::make(
  469. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch)
  470. , proto::make_expr<
  471. phoenix::tag::catch_all
  472. , proto::basic_default_domain
  473. >(catch_)
  474. );
  475. }
  476. };
  477. template <typename TryCatch, typename Exception, typename Capture, typename Expr>
  478. struct catch_push_back<TryCatch, Exception, Capture, Expr, 7>
  479. {
  480. typedef
  481. typename proto::result_of::make_expr<
  482. phoenix::tag::catch_
  483. , proto::basic_default_domain
  484. , catch_exception<Exception>
  485. , Capture
  486. , Expr
  487. >::type
  488. catch_expr;
  489. typedef phoenix::expression::try_catch<
  490. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type
  491. , catch_expr> gen_type;
  492. typedef typename gen_type::type type;
  493. static type
  494. make(
  495. TryCatch const& try_catch
  496. , Capture const& capture
  497. , Expr const& catch_
  498. )
  499. {
  500. return
  501. gen_type::make(
  502. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch)
  503. , proto::make_expr<
  504. phoenix::tag::catch_
  505. , proto::basic_default_domain
  506. >(catch_exception<Exception>(), capture, catch_)
  507. );
  508. }
  509. };
  510. template <typename TryCatch, typename Exception, typename Expr>
  511. struct catch_push_back<TryCatch, Exception, void, Expr, 7>
  512. {
  513. typedef
  514. typename proto::result_of::make_expr<
  515. phoenix::tag::catch_
  516. , proto::basic_default_domain
  517. , catch_exception<Exception>
  518. , Expr
  519. >::type
  520. catch_expr;
  521. typedef phoenix::expression::try_catch<
  522. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type
  523. , catch_expr> gen_type;
  524. typedef typename gen_type::type type;
  525. static type
  526. make(
  527. TryCatch const& try_catch
  528. , Expr const& catch_
  529. )
  530. {
  531. return
  532. gen_type::make(
  533. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch)
  534. , proto::make_expr<
  535. phoenix::tag::catch_
  536. , proto::basic_default_domain
  537. >(catch_exception<Exception>(), catch_)
  538. );
  539. }
  540. };
  541. template <typename TryCatch, typename Expr>
  542. struct catch_all_push_back<TryCatch, Expr, 7>
  543. {
  544. typedef
  545. typename proto::result_of::make_expr<
  546. phoenix::tag::catch_all
  547. , proto::basic_default_domain
  548. , Expr
  549. >::type
  550. catch_expr;
  551. typedef phoenix::expression::try_catch<
  552. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type
  553. , catch_expr> gen_type;
  554. typedef typename gen_type::type type;
  555. static type
  556. make(
  557. TryCatch const& try_catch
  558. , Expr const& catch_
  559. )
  560. {
  561. return
  562. gen_type::make(
  563. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch)
  564. , proto::make_expr<
  565. phoenix::tag::catch_all
  566. , proto::basic_default_domain
  567. >(catch_)
  568. );
  569. }
  570. };
  571. template <typename TryCatch, typename Exception, typename Capture, typename Expr>
  572. struct catch_push_back<TryCatch, Exception, Capture, Expr, 8>
  573. {
  574. typedef
  575. typename proto::result_of::make_expr<
  576. phoenix::tag::catch_
  577. , proto::basic_default_domain
  578. , catch_exception<Exception>
  579. , Capture
  580. , Expr
  581. >::type
  582. catch_expr;
  583. typedef phoenix::expression::try_catch<
  584. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type
  585. , catch_expr> gen_type;
  586. typedef typename gen_type::type type;
  587. static type
  588. make(
  589. TryCatch const& try_catch
  590. , Capture const& capture
  591. , Expr const& catch_
  592. )
  593. {
  594. return
  595. gen_type::make(
  596. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch)
  597. , proto::make_expr<
  598. phoenix::tag::catch_
  599. , proto::basic_default_domain
  600. >(catch_exception<Exception>(), capture, catch_)
  601. );
  602. }
  603. };
  604. template <typename TryCatch, typename Exception, typename Expr>
  605. struct catch_push_back<TryCatch, Exception, void, Expr, 8>
  606. {
  607. typedef
  608. typename proto::result_of::make_expr<
  609. phoenix::tag::catch_
  610. , proto::basic_default_domain
  611. , catch_exception<Exception>
  612. , Expr
  613. >::type
  614. catch_expr;
  615. typedef phoenix::expression::try_catch<
  616. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type
  617. , catch_expr> gen_type;
  618. typedef typename gen_type::type type;
  619. static type
  620. make(
  621. TryCatch const& try_catch
  622. , Expr const& catch_
  623. )
  624. {
  625. return
  626. gen_type::make(
  627. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch)
  628. , proto::make_expr<
  629. phoenix::tag::catch_
  630. , proto::basic_default_domain
  631. >(catch_exception<Exception>(), catch_)
  632. );
  633. }
  634. };
  635. template <typename TryCatch, typename Expr>
  636. struct catch_all_push_back<TryCatch, Expr, 8>
  637. {
  638. typedef
  639. typename proto::result_of::make_expr<
  640. phoenix::tag::catch_all
  641. , proto::basic_default_domain
  642. , Expr
  643. >::type
  644. catch_expr;
  645. typedef phoenix::expression::try_catch<
  646. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type
  647. , catch_expr> gen_type;
  648. typedef typename gen_type::type type;
  649. static type
  650. make(
  651. TryCatch const& try_catch
  652. , Expr const& catch_
  653. )
  654. {
  655. return
  656. gen_type::make(
  657. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch)
  658. , proto::make_expr<
  659. phoenix::tag::catch_all
  660. , proto::basic_default_domain
  661. >(catch_)
  662. );
  663. }
  664. };
  665. template <typename TryCatch, typename Exception, typename Capture, typename Expr>
  666. struct catch_push_back<TryCatch, Exception, Capture, Expr, 9>
  667. {
  668. typedef
  669. typename proto::result_of::make_expr<
  670. phoenix::tag::catch_
  671. , proto::basic_default_domain
  672. , catch_exception<Exception>
  673. , Capture
  674. , Expr
  675. >::type
  676. catch_expr;
  677. typedef phoenix::expression::try_catch<
  678. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type
  679. , catch_expr> gen_type;
  680. typedef typename gen_type::type type;
  681. static type
  682. make(
  683. TryCatch const& try_catch
  684. , Capture const& capture
  685. , Expr const& catch_
  686. )
  687. {
  688. return
  689. gen_type::make(
  690. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch)
  691. , proto::make_expr<
  692. phoenix::tag::catch_
  693. , proto::basic_default_domain
  694. >(catch_exception<Exception>(), capture, catch_)
  695. );
  696. }
  697. };
  698. template <typename TryCatch, typename Exception, typename Expr>
  699. struct catch_push_back<TryCatch, Exception, void, Expr, 9>
  700. {
  701. typedef
  702. typename proto::result_of::make_expr<
  703. phoenix::tag::catch_
  704. , proto::basic_default_domain
  705. , catch_exception<Exception>
  706. , Expr
  707. >::type
  708. catch_expr;
  709. typedef phoenix::expression::try_catch<
  710. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type
  711. , catch_expr> gen_type;
  712. typedef typename gen_type::type type;
  713. static type
  714. make(
  715. TryCatch const& try_catch
  716. , Expr const& catch_
  717. )
  718. {
  719. return
  720. gen_type::make(
  721. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch)
  722. , proto::make_expr<
  723. phoenix::tag::catch_
  724. , proto::basic_default_domain
  725. >(catch_exception<Exception>(), catch_)
  726. );
  727. }
  728. };
  729. template <typename TryCatch, typename Expr>
  730. struct catch_all_push_back<TryCatch, Expr, 9>
  731. {
  732. typedef
  733. typename proto::result_of::make_expr<
  734. phoenix::tag::catch_all
  735. , proto::basic_default_domain
  736. , Expr
  737. >::type
  738. catch_expr;
  739. typedef phoenix::expression::try_catch<
  740. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type
  741. , catch_expr> gen_type;
  742. typedef typename gen_type::type type;
  743. static type
  744. make(
  745. TryCatch const& try_catch
  746. , Expr const& catch_
  747. )
  748. {
  749. return
  750. gen_type::make(
  751. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch)
  752. , proto::make_expr<
  753. phoenix::tag::catch_all
  754. , proto::basic_default_domain
  755. >(catch_)
  756. );
  757. }
  758. };
  759. template <typename TryCatch, typename Exception, typename Capture, typename Expr>
  760. struct catch_push_back<TryCatch, Exception, Capture, Expr, 10>
  761. {
  762. typedef
  763. typename proto::result_of::make_expr<
  764. phoenix::tag::catch_
  765. , proto::basic_default_domain
  766. , catch_exception<Exception>
  767. , Capture
  768. , Expr
  769. >::type
  770. catch_expr;
  771. typedef phoenix::expression::try_catch<
  772. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type
  773. , catch_expr> gen_type;
  774. typedef typename gen_type::type type;
  775. static type
  776. make(
  777. TryCatch const& try_catch
  778. , Capture const& capture
  779. , Expr const& catch_
  780. )
  781. {
  782. return
  783. gen_type::make(
  784. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch)
  785. , proto::make_expr<
  786. phoenix::tag::catch_
  787. , proto::basic_default_domain
  788. >(catch_exception<Exception>(), capture, catch_)
  789. );
  790. }
  791. };
  792. template <typename TryCatch, typename Exception, typename Expr>
  793. struct catch_push_back<TryCatch, Exception, void, Expr, 10>
  794. {
  795. typedef
  796. typename proto::result_of::make_expr<
  797. phoenix::tag::catch_
  798. , proto::basic_default_domain
  799. , catch_exception<Exception>
  800. , Expr
  801. >::type
  802. catch_expr;
  803. typedef phoenix::expression::try_catch<
  804. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type
  805. , catch_expr> gen_type;
  806. typedef typename gen_type::type type;
  807. static type
  808. make(
  809. TryCatch const& try_catch
  810. , Expr const& catch_
  811. )
  812. {
  813. return
  814. gen_type::make(
  815. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch)
  816. , proto::make_expr<
  817. phoenix::tag::catch_
  818. , proto::basic_default_domain
  819. >(catch_exception<Exception>(), catch_)
  820. );
  821. }
  822. };
  823. template <typename TryCatch, typename Expr>
  824. struct catch_all_push_back<TryCatch, Expr, 10>
  825. {
  826. typedef
  827. typename proto::result_of::make_expr<
  828. phoenix::tag::catch_all
  829. , proto::basic_default_domain
  830. , Expr
  831. >::type
  832. catch_expr;
  833. typedef phoenix::expression::try_catch<
  834. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type
  835. , catch_expr> gen_type;
  836. typedef typename gen_type::type type;
  837. static type
  838. make(
  839. TryCatch const& try_catch
  840. , Expr const& catch_
  841. )
  842. {
  843. return
  844. gen_type::make(
  845. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch)
  846. , proto::make_expr<
  847. phoenix::tag::catch_all
  848. , proto::basic_default_domain
  849. >(catch_)
  850. );
  851. }
  852. };
  853. template <typename TryCatch, typename Exception, typename Capture, typename Expr>
  854. struct catch_push_back<TryCatch, Exception, Capture, Expr, 11>
  855. {
  856. typedef
  857. typename proto::result_of::make_expr<
  858. phoenix::tag::catch_
  859. , proto::basic_default_domain
  860. , catch_exception<Exception>
  861. , Capture
  862. , Expr
  863. >::type
  864. catch_expr;
  865. typedef phoenix::expression::try_catch<
  866. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type
  867. , catch_expr> gen_type;
  868. typedef typename gen_type::type type;
  869. static type
  870. make(
  871. TryCatch const& try_catch
  872. , Capture const& capture
  873. , Expr const& catch_
  874. )
  875. {
  876. return
  877. gen_type::make(
  878. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch)
  879. , proto::make_expr<
  880. phoenix::tag::catch_
  881. , proto::basic_default_domain
  882. >(catch_exception<Exception>(), capture, catch_)
  883. );
  884. }
  885. };
  886. template <typename TryCatch, typename Exception, typename Expr>
  887. struct catch_push_back<TryCatch, Exception, void, Expr, 11>
  888. {
  889. typedef
  890. typename proto::result_of::make_expr<
  891. phoenix::tag::catch_
  892. , proto::basic_default_domain
  893. , catch_exception<Exception>
  894. , Expr
  895. >::type
  896. catch_expr;
  897. typedef phoenix::expression::try_catch<
  898. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type
  899. , catch_expr> gen_type;
  900. typedef typename gen_type::type type;
  901. static type
  902. make(
  903. TryCatch const& try_catch
  904. , Expr const& catch_
  905. )
  906. {
  907. return
  908. gen_type::make(
  909. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch)
  910. , proto::make_expr<
  911. phoenix::tag::catch_
  912. , proto::basic_default_domain
  913. >(catch_exception<Exception>(), catch_)
  914. );
  915. }
  916. };
  917. template <typename TryCatch, typename Expr>
  918. struct catch_all_push_back<TryCatch, Expr, 11>
  919. {
  920. typedef
  921. typename proto::result_of::make_expr<
  922. phoenix::tag::catch_all
  923. , proto::basic_default_domain
  924. , Expr
  925. >::type
  926. catch_expr;
  927. typedef phoenix::expression::try_catch<
  928. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type
  929. , catch_expr> gen_type;
  930. typedef typename gen_type::type type;
  931. static type
  932. make(
  933. TryCatch const& try_catch
  934. , Expr const& catch_
  935. )
  936. {
  937. return
  938. gen_type::make(
  939. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch)
  940. , proto::make_expr<
  941. phoenix::tag::catch_all
  942. , proto::basic_default_domain
  943. >(catch_)
  944. );
  945. }
  946. };
  947. template <typename TryCatch, typename Exception, typename Capture, typename Expr>
  948. struct catch_push_back<TryCatch, Exception, Capture, Expr, 12>
  949. {
  950. typedef
  951. typename proto::result_of::make_expr<
  952. phoenix::tag::catch_
  953. , proto::basic_default_domain
  954. , catch_exception<Exception>
  955. , Capture
  956. , Expr
  957. >::type
  958. catch_expr;
  959. typedef phoenix::expression::try_catch<
  960. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type
  961. , catch_expr> gen_type;
  962. typedef typename gen_type::type type;
  963. static type
  964. make(
  965. TryCatch const& try_catch
  966. , Capture const& capture
  967. , Expr const& catch_
  968. )
  969. {
  970. return
  971. gen_type::make(
  972. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch)
  973. , proto::make_expr<
  974. phoenix::tag::catch_
  975. , proto::basic_default_domain
  976. >(catch_exception<Exception>(), capture, catch_)
  977. );
  978. }
  979. };
  980. template <typename TryCatch, typename Exception, typename Expr>
  981. struct catch_push_back<TryCatch, Exception, void, Expr, 12>
  982. {
  983. typedef
  984. typename proto::result_of::make_expr<
  985. phoenix::tag::catch_
  986. , proto::basic_default_domain
  987. , catch_exception<Exception>
  988. , Expr
  989. >::type
  990. catch_expr;
  991. typedef phoenix::expression::try_catch<
  992. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type
  993. , catch_expr> gen_type;
  994. typedef typename gen_type::type type;
  995. static type
  996. make(
  997. TryCatch const& try_catch
  998. , Expr const& catch_
  999. )
  1000. {
  1001. return
  1002. gen_type::make(
  1003. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch)
  1004. , proto::make_expr<
  1005. phoenix::tag::catch_
  1006. , proto::basic_default_domain
  1007. >(catch_exception<Exception>(), catch_)
  1008. );
  1009. }
  1010. };
  1011. template <typename TryCatch, typename Expr>
  1012. struct catch_all_push_back<TryCatch, Expr, 12>
  1013. {
  1014. typedef
  1015. typename proto::result_of::make_expr<
  1016. phoenix::tag::catch_all
  1017. , proto::basic_default_domain
  1018. , Expr
  1019. >::type
  1020. catch_expr;
  1021. typedef phoenix::expression::try_catch<
  1022. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type
  1023. , catch_expr> gen_type;
  1024. typedef typename gen_type::type type;
  1025. static type
  1026. make(
  1027. TryCatch const& try_catch
  1028. , Expr const& catch_
  1029. )
  1030. {
  1031. return
  1032. gen_type::make(
  1033. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch)
  1034. , proto::make_expr<
  1035. phoenix::tag::catch_all
  1036. , proto::basic_default_domain
  1037. >(catch_)
  1038. );
  1039. }
  1040. };
  1041. template <typename TryCatch, typename Exception, typename Capture, typename Expr>
  1042. struct catch_push_back<TryCatch, Exception, Capture, Expr, 13>
  1043. {
  1044. typedef
  1045. typename proto::result_of::make_expr<
  1046. phoenix::tag::catch_
  1047. , proto::basic_default_domain
  1048. , catch_exception<Exception>
  1049. , Capture
  1050. , Expr
  1051. >::type
  1052. catch_expr;
  1053. typedef phoenix::expression::try_catch<
  1054. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type
  1055. , catch_expr> gen_type;
  1056. typedef typename gen_type::type type;
  1057. static type
  1058. make(
  1059. TryCatch const& try_catch
  1060. , Capture const& capture
  1061. , Expr const& catch_
  1062. )
  1063. {
  1064. return
  1065. gen_type::make(
  1066. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch)
  1067. , proto::make_expr<
  1068. phoenix::tag::catch_
  1069. , proto::basic_default_domain
  1070. >(catch_exception<Exception>(), capture, catch_)
  1071. );
  1072. }
  1073. };
  1074. template <typename TryCatch, typename Exception, typename Expr>
  1075. struct catch_push_back<TryCatch, Exception, void, Expr, 13>
  1076. {
  1077. typedef
  1078. typename proto::result_of::make_expr<
  1079. phoenix::tag::catch_
  1080. , proto::basic_default_domain
  1081. , catch_exception<Exception>
  1082. , Expr
  1083. >::type
  1084. catch_expr;
  1085. typedef phoenix::expression::try_catch<
  1086. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type
  1087. , catch_expr> gen_type;
  1088. typedef typename gen_type::type type;
  1089. static type
  1090. make(
  1091. TryCatch const& try_catch
  1092. , Expr const& catch_
  1093. )
  1094. {
  1095. return
  1096. gen_type::make(
  1097. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch)
  1098. , proto::make_expr<
  1099. phoenix::tag::catch_
  1100. , proto::basic_default_domain
  1101. >(catch_exception<Exception>(), catch_)
  1102. );
  1103. }
  1104. };
  1105. template <typename TryCatch, typename Expr>
  1106. struct catch_all_push_back<TryCatch, Expr, 13>
  1107. {
  1108. typedef
  1109. typename proto::result_of::make_expr<
  1110. phoenix::tag::catch_all
  1111. , proto::basic_default_domain
  1112. , Expr
  1113. >::type
  1114. catch_expr;
  1115. typedef phoenix::expression::try_catch<
  1116. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type
  1117. , catch_expr> gen_type;
  1118. typedef typename gen_type::type type;
  1119. static type
  1120. make(
  1121. TryCatch const& try_catch
  1122. , Expr const& catch_
  1123. )
  1124. {
  1125. return
  1126. gen_type::make(
  1127. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch)
  1128. , proto::make_expr<
  1129. phoenix::tag::catch_all
  1130. , proto::basic_default_domain
  1131. >(catch_)
  1132. );
  1133. }
  1134. };
  1135. template <typename TryCatch, typename Exception, typename Capture, typename Expr>
  1136. struct catch_push_back<TryCatch, Exception, Capture, Expr, 14>
  1137. {
  1138. typedef
  1139. typename proto::result_of::make_expr<
  1140. phoenix::tag::catch_
  1141. , proto::basic_default_domain
  1142. , catch_exception<Exception>
  1143. , Capture
  1144. , Expr
  1145. >::type
  1146. catch_expr;
  1147. typedef phoenix::expression::try_catch<
  1148. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type
  1149. , catch_expr> gen_type;
  1150. typedef typename gen_type::type type;
  1151. static type
  1152. make(
  1153. TryCatch const& try_catch
  1154. , Capture const& capture
  1155. , Expr const& catch_
  1156. )
  1157. {
  1158. return
  1159. gen_type::make(
  1160. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch)
  1161. , proto::make_expr<
  1162. phoenix::tag::catch_
  1163. , proto::basic_default_domain
  1164. >(catch_exception<Exception>(), capture, catch_)
  1165. );
  1166. }
  1167. };
  1168. template <typename TryCatch, typename Exception, typename Expr>
  1169. struct catch_push_back<TryCatch, Exception, void, Expr, 14>
  1170. {
  1171. typedef
  1172. typename proto::result_of::make_expr<
  1173. phoenix::tag::catch_
  1174. , proto::basic_default_domain
  1175. , catch_exception<Exception>
  1176. , Expr
  1177. >::type
  1178. catch_expr;
  1179. typedef phoenix::expression::try_catch<
  1180. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type
  1181. , catch_expr> gen_type;
  1182. typedef typename gen_type::type type;
  1183. static type
  1184. make(
  1185. TryCatch const& try_catch
  1186. , Expr const& catch_
  1187. )
  1188. {
  1189. return
  1190. gen_type::make(
  1191. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch)
  1192. , proto::make_expr<
  1193. phoenix::tag::catch_
  1194. , proto::basic_default_domain
  1195. >(catch_exception<Exception>(), catch_)
  1196. );
  1197. }
  1198. };
  1199. template <typename TryCatch, typename Expr>
  1200. struct catch_all_push_back<TryCatch, Expr, 14>
  1201. {
  1202. typedef
  1203. typename proto::result_of::make_expr<
  1204. phoenix::tag::catch_all
  1205. , proto::basic_default_domain
  1206. , Expr
  1207. >::type
  1208. catch_expr;
  1209. typedef phoenix::expression::try_catch<
  1210. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type
  1211. , catch_expr> gen_type;
  1212. typedef typename gen_type::type type;
  1213. static type
  1214. make(
  1215. TryCatch const& try_catch
  1216. , Expr const& catch_
  1217. )
  1218. {
  1219. return
  1220. gen_type::make(
  1221. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch)
  1222. , proto::make_expr<
  1223. phoenix::tag::catch_all
  1224. , proto::basic_default_domain
  1225. >(catch_)
  1226. );
  1227. }
  1228. };
  1229. template <typename TryCatch, typename Exception, typename Capture, typename Expr>
  1230. struct catch_push_back<TryCatch, Exception, Capture, Expr, 15>
  1231. {
  1232. typedef
  1233. typename proto::result_of::make_expr<
  1234. phoenix::tag::catch_
  1235. , proto::basic_default_domain
  1236. , catch_exception<Exception>
  1237. , Capture
  1238. , Expr
  1239. >::type
  1240. catch_expr;
  1241. typedef phoenix::expression::try_catch<
  1242. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type
  1243. , catch_expr> gen_type;
  1244. typedef typename gen_type::type type;
  1245. static type
  1246. make(
  1247. TryCatch const& try_catch
  1248. , Capture const& capture
  1249. , Expr const& catch_
  1250. )
  1251. {
  1252. return
  1253. gen_type::make(
  1254. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch)
  1255. , proto::make_expr<
  1256. phoenix::tag::catch_
  1257. , proto::basic_default_domain
  1258. >(catch_exception<Exception>(), capture, catch_)
  1259. );
  1260. }
  1261. };
  1262. template <typename TryCatch, typename Exception, typename Expr>
  1263. struct catch_push_back<TryCatch, Exception, void, Expr, 15>
  1264. {
  1265. typedef
  1266. typename proto::result_of::make_expr<
  1267. phoenix::tag::catch_
  1268. , proto::basic_default_domain
  1269. , catch_exception<Exception>
  1270. , Expr
  1271. >::type
  1272. catch_expr;
  1273. typedef phoenix::expression::try_catch<
  1274. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type
  1275. , catch_expr> gen_type;
  1276. typedef typename gen_type::type type;
  1277. static type
  1278. make(
  1279. TryCatch const& try_catch
  1280. , Expr const& catch_
  1281. )
  1282. {
  1283. return
  1284. gen_type::make(
  1285. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch)
  1286. , proto::make_expr<
  1287. phoenix::tag::catch_
  1288. , proto::basic_default_domain
  1289. >(catch_exception<Exception>(), catch_)
  1290. );
  1291. }
  1292. };
  1293. template <typename TryCatch, typename Expr>
  1294. struct catch_all_push_back<TryCatch, Expr, 15>
  1295. {
  1296. typedef
  1297. typename proto::result_of::make_expr<
  1298. phoenix::tag::catch_all
  1299. , proto::basic_default_domain
  1300. , Expr
  1301. >::type
  1302. catch_expr;
  1303. typedef phoenix::expression::try_catch<
  1304. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type
  1305. , catch_expr> gen_type;
  1306. typedef typename gen_type::type type;
  1307. static type
  1308. make(
  1309. TryCatch const& try_catch
  1310. , Expr const& catch_
  1311. )
  1312. {
  1313. return
  1314. gen_type::make(
  1315. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch)
  1316. , proto::make_expr<
  1317. phoenix::tag::catch_all
  1318. , proto::basic_default_domain
  1319. >(catch_)
  1320. );
  1321. }
  1322. };
  1323. template <typename TryCatch, typename Exception, typename Capture, typename Expr>
  1324. struct catch_push_back<TryCatch, Exception, Capture, Expr, 16>
  1325. {
  1326. typedef
  1327. typename proto::result_of::make_expr<
  1328. phoenix::tag::catch_
  1329. , proto::basic_default_domain
  1330. , catch_exception<Exception>
  1331. , Capture
  1332. , Expr
  1333. >::type
  1334. catch_expr;
  1335. typedef phoenix::expression::try_catch<
  1336. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type
  1337. , catch_expr> gen_type;
  1338. typedef typename gen_type::type type;
  1339. static type
  1340. make(
  1341. TryCatch const& try_catch
  1342. , Capture const& capture
  1343. , Expr const& catch_
  1344. )
  1345. {
  1346. return
  1347. gen_type::make(
  1348. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch)
  1349. , proto::make_expr<
  1350. phoenix::tag::catch_
  1351. , proto::basic_default_domain
  1352. >(catch_exception<Exception>(), capture, catch_)
  1353. );
  1354. }
  1355. };
  1356. template <typename TryCatch, typename Exception, typename Expr>
  1357. struct catch_push_back<TryCatch, Exception, void, Expr, 16>
  1358. {
  1359. typedef
  1360. typename proto::result_of::make_expr<
  1361. phoenix::tag::catch_
  1362. , proto::basic_default_domain
  1363. , catch_exception<Exception>
  1364. , Expr
  1365. >::type
  1366. catch_expr;
  1367. typedef phoenix::expression::try_catch<
  1368. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type
  1369. , catch_expr> gen_type;
  1370. typedef typename gen_type::type type;
  1371. static type
  1372. make(
  1373. TryCatch const& try_catch
  1374. , Expr const& catch_
  1375. )
  1376. {
  1377. return
  1378. gen_type::make(
  1379. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch)
  1380. , proto::make_expr<
  1381. phoenix::tag::catch_
  1382. , proto::basic_default_domain
  1383. >(catch_exception<Exception>(), catch_)
  1384. );
  1385. }
  1386. };
  1387. template <typename TryCatch, typename Expr>
  1388. struct catch_all_push_back<TryCatch, Expr, 16>
  1389. {
  1390. typedef
  1391. typename proto::result_of::make_expr<
  1392. phoenix::tag::catch_all
  1393. , proto::basic_default_domain
  1394. , Expr
  1395. >::type
  1396. catch_expr;
  1397. typedef phoenix::expression::try_catch<
  1398. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type
  1399. , catch_expr> gen_type;
  1400. typedef typename gen_type::type type;
  1401. static type
  1402. make(
  1403. TryCatch const& try_catch
  1404. , Expr const& catch_
  1405. )
  1406. {
  1407. return
  1408. gen_type::make(
  1409. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch)
  1410. , proto::make_expr<
  1411. phoenix::tag::catch_all
  1412. , proto::basic_default_domain
  1413. >(catch_)
  1414. );
  1415. }
  1416. };
  1417. template <typename TryCatch, typename Exception, typename Capture, typename Expr>
  1418. struct catch_push_back<TryCatch, Exception, Capture, Expr, 17>
  1419. {
  1420. typedef
  1421. typename proto::result_of::make_expr<
  1422. phoenix::tag::catch_
  1423. , proto::basic_default_domain
  1424. , catch_exception<Exception>
  1425. , Capture
  1426. , Expr
  1427. >::type
  1428. catch_expr;
  1429. typedef phoenix::expression::try_catch<
  1430. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type
  1431. , catch_expr> gen_type;
  1432. typedef typename gen_type::type type;
  1433. static type
  1434. make(
  1435. TryCatch const& try_catch
  1436. , Capture const& capture
  1437. , Expr const& catch_
  1438. )
  1439. {
  1440. return
  1441. gen_type::make(
  1442. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch)
  1443. , proto::make_expr<
  1444. phoenix::tag::catch_
  1445. , proto::basic_default_domain
  1446. >(catch_exception<Exception>(), capture, catch_)
  1447. );
  1448. }
  1449. };
  1450. template <typename TryCatch, typename Exception, typename Expr>
  1451. struct catch_push_back<TryCatch, Exception, void, Expr, 17>
  1452. {
  1453. typedef
  1454. typename proto::result_of::make_expr<
  1455. phoenix::tag::catch_
  1456. , proto::basic_default_domain
  1457. , catch_exception<Exception>
  1458. , Expr
  1459. >::type
  1460. catch_expr;
  1461. typedef phoenix::expression::try_catch<
  1462. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type
  1463. , catch_expr> gen_type;
  1464. typedef typename gen_type::type type;
  1465. static type
  1466. make(
  1467. TryCatch const& try_catch
  1468. , Expr const& catch_
  1469. )
  1470. {
  1471. return
  1472. gen_type::make(
  1473. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch)
  1474. , proto::make_expr<
  1475. phoenix::tag::catch_
  1476. , proto::basic_default_domain
  1477. >(catch_exception<Exception>(), catch_)
  1478. );
  1479. }
  1480. };
  1481. template <typename TryCatch, typename Expr>
  1482. struct catch_all_push_back<TryCatch, Expr, 17>
  1483. {
  1484. typedef
  1485. typename proto::result_of::make_expr<
  1486. phoenix::tag::catch_all
  1487. , proto::basic_default_domain
  1488. , Expr
  1489. >::type
  1490. catch_expr;
  1491. typedef phoenix::expression::try_catch<
  1492. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type
  1493. , catch_expr> gen_type;
  1494. typedef typename gen_type::type type;
  1495. static type
  1496. make(
  1497. TryCatch const& try_catch
  1498. , Expr const& catch_
  1499. )
  1500. {
  1501. return
  1502. gen_type::make(
  1503. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch)
  1504. , proto::make_expr<
  1505. phoenix::tag::catch_all
  1506. , proto::basic_default_domain
  1507. >(catch_)
  1508. );
  1509. }
  1510. };
  1511. template <typename TryCatch, typename Exception, typename Capture, typename Expr>
  1512. struct catch_push_back<TryCatch, Exception, Capture, Expr, 18>
  1513. {
  1514. typedef
  1515. typename proto::result_of::make_expr<
  1516. phoenix::tag::catch_
  1517. , proto::basic_default_domain
  1518. , catch_exception<Exception>
  1519. , Capture
  1520. , Expr
  1521. >::type
  1522. catch_expr;
  1523. typedef phoenix::expression::try_catch<
  1524. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type
  1525. , catch_expr> gen_type;
  1526. typedef typename gen_type::type type;
  1527. static type
  1528. make(
  1529. TryCatch const& try_catch
  1530. , Capture const& capture
  1531. , Expr const& catch_
  1532. )
  1533. {
  1534. return
  1535. gen_type::make(
  1536. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch)
  1537. , proto::make_expr<
  1538. phoenix::tag::catch_
  1539. , proto::basic_default_domain
  1540. >(catch_exception<Exception>(), capture, catch_)
  1541. );
  1542. }
  1543. };
  1544. template <typename TryCatch, typename Exception, typename Expr>
  1545. struct catch_push_back<TryCatch, Exception, void, Expr, 18>
  1546. {
  1547. typedef
  1548. typename proto::result_of::make_expr<
  1549. phoenix::tag::catch_
  1550. , proto::basic_default_domain
  1551. , catch_exception<Exception>
  1552. , Expr
  1553. >::type
  1554. catch_expr;
  1555. typedef phoenix::expression::try_catch<
  1556. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type
  1557. , catch_expr> gen_type;
  1558. typedef typename gen_type::type type;
  1559. static type
  1560. make(
  1561. TryCatch const& try_catch
  1562. , Expr const& catch_
  1563. )
  1564. {
  1565. return
  1566. gen_type::make(
  1567. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch)
  1568. , proto::make_expr<
  1569. phoenix::tag::catch_
  1570. , proto::basic_default_domain
  1571. >(catch_exception<Exception>(), catch_)
  1572. );
  1573. }
  1574. };
  1575. template <typename TryCatch, typename Expr>
  1576. struct catch_all_push_back<TryCatch, Expr, 18>
  1577. {
  1578. typedef
  1579. typename proto::result_of::make_expr<
  1580. phoenix::tag::catch_all
  1581. , proto::basic_default_domain
  1582. , Expr
  1583. >::type
  1584. catch_expr;
  1585. typedef phoenix::expression::try_catch<
  1586. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type
  1587. , catch_expr> gen_type;
  1588. typedef typename gen_type::type type;
  1589. static type
  1590. make(
  1591. TryCatch const& try_catch
  1592. , Expr const& catch_
  1593. )
  1594. {
  1595. return
  1596. gen_type::make(
  1597. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch)
  1598. , proto::make_expr<
  1599. phoenix::tag::catch_all
  1600. , proto::basic_default_domain
  1601. >(catch_)
  1602. );
  1603. }
  1604. };
  1605. template <typename TryCatch, typename Exception, typename Capture, typename Expr>
  1606. struct catch_push_back<TryCatch, Exception, Capture, Expr, 19>
  1607. {
  1608. typedef
  1609. typename proto::result_of::make_expr<
  1610. phoenix::tag::catch_
  1611. , proto::basic_default_domain
  1612. , catch_exception<Exception>
  1613. , Capture
  1614. , Expr
  1615. >::type
  1616. catch_expr;
  1617. typedef phoenix::expression::try_catch<
  1618. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type
  1619. , catch_expr> gen_type;
  1620. typedef typename gen_type::type type;
  1621. static type
  1622. make(
  1623. TryCatch const& try_catch
  1624. , Capture const& capture
  1625. , Expr const& catch_
  1626. )
  1627. {
  1628. return
  1629. gen_type::make(
  1630. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch)
  1631. , proto::make_expr<
  1632. phoenix::tag::catch_
  1633. , proto::basic_default_domain
  1634. >(catch_exception<Exception>(), capture, catch_)
  1635. );
  1636. }
  1637. };
  1638. template <typename TryCatch, typename Exception, typename Expr>
  1639. struct catch_push_back<TryCatch, Exception, void, Expr, 19>
  1640. {
  1641. typedef
  1642. typename proto::result_of::make_expr<
  1643. phoenix::tag::catch_
  1644. , proto::basic_default_domain
  1645. , catch_exception<Exception>
  1646. , Expr
  1647. >::type
  1648. catch_expr;
  1649. typedef phoenix::expression::try_catch<
  1650. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type
  1651. , catch_expr> gen_type;
  1652. typedef typename gen_type::type type;
  1653. static type
  1654. make(
  1655. TryCatch const& try_catch
  1656. , Expr const& catch_
  1657. )
  1658. {
  1659. return
  1660. gen_type::make(
  1661. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch)
  1662. , proto::make_expr<
  1663. phoenix::tag::catch_
  1664. , proto::basic_default_domain
  1665. >(catch_exception<Exception>(), catch_)
  1666. );
  1667. }
  1668. };
  1669. template <typename TryCatch, typename Expr>
  1670. struct catch_all_push_back<TryCatch, Expr, 19>
  1671. {
  1672. typedef
  1673. typename proto::result_of::make_expr<
  1674. phoenix::tag::catch_all
  1675. , proto::basic_default_domain
  1676. , Expr
  1677. >::type
  1678. catch_expr;
  1679. typedef phoenix::expression::try_catch<
  1680. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type
  1681. , catch_expr> gen_type;
  1682. typedef typename gen_type::type type;
  1683. static type
  1684. make(
  1685. TryCatch const& try_catch
  1686. , Expr const& catch_
  1687. )
  1688. {
  1689. return
  1690. gen_type::make(
  1691. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch)
  1692. , proto::make_expr<
  1693. phoenix::tag::catch_all
  1694. , proto::basic_default_domain
  1695. >(catch_)
  1696. );
  1697. }
  1698. };
  1699. template <typename TryCatch, typename Exception, typename Capture, typename Expr>
  1700. struct catch_push_back<TryCatch, Exception, Capture, Expr, 20>
  1701. {
  1702. typedef
  1703. typename proto::result_of::make_expr<
  1704. phoenix::tag::catch_
  1705. , proto::basic_default_domain
  1706. , catch_exception<Exception>
  1707. , Capture
  1708. , Expr
  1709. >::type
  1710. catch_expr;
  1711. typedef phoenix::expression::try_catch<
  1712. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type
  1713. , catch_expr> gen_type;
  1714. typedef typename gen_type::type type;
  1715. static type
  1716. make(
  1717. TryCatch const& try_catch
  1718. , Capture const& capture
  1719. , Expr const& catch_
  1720. )
  1721. {
  1722. return
  1723. gen_type::make(
  1724. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch)
  1725. , proto::make_expr<
  1726. phoenix::tag::catch_
  1727. , proto::basic_default_domain
  1728. >(catch_exception<Exception>(), capture, catch_)
  1729. );
  1730. }
  1731. };
  1732. template <typename TryCatch, typename Exception, typename Expr>
  1733. struct catch_push_back<TryCatch, Exception, void, Expr, 20>
  1734. {
  1735. typedef
  1736. typename proto::result_of::make_expr<
  1737. phoenix::tag::catch_
  1738. , proto::basic_default_domain
  1739. , catch_exception<Exception>
  1740. , Expr
  1741. >::type
  1742. catch_expr;
  1743. typedef phoenix::expression::try_catch<
  1744. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type
  1745. , catch_expr> gen_type;
  1746. typedef typename gen_type::type type;
  1747. static type
  1748. make(
  1749. TryCatch const& try_catch
  1750. , Expr const& catch_
  1751. )
  1752. {
  1753. return
  1754. gen_type::make(
  1755. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch)
  1756. , proto::make_expr<
  1757. phoenix::tag::catch_
  1758. , proto::basic_default_domain
  1759. >(catch_exception<Exception>(), catch_)
  1760. );
  1761. }
  1762. };
  1763. template <typename TryCatch, typename Expr>
  1764. struct catch_all_push_back<TryCatch, Expr, 20>
  1765. {
  1766. typedef
  1767. typename proto::result_of::make_expr<
  1768. phoenix::tag::catch_all
  1769. , proto::basic_default_domain
  1770. , Expr
  1771. >::type
  1772. catch_expr;
  1773. typedef phoenix::expression::try_catch<
  1774. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type
  1775. , catch_expr> gen_type;
  1776. typedef typename gen_type::type type;
  1777. static type
  1778. make(
  1779. TryCatch const& try_catch
  1780. , Expr const& catch_
  1781. )
  1782. {
  1783. return
  1784. gen_type::make(
  1785. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch)
  1786. , proto::make_expr<
  1787. phoenix::tag::catch_all
  1788. , proto::basic_default_domain
  1789. >(catch_)
  1790. );
  1791. }
  1792. };
  1793. template <typename TryCatch, typename Exception, typename Capture, typename Expr>
  1794. struct catch_push_back<TryCatch, Exception, Capture, Expr, 21>
  1795. {
  1796. typedef
  1797. typename proto::result_of::make_expr<
  1798. phoenix::tag::catch_
  1799. , proto::basic_default_domain
  1800. , catch_exception<Exception>
  1801. , Capture
  1802. , Expr
  1803. >::type
  1804. catch_expr;
  1805. typedef phoenix::expression::try_catch<
  1806. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type
  1807. , catch_expr> gen_type;
  1808. typedef typename gen_type::type type;
  1809. static type
  1810. make(
  1811. TryCatch const& try_catch
  1812. , Capture const& capture
  1813. , Expr const& catch_
  1814. )
  1815. {
  1816. return
  1817. gen_type::make(
  1818. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch)
  1819. , proto::make_expr<
  1820. phoenix::tag::catch_
  1821. , proto::basic_default_domain
  1822. >(catch_exception<Exception>(), capture, catch_)
  1823. );
  1824. }
  1825. };
  1826. template <typename TryCatch, typename Exception, typename Expr>
  1827. struct catch_push_back<TryCatch, Exception, void, Expr, 21>
  1828. {
  1829. typedef
  1830. typename proto::result_of::make_expr<
  1831. phoenix::tag::catch_
  1832. , proto::basic_default_domain
  1833. , catch_exception<Exception>
  1834. , Expr
  1835. >::type
  1836. catch_expr;
  1837. typedef phoenix::expression::try_catch<
  1838. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type
  1839. , catch_expr> gen_type;
  1840. typedef typename gen_type::type type;
  1841. static type
  1842. make(
  1843. TryCatch const& try_catch
  1844. , Expr const& catch_
  1845. )
  1846. {
  1847. return
  1848. gen_type::make(
  1849. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch)
  1850. , proto::make_expr<
  1851. phoenix::tag::catch_
  1852. , proto::basic_default_domain
  1853. >(catch_exception<Exception>(), catch_)
  1854. );
  1855. }
  1856. };
  1857. template <typename TryCatch, typename Expr>
  1858. struct catch_all_push_back<TryCatch, Expr, 21>
  1859. {
  1860. typedef
  1861. typename proto::result_of::make_expr<
  1862. phoenix::tag::catch_all
  1863. , proto::basic_default_domain
  1864. , Expr
  1865. >::type
  1866. catch_expr;
  1867. typedef phoenix::expression::try_catch<
  1868. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type
  1869. , catch_expr> gen_type;
  1870. typedef typename gen_type::type type;
  1871. static type
  1872. make(
  1873. TryCatch const& try_catch
  1874. , Expr const& catch_
  1875. )
  1876. {
  1877. return
  1878. gen_type::make(
  1879. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch)
  1880. , proto::make_expr<
  1881. phoenix::tag::catch_all
  1882. , proto::basic_default_domain
  1883. >(catch_)
  1884. );
  1885. }
  1886. };
  1887. template <typename TryCatch, typename Exception, typename Capture, typename Expr>
  1888. struct catch_push_back<TryCatch, Exception, Capture, Expr, 22>
  1889. {
  1890. typedef
  1891. typename proto::result_of::make_expr<
  1892. phoenix::tag::catch_
  1893. , proto::basic_default_domain
  1894. , catch_exception<Exception>
  1895. , Capture
  1896. , Expr
  1897. >::type
  1898. catch_expr;
  1899. typedef phoenix::expression::try_catch<
  1900. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type
  1901. , catch_expr> gen_type;
  1902. typedef typename gen_type::type type;
  1903. static type
  1904. make(
  1905. TryCatch const& try_catch
  1906. , Capture const& capture
  1907. , Expr const& catch_
  1908. )
  1909. {
  1910. return
  1911. gen_type::make(
  1912. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch)
  1913. , proto::make_expr<
  1914. phoenix::tag::catch_
  1915. , proto::basic_default_domain
  1916. >(catch_exception<Exception>(), capture, catch_)
  1917. );
  1918. }
  1919. };
  1920. template <typename TryCatch, typename Exception, typename Expr>
  1921. struct catch_push_back<TryCatch, Exception, void, Expr, 22>
  1922. {
  1923. typedef
  1924. typename proto::result_of::make_expr<
  1925. phoenix::tag::catch_
  1926. , proto::basic_default_domain
  1927. , catch_exception<Exception>
  1928. , Expr
  1929. >::type
  1930. catch_expr;
  1931. typedef phoenix::expression::try_catch<
  1932. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type
  1933. , catch_expr> gen_type;
  1934. typedef typename gen_type::type type;
  1935. static type
  1936. make(
  1937. TryCatch const& try_catch
  1938. , Expr const& catch_
  1939. )
  1940. {
  1941. return
  1942. gen_type::make(
  1943. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch)
  1944. , proto::make_expr<
  1945. phoenix::tag::catch_
  1946. , proto::basic_default_domain
  1947. >(catch_exception<Exception>(), catch_)
  1948. );
  1949. }
  1950. };
  1951. template <typename TryCatch, typename Expr>
  1952. struct catch_all_push_back<TryCatch, Expr, 22>
  1953. {
  1954. typedef
  1955. typename proto::result_of::make_expr<
  1956. phoenix::tag::catch_all
  1957. , proto::basic_default_domain
  1958. , Expr
  1959. >::type
  1960. catch_expr;
  1961. typedef phoenix::expression::try_catch<
  1962. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type
  1963. , catch_expr> gen_type;
  1964. typedef typename gen_type::type type;
  1965. static type
  1966. make(
  1967. TryCatch const& try_catch
  1968. , Expr const& catch_
  1969. )
  1970. {
  1971. return
  1972. gen_type::make(
  1973. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch)
  1974. , proto::make_expr<
  1975. phoenix::tag::catch_all
  1976. , proto::basic_default_domain
  1977. >(catch_)
  1978. );
  1979. }
  1980. };
  1981. template <typename TryCatch, typename Exception, typename Capture, typename Expr>
  1982. struct catch_push_back<TryCatch, Exception, Capture, Expr, 23>
  1983. {
  1984. typedef
  1985. typename proto::result_of::make_expr<
  1986. phoenix::tag::catch_
  1987. , proto::basic_default_domain
  1988. , catch_exception<Exception>
  1989. , Capture
  1990. , Expr
  1991. >::type
  1992. catch_expr;
  1993. typedef phoenix::expression::try_catch<
  1994. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type
  1995. , catch_expr> gen_type;
  1996. typedef typename gen_type::type type;
  1997. static type
  1998. make(
  1999. TryCatch const& try_catch
  2000. , Capture const& capture
  2001. , Expr const& catch_
  2002. )
  2003. {
  2004. return
  2005. gen_type::make(
  2006. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch)
  2007. , proto::make_expr<
  2008. phoenix::tag::catch_
  2009. , proto::basic_default_domain
  2010. >(catch_exception<Exception>(), capture, catch_)
  2011. );
  2012. }
  2013. };
  2014. template <typename TryCatch, typename Exception, typename Expr>
  2015. struct catch_push_back<TryCatch, Exception, void, Expr, 23>
  2016. {
  2017. typedef
  2018. typename proto::result_of::make_expr<
  2019. phoenix::tag::catch_
  2020. , proto::basic_default_domain
  2021. , catch_exception<Exception>
  2022. , Expr
  2023. >::type
  2024. catch_expr;
  2025. typedef phoenix::expression::try_catch<
  2026. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type
  2027. , catch_expr> gen_type;
  2028. typedef typename gen_type::type type;
  2029. static type
  2030. make(
  2031. TryCatch const& try_catch
  2032. , Expr const& catch_
  2033. )
  2034. {
  2035. return
  2036. gen_type::make(
  2037. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch)
  2038. , proto::make_expr<
  2039. phoenix::tag::catch_
  2040. , proto::basic_default_domain
  2041. >(catch_exception<Exception>(), catch_)
  2042. );
  2043. }
  2044. };
  2045. template <typename TryCatch, typename Expr>
  2046. struct catch_all_push_back<TryCatch, Expr, 23>
  2047. {
  2048. typedef
  2049. typename proto::result_of::make_expr<
  2050. phoenix::tag::catch_all
  2051. , proto::basic_default_domain
  2052. , Expr
  2053. >::type
  2054. catch_expr;
  2055. typedef phoenix::expression::try_catch<
  2056. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type
  2057. , catch_expr> gen_type;
  2058. typedef typename gen_type::type type;
  2059. static type
  2060. make(
  2061. TryCatch const& try_catch
  2062. , Expr const& catch_
  2063. )
  2064. {
  2065. return
  2066. gen_type::make(
  2067. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch)
  2068. , proto::make_expr<
  2069. phoenix::tag::catch_all
  2070. , proto::basic_default_domain
  2071. >(catch_)
  2072. );
  2073. }
  2074. };
  2075. template <typename TryCatch, typename Exception, typename Capture, typename Expr>
  2076. struct catch_push_back<TryCatch, Exception, Capture, Expr, 24>
  2077. {
  2078. typedef
  2079. typename proto::result_of::make_expr<
  2080. phoenix::tag::catch_
  2081. , proto::basic_default_domain
  2082. , catch_exception<Exception>
  2083. , Capture
  2084. , Expr
  2085. >::type
  2086. catch_expr;
  2087. typedef phoenix::expression::try_catch<
  2088. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type
  2089. , catch_expr> gen_type;
  2090. typedef typename gen_type::type type;
  2091. static type
  2092. make(
  2093. TryCatch const& try_catch
  2094. , Capture const& capture
  2095. , Expr const& catch_
  2096. )
  2097. {
  2098. return
  2099. gen_type::make(
  2100. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch)
  2101. , proto::make_expr<
  2102. phoenix::tag::catch_
  2103. , proto::basic_default_domain
  2104. >(catch_exception<Exception>(), capture, catch_)
  2105. );
  2106. }
  2107. };
  2108. template <typename TryCatch, typename Exception, typename Expr>
  2109. struct catch_push_back<TryCatch, Exception, void, Expr, 24>
  2110. {
  2111. typedef
  2112. typename proto::result_of::make_expr<
  2113. phoenix::tag::catch_
  2114. , proto::basic_default_domain
  2115. , catch_exception<Exception>
  2116. , Expr
  2117. >::type
  2118. catch_expr;
  2119. typedef phoenix::expression::try_catch<
  2120. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type
  2121. , catch_expr> gen_type;
  2122. typedef typename gen_type::type type;
  2123. static type
  2124. make(
  2125. TryCatch const& try_catch
  2126. , Expr const& catch_
  2127. )
  2128. {
  2129. return
  2130. gen_type::make(
  2131. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch)
  2132. , proto::make_expr<
  2133. phoenix::tag::catch_
  2134. , proto::basic_default_domain
  2135. >(catch_exception<Exception>(), catch_)
  2136. );
  2137. }
  2138. };
  2139. template <typename TryCatch, typename Expr>
  2140. struct catch_all_push_back<TryCatch, Expr, 24>
  2141. {
  2142. typedef
  2143. typename proto::result_of::make_expr<
  2144. phoenix::tag::catch_all
  2145. , proto::basic_default_domain
  2146. , Expr
  2147. >::type
  2148. catch_expr;
  2149. typedef phoenix::expression::try_catch<
  2150. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type
  2151. , catch_expr> gen_type;
  2152. typedef typename gen_type::type type;
  2153. static type
  2154. make(
  2155. TryCatch const& try_catch
  2156. , Expr const& catch_
  2157. )
  2158. {
  2159. return
  2160. gen_type::make(
  2161. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch)
  2162. , proto::make_expr<
  2163. phoenix::tag::catch_all
  2164. , proto::basic_default_domain
  2165. >(catch_)
  2166. );
  2167. }
  2168. };
  2169. template <typename TryCatch, typename Exception, typename Capture, typename Expr>
  2170. struct catch_push_back<TryCatch, Exception, Capture, Expr, 25>
  2171. {
  2172. typedef
  2173. typename proto::result_of::make_expr<
  2174. phoenix::tag::catch_
  2175. , proto::basic_default_domain
  2176. , catch_exception<Exception>
  2177. , Capture
  2178. , Expr
  2179. >::type
  2180. catch_expr;
  2181. typedef phoenix::expression::try_catch<
  2182. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type
  2183. , catch_expr> gen_type;
  2184. typedef typename gen_type::type type;
  2185. static type
  2186. make(
  2187. TryCatch const& try_catch
  2188. , Capture const& capture
  2189. , Expr const& catch_
  2190. )
  2191. {
  2192. return
  2193. gen_type::make(
  2194. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch)
  2195. , proto::make_expr<
  2196. phoenix::tag::catch_
  2197. , proto::basic_default_domain
  2198. >(catch_exception<Exception>(), capture, catch_)
  2199. );
  2200. }
  2201. };
  2202. template <typename TryCatch, typename Exception, typename Expr>
  2203. struct catch_push_back<TryCatch, Exception, void, Expr, 25>
  2204. {
  2205. typedef
  2206. typename proto::result_of::make_expr<
  2207. phoenix::tag::catch_
  2208. , proto::basic_default_domain
  2209. , catch_exception<Exception>
  2210. , Expr
  2211. >::type
  2212. catch_expr;
  2213. typedef phoenix::expression::try_catch<
  2214. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type
  2215. , catch_expr> gen_type;
  2216. typedef typename gen_type::type type;
  2217. static type
  2218. make(
  2219. TryCatch const& try_catch
  2220. , Expr const& catch_
  2221. )
  2222. {
  2223. return
  2224. gen_type::make(
  2225. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch)
  2226. , proto::make_expr<
  2227. phoenix::tag::catch_
  2228. , proto::basic_default_domain
  2229. >(catch_exception<Exception>(), catch_)
  2230. );
  2231. }
  2232. };
  2233. template <typename TryCatch, typename Expr>
  2234. struct catch_all_push_back<TryCatch, Expr, 25>
  2235. {
  2236. typedef
  2237. typename proto::result_of::make_expr<
  2238. phoenix::tag::catch_all
  2239. , proto::basic_default_domain
  2240. , Expr
  2241. >::type
  2242. catch_expr;
  2243. typedef phoenix::expression::try_catch<
  2244. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type
  2245. , catch_expr> gen_type;
  2246. typedef typename gen_type::type type;
  2247. static type
  2248. make(
  2249. TryCatch const& try_catch
  2250. , Expr const& catch_
  2251. )
  2252. {
  2253. return
  2254. gen_type::make(
  2255. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch)
  2256. , proto::make_expr<
  2257. phoenix::tag::catch_all
  2258. , proto::basic_default_domain
  2259. >(catch_)
  2260. );
  2261. }
  2262. };
  2263. template <typename TryCatch, typename Exception, typename Capture, typename Expr>
  2264. struct catch_push_back<TryCatch, Exception, Capture, Expr, 26>
  2265. {
  2266. typedef
  2267. typename proto::result_of::make_expr<
  2268. phoenix::tag::catch_
  2269. , proto::basic_default_domain
  2270. , catch_exception<Exception>
  2271. , Capture
  2272. , Expr
  2273. >::type
  2274. catch_expr;
  2275. typedef phoenix::expression::try_catch<
  2276. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type
  2277. , catch_expr> gen_type;
  2278. typedef typename gen_type::type type;
  2279. static type
  2280. make(
  2281. TryCatch const& try_catch
  2282. , Capture const& capture
  2283. , Expr const& catch_
  2284. )
  2285. {
  2286. return
  2287. gen_type::make(
  2288. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch)
  2289. , proto::make_expr<
  2290. phoenix::tag::catch_
  2291. , proto::basic_default_domain
  2292. >(catch_exception<Exception>(), capture, catch_)
  2293. );
  2294. }
  2295. };
  2296. template <typename TryCatch, typename Exception, typename Expr>
  2297. struct catch_push_back<TryCatch, Exception, void, Expr, 26>
  2298. {
  2299. typedef
  2300. typename proto::result_of::make_expr<
  2301. phoenix::tag::catch_
  2302. , proto::basic_default_domain
  2303. , catch_exception<Exception>
  2304. , Expr
  2305. >::type
  2306. catch_expr;
  2307. typedef phoenix::expression::try_catch<
  2308. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type
  2309. , catch_expr> gen_type;
  2310. typedef typename gen_type::type type;
  2311. static type
  2312. make(
  2313. TryCatch const& try_catch
  2314. , Expr const& catch_
  2315. )
  2316. {
  2317. return
  2318. gen_type::make(
  2319. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch)
  2320. , proto::make_expr<
  2321. phoenix::tag::catch_
  2322. , proto::basic_default_domain
  2323. >(catch_exception<Exception>(), catch_)
  2324. );
  2325. }
  2326. };
  2327. template <typename TryCatch, typename Expr>
  2328. struct catch_all_push_back<TryCatch, Expr, 26>
  2329. {
  2330. typedef
  2331. typename proto::result_of::make_expr<
  2332. phoenix::tag::catch_all
  2333. , proto::basic_default_domain
  2334. , Expr
  2335. >::type
  2336. catch_expr;
  2337. typedef phoenix::expression::try_catch<
  2338. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type
  2339. , catch_expr> gen_type;
  2340. typedef typename gen_type::type type;
  2341. static type
  2342. make(
  2343. TryCatch const& try_catch
  2344. , Expr const& catch_
  2345. )
  2346. {
  2347. return
  2348. gen_type::make(
  2349. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch)
  2350. , proto::make_expr<
  2351. phoenix::tag::catch_all
  2352. , proto::basic_default_domain
  2353. >(catch_)
  2354. );
  2355. }
  2356. };
  2357. template <typename TryCatch, typename Exception, typename Capture, typename Expr>
  2358. struct catch_push_back<TryCatch, Exception, Capture, Expr, 27>
  2359. {
  2360. typedef
  2361. typename proto::result_of::make_expr<
  2362. phoenix::tag::catch_
  2363. , proto::basic_default_domain
  2364. , catch_exception<Exception>
  2365. , Capture
  2366. , Expr
  2367. >::type
  2368. catch_expr;
  2369. typedef phoenix::expression::try_catch<
  2370. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type
  2371. , catch_expr> gen_type;
  2372. typedef typename gen_type::type type;
  2373. static type
  2374. make(
  2375. TryCatch const& try_catch
  2376. , Capture const& capture
  2377. , Expr const& catch_
  2378. )
  2379. {
  2380. return
  2381. gen_type::make(
  2382. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch)
  2383. , proto::make_expr<
  2384. phoenix::tag::catch_
  2385. , proto::basic_default_domain
  2386. >(catch_exception<Exception>(), capture, catch_)
  2387. );
  2388. }
  2389. };
  2390. template <typename TryCatch, typename Exception, typename Expr>
  2391. struct catch_push_back<TryCatch, Exception, void, Expr, 27>
  2392. {
  2393. typedef
  2394. typename proto::result_of::make_expr<
  2395. phoenix::tag::catch_
  2396. , proto::basic_default_domain
  2397. , catch_exception<Exception>
  2398. , Expr
  2399. >::type
  2400. catch_expr;
  2401. typedef phoenix::expression::try_catch<
  2402. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type
  2403. , catch_expr> gen_type;
  2404. typedef typename gen_type::type type;
  2405. static type
  2406. make(
  2407. TryCatch const& try_catch
  2408. , Expr const& catch_
  2409. )
  2410. {
  2411. return
  2412. gen_type::make(
  2413. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch)
  2414. , proto::make_expr<
  2415. phoenix::tag::catch_
  2416. , proto::basic_default_domain
  2417. >(catch_exception<Exception>(), catch_)
  2418. );
  2419. }
  2420. };
  2421. template <typename TryCatch, typename Expr>
  2422. struct catch_all_push_back<TryCatch, Expr, 27>
  2423. {
  2424. typedef
  2425. typename proto::result_of::make_expr<
  2426. phoenix::tag::catch_all
  2427. , proto::basic_default_domain
  2428. , Expr
  2429. >::type
  2430. catch_expr;
  2431. typedef phoenix::expression::try_catch<
  2432. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type
  2433. , catch_expr> gen_type;
  2434. typedef typename gen_type::type type;
  2435. static type
  2436. make(
  2437. TryCatch const& try_catch
  2438. , Expr const& catch_
  2439. )
  2440. {
  2441. return
  2442. gen_type::make(
  2443. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch)
  2444. , proto::make_expr<
  2445. phoenix::tag::catch_all
  2446. , proto::basic_default_domain
  2447. >(catch_)
  2448. );
  2449. }
  2450. };
  2451. template <typename TryCatch, typename Exception, typename Capture, typename Expr>
  2452. struct catch_push_back<TryCatch, Exception, Capture, Expr, 28>
  2453. {
  2454. typedef
  2455. typename proto::result_of::make_expr<
  2456. phoenix::tag::catch_
  2457. , proto::basic_default_domain
  2458. , catch_exception<Exception>
  2459. , Capture
  2460. , Expr
  2461. >::type
  2462. catch_expr;
  2463. typedef phoenix::expression::try_catch<
  2464. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type
  2465. , catch_expr> gen_type;
  2466. typedef typename gen_type::type type;
  2467. static type
  2468. make(
  2469. TryCatch const& try_catch
  2470. , Capture const& capture
  2471. , Expr const& catch_
  2472. )
  2473. {
  2474. return
  2475. gen_type::make(
  2476. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch)
  2477. , proto::make_expr<
  2478. phoenix::tag::catch_
  2479. , proto::basic_default_domain
  2480. >(catch_exception<Exception>(), capture, catch_)
  2481. );
  2482. }
  2483. };
  2484. template <typename TryCatch, typename Exception, typename Expr>
  2485. struct catch_push_back<TryCatch, Exception, void, Expr, 28>
  2486. {
  2487. typedef
  2488. typename proto::result_of::make_expr<
  2489. phoenix::tag::catch_
  2490. , proto::basic_default_domain
  2491. , catch_exception<Exception>
  2492. , Expr
  2493. >::type
  2494. catch_expr;
  2495. typedef phoenix::expression::try_catch<
  2496. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type
  2497. , catch_expr> gen_type;
  2498. typedef typename gen_type::type type;
  2499. static type
  2500. make(
  2501. TryCatch const& try_catch
  2502. , Expr const& catch_
  2503. )
  2504. {
  2505. return
  2506. gen_type::make(
  2507. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch)
  2508. , proto::make_expr<
  2509. phoenix::tag::catch_
  2510. , proto::basic_default_domain
  2511. >(catch_exception<Exception>(), catch_)
  2512. );
  2513. }
  2514. };
  2515. template <typename TryCatch, typename Expr>
  2516. struct catch_all_push_back<TryCatch, Expr, 28>
  2517. {
  2518. typedef
  2519. typename proto::result_of::make_expr<
  2520. phoenix::tag::catch_all
  2521. , proto::basic_default_domain
  2522. , Expr
  2523. >::type
  2524. catch_expr;
  2525. typedef phoenix::expression::try_catch<
  2526. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type
  2527. , catch_expr> gen_type;
  2528. typedef typename gen_type::type type;
  2529. static type
  2530. make(
  2531. TryCatch const& try_catch
  2532. , Expr const& catch_
  2533. )
  2534. {
  2535. return
  2536. gen_type::make(
  2537. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch)
  2538. , proto::make_expr<
  2539. phoenix::tag::catch_all
  2540. , proto::basic_default_domain
  2541. >(catch_)
  2542. );
  2543. }
  2544. };
  2545. template <typename TryCatch, typename Exception, typename Capture, typename Expr>
  2546. struct catch_push_back<TryCatch, Exception, Capture, Expr, 29>
  2547. {
  2548. typedef
  2549. typename proto::result_of::make_expr<
  2550. phoenix::tag::catch_
  2551. , proto::basic_default_domain
  2552. , catch_exception<Exception>
  2553. , Capture
  2554. , Expr
  2555. >::type
  2556. catch_expr;
  2557. typedef phoenix::expression::try_catch<
  2558. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type
  2559. , catch_expr> gen_type;
  2560. typedef typename gen_type::type type;
  2561. static type
  2562. make(
  2563. TryCatch const& try_catch
  2564. , Capture const& capture
  2565. , Expr const& catch_
  2566. )
  2567. {
  2568. return
  2569. gen_type::make(
  2570. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch)
  2571. , proto::make_expr<
  2572. phoenix::tag::catch_
  2573. , proto::basic_default_domain
  2574. >(catch_exception<Exception>(), capture, catch_)
  2575. );
  2576. }
  2577. };
  2578. template <typename TryCatch, typename Exception, typename Expr>
  2579. struct catch_push_back<TryCatch, Exception, void, Expr, 29>
  2580. {
  2581. typedef
  2582. typename proto::result_of::make_expr<
  2583. phoenix::tag::catch_
  2584. , proto::basic_default_domain
  2585. , catch_exception<Exception>
  2586. , Expr
  2587. >::type
  2588. catch_expr;
  2589. typedef phoenix::expression::try_catch<
  2590. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type
  2591. , catch_expr> gen_type;
  2592. typedef typename gen_type::type type;
  2593. static type
  2594. make(
  2595. TryCatch const& try_catch
  2596. , Expr const& catch_
  2597. )
  2598. {
  2599. return
  2600. gen_type::make(
  2601. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch)
  2602. , proto::make_expr<
  2603. phoenix::tag::catch_
  2604. , proto::basic_default_domain
  2605. >(catch_exception<Exception>(), catch_)
  2606. );
  2607. }
  2608. };
  2609. template <typename TryCatch, typename Expr>
  2610. struct catch_all_push_back<TryCatch, Expr, 29>
  2611. {
  2612. typedef
  2613. typename proto::result_of::make_expr<
  2614. phoenix::tag::catch_all
  2615. , proto::basic_default_domain
  2616. , Expr
  2617. >::type
  2618. catch_expr;
  2619. typedef phoenix::expression::try_catch<
  2620. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type
  2621. , catch_expr> gen_type;
  2622. typedef typename gen_type::type type;
  2623. static type
  2624. make(
  2625. TryCatch const& try_catch
  2626. , Expr const& catch_
  2627. )
  2628. {
  2629. return
  2630. gen_type::make(
  2631. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch)
  2632. , proto::make_expr<
  2633. phoenix::tag::catch_all
  2634. , proto::basic_default_domain
  2635. >(catch_)
  2636. );
  2637. }
  2638. };
  2639. template <typename TryCatch, typename Exception, typename Capture, typename Expr>
  2640. struct catch_push_back<TryCatch, Exception, Capture, Expr, 30>
  2641. {
  2642. typedef
  2643. typename proto::result_of::make_expr<
  2644. phoenix::tag::catch_
  2645. , proto::basic_default_domain
  2646. , catch_exception<Exception>
  2647. , Capture
  2648. , Expr
  2649. >::type
  2650. catch_expr;
  2651. typedef phoenix::expression::try_catch<
  2652. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type
  2653. , catch_expr> gen_type;
  2654. typedef typename gen_type::type type;
  2655. static type
  2656. make(
  2657. TryCatch const& try_catch
  2658. , Capture const& capture
  2659. , Expr const& catch_
  2660. )
  2661. {
  2662. return
  2663. gen_type::make(
  2664. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch)
  2665. , proto::make_expr<
  2666. phoenix::tag::catch_
  2667. , proto::basic_default_domain
  2668. >(catch_exception<Exception>(), capture, catch_)
  2669. );
  2670. }
  2671. };
  2672. template <typename TryCatch, typename Exception, typename Expr>
  2673. struct catch_push_back<TryCatch, Exception, void, Expr, 30>
  2674. {
  2675. typedef
  2676. typename proto::result_of::make_expr<
  2677. phoenix::tag::catch_
  2678. , proto::basic_default_domain
  2679. , catch_exception<Exception>
  2680. , Expr
  2681. >::type
  2682. catch_expr;
  2683. typedef phoenix::expression::try_catch<
  2684. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type
  2685. , catch_expr> gen_type;
  2686. typedef typename gen_type::type type;
  2687. static type
  2688. make(
  2689. TryCatch const& try_catch
  2690. , Expr const& catch_
  2691. )
  2692. {
  2693. return
  2694. gen_type::make(
  2695. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch)
  2696. , proto::make_expr<
  2697. phoenix::tag::catch_
  2698. , proto::basic_default_domain
  2699. >(catch_exception<Exception>(), catch_)
  2700. );
  2701. }
  2702. };
  2703. template <typename TryCatch, typename Expr>
  2704. struct catch_all_push_back<TryCatch, Expr, 30>
  2705. {
  2706. typedef
  2707. typename proto::result_of::make_expr<
  2708. phoenix::tag::catch_all
  2709. , proto::basic_default_domain
  2710. , Expr
  2711. >::type
  2712. catch_expr;
  2713. typedef phoenix::expression::try_catch<
  2714. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type
  2715. , catch_expr> gen_type;
  2716. typedef typename gen_type::type type;
  2717. static type
  2718. make(
  2719. TryCatch const& try_catch
  2720. , Expr const& catch_
  2721. )
  2722. {
  2723. return
  2724. gen_type::make(
  2725. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch)
  2726. , proto::make_expr<
  2727. phoenix::tag::catch_all
  2728. , proto::basic_default_domain
  2729. >(catch_)
  2730. );
  2731. }
  2732. };
  2733. template <typename TryCatch, typename Exception, typename Capture, typename Expr>
  2734. struct catch_push_back<TryCatch, Exception, Capture, Expr, 31>
  2735. {
  2736. typedef
  2737. typename proto::result_of::make_expr<
  2738. phoenix::tag::catch_
  2739. , proto::basic_default_domain
  2740. , catch_exception<Exception>
  2741. , Capture
  2742. , Expr
  2743. >::type
  2744. catch_expr;
  2745. typedef phoenix::expression::try_catch<
  2746. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type
  2747. , catch_expr> gen_type;
  2748. typedef typename gen_type::type type;
  2749. static type
  2750. make(
  2751. TryCatch const& try_catch
  2752. , Capture const& capture
  2753. , Expr const& catch_
  2754. )
  2755. {
  2756. return
  2757. gen_type::make(
  2758. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch)
  2759. , proto::make_expr<
  2760. phoenix::tag::catch_
  2761. , proto::basic_default_domain
  2762. >(catch_exception<Exception>(), capture, catch_)
  2763. );
  2764. }
  2765. };
  2766. template <typename TryCatch, typename Exception, typename Expr>
  2767. struct catch_push_back<TryCatch, Exception, void, Expr, 31>
  2768. {
  2769. typedef
  2770. typename proto::result_of::make_expr<
  2771. phoenix::tag::catch_
  2772. , proto::basic_default_domain
  2773. , catch_exception<Exception>
  2774. , Expr
  2775. >::type
  2776. catch_expr;
  2777. typedef phoenix::expression::try_catch<
  2778. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type
  2779. , catch_expr> gen_type;
  2780. typedef typename gen_type::type type;
  2781. static type
  2782. make(
  2783. TryCatch const& try_catch
  2784. , Expr const& catch_
  2785. )
  2786. {
  2787. return
  2788. gen_type::make(
  2789. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch)
  2790. , proto::make_expr<
  2791. phoenix::tag::catch_
  2792. , proto::basic_default_domain
  2793. >(catch_exception<Exception>(), catch_)
  2794. );
  2795. }
  2796. };
  2797. template <typename TryCatch, typename Expr>
  2798. struct catch_all_push_back<TryCatch, Expr, 31>
  2799. {
  2800. typedef
  2801. typename proto::result_of::make_expr<
  2802. phoenix::tag::catch_all
  2803. , proto::basic_default_domain
  2804. , Expr
  2805. >::type
  2806. catch_expr;
  2807. typedef phoenix::expression::try_catch<
  2808. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type
  2809. , catch_expr> gen_type;
  2810. typedef typename gen_type::type type;
  2811. static type
  2812. make(
  2813. TryCatch const& try_catch
  2814. , Expr const& catch_
  2815. )
  2816. {
  2817. return
  2818. gen_type::make(
  2819. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch)
  2820. , proto::make_expr<
  2821. phoenix::tag::catch_all
  2822. , proto::basic_default_domain
  2823. >(catch_)
  2824. );
  2825. }
  2826. };
  2827. template <typename TryCatch, typename Exception, typename Capture, typename Expr>
  2828. struct catch_push_back<TryCatch, Exception, Capture, Expr, 32>
  2829. {
  2830. typedef
  2831. typename proto::result_of::make_expr<
  2832. phoenix::tag::catch_
  2833. , proto::basic_default_domain
  2834. , catch_exception<Exception>
  2835. , Capture
  2836. , Expr
  2837. >::type
  2838. catch_expr;
  2839. typedef phoenix::expression::try_catch<
  2840. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type
  2841. , catch_expr> gen_type;
  2842. typedef typename gen_type::type type;
  2843. static type
  2844. make(
  2845. TryCatch const& try_catch
  2846. , Capture const& capture
  2847. , Expr const& catch_
  2848. )
  2849. {
  2850. return
  2851. gen_type::make(
  2852. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch)
  2853. , proto::make_expr<
  2854. phoenix::tag::catch_
  2855. , proto::basic_default_domain
  2856. >(catch_exception<Exception>(), capture, catch_)
  2857. );
  2858. }
  2859. };
  2860. template <typename TryCatch, typename Exception, typename Expr>
  2861. struct catch_push_back<TryCatch, Exception, void, Expr, 32>
  2862. {
  2863. typedef
  2864. typename proto::result_of::make_expr<
  2865. phoenix::tag::catch_
  2866. , proto::basic_default_domain
  2867. , catch_exception<Exception>
  2868. , Expr
  2869. >::type
  2870. catch_expr;
  2871. typedef phoenix::expression::try_catch<
  2872. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type
  2873. , catch_expr> gen_type;
  2874. typedef typename gen_type::type type;
  2875. static type
  2876. make(
  2877. TryCatch const& try_catch
  2878. , Expr const& catch_
  2879. )
  2880. {
  2881. return
  2882. gen_type::make(
  2883. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch)
  2884. , proto::make_expr<
  2885. phoenix::tag::catch_
  2886. , proto::basic_default_domain
  2887. >(catch_exception<Exception>(), catch_)
  2888. );
  2889. }
  2890. };
  2891. template <typename TryCatch, typename Expr>
  2892. struct catch_all_push_back<TryCatch, Expr, 32>
  2893. {
  2894. typedef
  2895. typename proto::result_of::make_expr<
  2896. phoenix::tag::catch_all
  2897. , proto::basic_default_domain
  2898. , Expr
  2899. >::type
  2900. catch_expr;
  2901. typedef phoenix::expression::try_catch<
  2902. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type
  2903. , catch_expr> gen_type;
  2904. typedef typename gen_type::type type;
  2905. static type
  2906. make(
  2907. TryCatch const& try_catch
  2908. , Expr const& catch_
  2909. )
  2910. {
  2911. return
  2912. gen_type::make(
  2913. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch)
  2914. , proto::make_expr<
  2915. phoenix::tag::catch_all
  2916. , proto::basic_default_domain
  2917. >(catch_)
  2918. );
  2919. }
  2920. };
  2921. template <typename TryCatch, typename Exception, typename Capture, typename Expr>
  2922. struct catch_push_back<TryCatch, Exception, Capture, Expr, 33>
  2923. {
  2924. typedef
  2925. typename proto::result_of::make_expr<
  2926. phoenix::tag::catch_
  2927. , proto::basic_default_domain
  2928. , catch_exception<Exception>
  2929. , Capture
  2930. , Expr
  2931. >::type
  2932. catch_expr;
  2933. typedef phoenix::expression::try_catch<
  2934. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type
  2935. , catch_expr> gen_type;
  2936. typedef typename gen_type::type type;
  2937. static type
  2938. make(
  2939. TryCatch const& try_catch
  2940. , Capture const& capture
  2941. , Expr const& catch_
  2942. )
  2943. {
  2944. return
  2945. gen_type::make(
  2946. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch)
  2947. , proto::make_expr<
  2948. phoenix::tag::catch_
  2949. , proto::basic_default_domain
  2950. >(catch_exception<Exception>(), capture, catch_)
  2951. );
  2952. }
  2953. };
  2954. template <typename TryCatch, typename Exception, typename Expr>
  2955. struct catch_push_back<TryCatch, Exception, void, Expr, 33>
  2956. {
  2957. typedef
  2958. typename proto::result_of::make_expr<
  2959. phoenix::tag::catch_
  2960. , proto::basic_default_domain
  2961. , catch_exception<Exception>
  2962. , Expr
  2963. >::type
  2964. catch_expr;
  2965. typedef phoenix::expression::try_catch<
  2966. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type
  2967. , catch_expr> gen_type;
  2968. typedef typename gen_type::type type;
  2969. static type
  2970. make(
  2971. TryCatch const& try_catch
  2972. , Expr const& catch_
  2973. )
  2974. {
  2975. return
  2976. gen_type::make(
  2977. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch)
  2978. , proto::make_expr<
  2979. phoenix::tag::catch_
  2980. , proto::basic_default_domain
  2981. >(catch_exception<Exception>(), catch_)
  2982. );
  2983. }
  2984. };
  2985. template <typename TryCatch, typename Expr>
  2986. struct catch_all_push_back<TryCatch, Expr, 33>
  2987. {
  2988. typedef
  2989. typename proto::result_of::make_expr<
  2990. phoenix::tag::catch_all
  2991. , proto::basic_default_domain
  2992. , Expr
  2993. >::type
  2994. catch_expr;
  2995. typedef phoenix::expression::try_catch<
  2996. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type
  2997. , catch_expr> gen_type;
  2998. typedef typename gen_type::type type;
  2999. static type
  3000. make(
  3001. TryCatch const& try_catch
  3002. , Expr const& catch_
  3003. )
  3004. {
  3005. return
  3006. gen_type::make(
  3007. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch)
  3008. , proto::make_expr<
  3009. phoenix::tag::catch_all
  3010. , proto::basic_default_domain
  3011. >(catch_)
  3012. );
  3013. }
  3014. };
  3015. template <typename TryCatch, typename Exception, typename Capture, typename Expr>
  3016. struct catch_push_back<TryCatch, Exception, Capture, Expr, 34>
  3017. {
  3018. typedef
  3019. typename proto::result_of::make_expr<
  3020. phoenix::tag::catch_
  3021. , proto::basic_default_domain
  3022. , catch_exception<Exception>
  3023. , Capture
  3024. , Expr
  3025. >::type
  3026. catch_expr;
  3027. typedef phoenix::expression::try_catch<
  3028. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type
  3029. , catch_expr> gen_type;
  3030. typedef typename gen_type::type type;
  3031. static type
  3032. make(
  3033. TryCatch const& try_catch
  3034. , Capture const& capture
  3035. , Expr const& catch_
  3036. )
  3037. {
  3038. return
  3039. gen_type::make(
  3040. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch)
  3041. , proto::make_expr<
  3042. phoenix::tag::catch_
  3043. , proto::basic_default_domain
  3044. >(catch_exception<Exception>(), capture, catch_)
  3045. );
  3046. }
  3047. };
  3048. template <typename TryCatch, typename Exception, typename Expr>
  3049. struct catch_push_back<TryCatch, Exception, void, Expr, 34>
  3050. {
  3051. typedef
  3052. typename proto::result_of::make_expr<
  3053. phoenix::tag::catch_
  3054. , proto::basic_default_domain
  3055. , catch_exception<Exception>
  3056. , Expr
  3057. >::type
  3058. catch_expr;
  3059. typedef phoenix::expression::try_catch<
  3060. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type
  3061. , catch_expr> gen_type;
  3062. typedef typename gen_type::type type;
  3063. static type
  3064. make(
  3065. TryCatch const& try_catch
  3066. , Expr const& catch_
  3067. )
  3068. {
  3069. return
  3070. gen_type::make(
  3071. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch)
  3072. , proto::make_expr<
  3073. phoenix::tag::catch_
  3074. , proto::basic_default_domain
  3075. >(catch_exception<Exception>(), catch_)
  3076. );
  3077. }
  3078. };
  3079. template <typename TryCatch, typename Expr>
  3080. struct catch_all_push_back<TryCatch, Expr, 34>
  3081. {
  3082. typedef
  3083. typename proto::result_of::make_expr<
  3084. phoenix::tag::catch_all
  3085. , proto::basic_default_domain
  3086. , Expr
  3087. >::type
  3088. catch_expr;
  3089. typedef phoenix::expression::try_catch<
  3090. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type
  3091. , catch_expr> gen_type;
  3092. typedef typename gen_type::type type;
  3093. static type
  3094. make(
  3095. TryCatch const& try_catch
  3096. , Expr const& catch_
  3097. )
  3098. {
  3099. return
  3100. gen_type::make(
  3101. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch)
  3102. , proto::make_expr<
  3103. phoenix::tag::catch_all
  3104. , proto::basic_default_domain
  3105. >(catch_)
  3106. );
  3107. }
  3108. };
  3109. template <typename TryCatch, typename Exception, typename Capture, typename Expr>
  3110. struct catch_push_back<TryCatch, Exception, Capture, Expr, 35>
  3111. {
  3112. typedef
  3113. typename proto::result_of::make_expr<
  3114. phoenix::tag::catch_
  3115. , proto::basic_default_domain
  3116. , catch_exception<Exception>
  3117. , Capture
  3118. , Expr
  3119. >::type
  3120. catch_expr;
  3121. typedef phoenix::expression::try_catch<
  3122. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type
  3123. , catch_expr> gen_type;
  3124. typedef typename gen_type::type type;
  3125. static type
  3126. make(
  3127. TryCatch const& try_catch
  3128. , Capture const& capture
  3129. , Expr const& catch_
  3130. )
  3131. {
  3132. return
  3133. gen_type::make(
  3134. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch)
  3135. , proto::make_expr<
  3136. phoenix::tag::catch_
  3137. , proto::basic_default_domain
  3138. >(catch_exception<Exception>(), capture, catch_)
  3139. );
  3140. }
  3141. };
  3142. template <typename TryCatch, typename Exception, typename Expr>
  3143. struct catch_push_back<TryCatch, Exception, void, Expr, 35>
  3144. {
  3145. typedef
  3146. typename proto::result_of::make_expr<
  3147. phoenix::tag::catch_
  3148. , proto::basic_default_domain
  3149. , catch_exception<Exception>
  3150. , Expr
  3151. >::type
  3152. catch_expr;
  3153. typedef phoenix::expression::try_catch<
  3154. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type
  3155. , catch_expr> gen_type;
  3156. typedef typename gen_type::type type;
  3157. static type
  3158. make(
  3159. TryCatch const& try_catch
  3160. , Expr const& catch_
  3161. )
  3162. {
  3163. return
  3164. gen_type::make(
  3165. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch)
  3166. , proto::make_expr<
  3167. phoenix::tag::catch_
  3168. , proto::basic_default_domain
  3169. >(catch_exception<Exception>(), catch_)
  3170. );
  3171. }
  3172. };
  3173. template <typename TryCatch, typename Expr>
  3174. struct catch_all_push_back<TryCatch, Expr, 35>
  3175. {
  3176. typedef
  3177. typename proto::result_of::make_expr<
  3178. phoenix::tag::catch_all
  3179. , proto::basic_default_domain
  3180. , Expr
  3181. >::type
  3182. catch_expr;
  3183. typedef phoenix::expression::try_catch<
  3184. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type
  3185. , catch_expr> gen_type;
  3186. typedef typename gen_type::type type;
  3187. static type
  3188. make(
  3189. TryCatch const& try_catch
  3190. , Expr const& catch_
  3191. )
  3192. {
  3193. return
  3194. gen_type::make(
  3195. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch)
  3196. , proto::make_expr<
  3197. phoenix::tag::catch_all
  3198. , proto::basic_default_domain
  3199. >(catch_)
  3200. );
  3201. }
  3202. };
  3203. template <typename TryCatch, typename Exception, typename Capture, typename Expr>
  3204. struct catch_push_back<TryCatch, Exception, Capture, Expr, 36>
  3205. {
  3206. typedef
  3207. typename proto::result_of::make_expr<
  3208. phoenix::tag::catch_
  3209. , proto::basic_default_domain
  3210. , catch_exception<Exception>
  3211. , Capture
  3212. , Expr
  3213. >::type
  3214. catch_expr;
  3215. typedef phoenix::expression::try_catch<
  3216. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type
  3217. , catch_expr> gen_type;
  3218. typedef typename gen_type::type type;
  3219. static type
  3220. make(
  3221. TryCatch const& try_catch
  3222. , Capture const& capture
  3223. , Expr const& catch_
  3224. )
  3225. {
  3226. return
  3227. gen_type::make(
  3228. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch)
  3229. , proto::make_expr<
  3230. phoenix::tag::catch_
  3231. , proto::basic_default_domain
  3232. >(catch_exception<Exception>(), capture, catch_)
  3233. );
  3234. }
  3235. };
  3236. template <typename TryCatch, typename Exception, typename Expr>
  3237. struct catch_push_back<TryCatch, Exception, void, Expr, 36>
  3238. {
  3239. typedef
  3240. typename proto::result_of::make_expr<
  3241. phoenix::tag::catch_
  3242. , proto::basic_default_domain
  3243. , catch_exception<Exception>
  3244. , Expr
  3245. >::type
  3246. catch_expr;
  3247. typedef phoenix::expression::try_catch<
  3248. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type
  3249. , catch_expr> gen_type;
  3250. typedef typename gen_type::type type;
  3251. static type
  3252. make(
  3253. TryCatch const& try_catch
  3254. , Expr const& catch_
  3255. )
  3256. {
  3257. return
  3258. gen_type::make(
  3259. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch)
  3260. , proto::make_expr<
  3261. phoenix::tag::catch_
  3262. , proto::basic_default_domain
  3263. >(catch_exception<Exception>(), catch_)
  3264. );
  3265. }
  3266. };
  3267. template <typename TryCatch, typename Expr>
  3268. struct catch_all_push_back<TryCatch, Expr, 36>
  3269. {
  3270. typedef
  3271. typename proto::result_of::make_expr<
  3272. phoenix::tag::catch_all
  3273. , proto::basic_default_domain
  3274. , Expr
  3275. >::type
  3276. catch_expr;
  3277. typedef phoenix::expression::try_catch<
  3278. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type
  3279. , catch_expr> gen_type;
  3280. typedef typename gen_type::type type;
  3281. static type
  3282. make(
  3283. TryCatch const& try_catch
  3284. , Expr const& catch_
  3285. )
  3286. {
  3287. return
  3288. gen_type::make(
  3289. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch)
  3290. , proto::make_expr<
  3291. phoenix::tag::catch_all
  3292. , proto::basic_default_domain
  3293. >(catch_)
  3294. );
  3295. }
  3296. };
  3297. template <typename TryCatch, typename Exception, typename Capture, typename Expr>
  3298. struct catch_push_back<TryCatch, Exception, Capture, Expr, 37>
  3299. {
  3300. typedef
  3301. typename proto::result_of::make_expr<
  3302. phoenix::tag::catch_
  3303. , proto::basic_default_domain
  3304. , catch_exception<Exception>
  3305. , Capture
  3306. , Expr
  3307. >::type
  3308. catch_expr;
  3309. typedef phoenix::expression::try_catch<
  3310. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type
  3311. , catch_expr> gen_type;
  3312. typedef typename gen_type::type type;
  3313. static type
  3314. make(
  3315. TryCatch const& try_catch
  3316. , Capture const& capture
  3317. , Expr const& catch_
  3318. )
  3319. {
  3320. return
  3321. gen_type::make(
  3322. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch)
  3323. , proto::make_expr<
  3324. phoenix::tag::catch_
  3325. , proto::basic_default_domain
  3326. >(catch_exception<Exception>(), capture, catch_)
  3327. );
  3328. }
  3329. };
  3330. template <typename TryCatch, typename Exception, typename Expr>
  3331. struct catch_push_back<TryCatch, Exception, void, Expr, 37>
  3332. {
  3333. typedef
  3334. typename proto::result_of::make_expr<
  3335. phoenix::tag::catch_
  3336. , proto::basic_default_domain
  3337. , catch_exception<Exception>
  3338. , Expr
  3339. >::type
  3340. catch_expr;
  3341. typedef phoenix::expression::try_catch<
  3342. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type
  3343. , catch_expr> gen_type;
  3344. typedef typename gen_type::type type;
  3345. static type
  3346. make(
  3347. TryCatch const& try_catch
  3348. , Expr const& catch_
  3349. )
  3350. {
  3351. return
  3352. gen_type::make(
  3353. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch)
  3354. , proto::make_expr<
  3355. phoenix::tag::catch_
  3356. , proto::basic_default_domain
  3357. >(catch_exception<Exception>(), catch_)
  3358. );
  3359. }
  3360. };
  3361. template <typename TryCatch, typename Expr>
  3362. struct catch_all_push_back<TryCatch, Expr, 37>
  3363. {
  3364. typedef
  3365. typename proto::result_of::make_expr<
  3366. phoenix::tag::catch_all
  3367. , proto::basic_default_domain
  3368. , Expr
  3369. >::type
  3370. catch_expr;
  3371. typedef phoenix::expression::try_catch<
  3372. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type
  3373. , catch_expr> gen_type;
  3374. typedef typename gen_type::type type;
  3375. static type
  3376. make(
  3377. TryCatch const& try_catch
  3378. , Expr const& catch_
  3379. )
  3380. {
  3381. return
  3382. gen_type::make(
  3383. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch)
  3384. , proto::make_expr<
  3385. phoenix::tag::catch_all
  3386. , proto::basic_default_domain
  3387. >(catch_)
  3388. );
  3389. }
  3390. };
  3391. template <typename TryCatch, typename Exception, typename Capture, typename Expr>
  3392. struct catch_push_back<TryCatch, Exception, Capture, Expr, 38>
  3393. {
  3394. typedef
  3395. typename proto::result_of::make_expr<
  3396. phoenix::tag::catch_
  3397. , proto::basic_default_domain
  3398. , catch_exception<Exception>
  3399. , Capture
  3400. , Expr
  3401. >::type
  3402. catch_expr;
  3403. typedef phoenix::expression::try_catch<
  3404. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type
  3405. , catch_expr> gen_type;
  3406. typedef typename gen_type::type type;
  3407. static type
  3408. make(
  3409. TryCatch const& try_catch
  3410. , Capture const& capture
  3411. , Expr const& catch_
  3412. )
  3413. {
  3414. return
  3415. gen_type::make(
  3416. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch)
  3417. , proto::make_expr<
  3418. phoenix::tag::catch_
  3419. , proto::basic_default_domain
  3420. >(catch_exception<Exception>(), capture, catch_)
  3421. );
  3422. }
  3423. };
  3424. template <typename TryCatch, typename Exception, typename Expr>
  3425. struct catch_push_back<TryCatch, Exception, void, Expr, 38>
  3426. {
  3427. typedef
  3428. typename proto::result_of::make_expr<
  3429. phoenix::tag::catch_
  3430. , proto::basic_default_domain
  3431. , catch_exception<Exception>
  3432. , Expr
  3433. >::type
  3434. catch_expr;
  3435. typedef phoenix::expression::try_catch<
  3436. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type
  3437. , catch_expr> gen_type;
  3438. typedef typename gen_type::type type;
  3439. static type
  3440. make(
  3441. TryCatch const& try_catch
  3442. , Expr const& catch_
  3443. )
  3444. {
  3445. return
  3446. gen_type::make(
  3447. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch)
  3448. , proto::make_expr<
  3449. phoenix::tag::catch_
  3450. , proto::basic_default_domain
  3451. >(catch_exception<Exception>(), catch_)
  3452. );
  3453. }
  3454. };
  3455. template <typename TryCatch, typename Expr>
  3456. struct catch_all_push_back<TryCatch, Expr, 38>
  3457. {
  3458. typedef
  3459. typename proto::result_of::make_expr<
  3460. phoenix::tag::catch_all
  3461. , proto::basic_default_domain
  3462. , Expr
  3463. >::type
  3464. catch_expr;
  3465. typedef phoenix::expression::try_catch<
  3466. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type
  3467. , catch_expr> gen_type;
  3468. typedef typename gen_type::type type;
  3469. static type
  3470. make(
  3471. TryCatch const& try_catch
  3472. , Expr const& catch_
  3473. )
  3474. {
  3475. return
  3476. gen_type::make(
  3477. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch)
  3478. , proto::make_expr<
  3479. phoenix::tag::catch_all
  3480. , proto::basic_default_domain
  3481. >(catch_)
  3482. );
  3483. }
  3484. };
  3485. template <typename TryCatch, typename Exception, typename Capture, typename Expr>
  3486. struct catch_push_back<TryCatch, Exception, Capture, Expr, 39>
  3487. {
  3488. typedef
  3489. typename proto::result_of::make_expr<
  3490. phoenix::tag::catch_
  3491. , proto::basic_default_domain
  3492. , catch_exception<Exception>
  3493. , Capture
  3494. , Expr
  3495. >::type
  3496. catch_expr;
  3497. typedef phoenix::expression::try_catch<
  3498. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type , typename proto::result_of::child_c<TryCatch, 38>::type
  3499. , catch_expr> gen_type;
  3500. typedef typename gen_type::type type;
  3501. static type
  3502. make(
  3503. TryCatch const& try_catch
  3504. , Capture const& capture
  3505. , Expr const& catch_
  3506. )
  3507. {
  3508. return
  3509. gen_type::make(
  3510. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch) , proto::child_c< 38>(try_catch)
  3511. , proto::make_expr<
  3512. phoenix::tag::catch_
  3513. , proto::basic_default_domain
  3514. >(catch_exception<Exception>(), capture, catch_)
  3515. );
  3516. }
  3517. };
  3518. template <typename TryCatch, typename Exception, typename Expr>
  3519. struct catch_push_back<TryCatch, Exception, void, Expr, 39>
  3520. {
  3521. typedef
  3522. typename proto::result_of::make_expr<
  3523. phoenix::tag::catch_
  3524. , proto::basic_default_domain
  3525. , catch_exception<Exception>
  3526. , Expr
  3527. >::type
  3528. catch_expr;
  3529. typedef phoenix::expression::try_catch<
  3530. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type , typename proto::result_of::child_c<TryCatch, 38>::type
  3531. , catch_expr> gen_type;
  3532. typedef typename gen_type::type type;
  3533. static type
  3534. make(
  3535. TryCatch const& try_catch
  3536. , Expr const& catch_
  3537. )
  3538. {
  3539. return
  3540. gen_type::make(
  3541. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch) , proto::child_c< 38>(try_catch)
  3542. , proto::make_expr<
  3543. phoenix::tag::catch_
  3544. , proto::basic_default_domain
  3545. >(catch_exception<Exception>(), catch_)
  3546. );
  3547. }
  3548. };
  3549. template <typename TryCatch, typename Expr>
  3550. struct catch_all_push_back<TryCatch, Expr, 39>
  3551. {
  3552. typedef
  3553. typename proto::result_of::make_expr<
  3554. phoenix::tag::catch_all
  3555. , proto::basic_default_domain
  3556. , Expr
  3557. >::type
  3558. catch_expr;
  3559. typedef phoenix::expression::try_catch<
  3560. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type , typename proto::result_of::child_c<TryCatch, 38>::type
  3561. , catch_expr> gen_type;
  3562. typedef typename gen_type::type type;
  3563. static type
  3564. make(
  3565. TryCatch const& try_catch
  3566. , Expr const& catch_
  3567. )
  3568. {
  3569. return
  3570. gen_type::make(
  3571. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch) , proto::child_c< 38>(try_catch)
  3572. , proto::make_expr<
  3573. phoenix::tag::catch_all
  3574. , proto::basic_default_domain
  3575. >(catch_)
  3576. );
  3577. }
  3578. };
  3579. template <typename TryCatch, typename Exception, typename Capture, typename Expr>
  3580. struct catch_push_back<TryCatch, Exception, Capture, Expr, 40>
  3581. {
  3582. typedef
  3583. typename proto::result_of::make_expr<
  3584. phoenix::tag::catch_
  3585. , proto::basic_default_domain
  3586. , catch_exception<Exception>
  3587. , Capture
  3588. , Expr
  3589. >::type
  3590. catch_expr;
  3591. typedef phoenix::expression::try_catch<
  3592. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type , typename proto::result_of::child_c<TryCatch, 38>::type , typename proto::result_of::child_c<TryCatch, 39>::type
  3593. , catch_expr> gen_type;
  3594. typedef typename gen_type::type type;
  3595. static type
  3596. make(
  3597. TryCatch const& try_catch
  3598. , Capture const& capture
  3599. , Expr const& catch_
  3600. )
  3601. {
  3602. return
  3603. gen_type::make(
  3604. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch) , proto::child_c< 38>(try_catch) , proto::child_c< 39>(try_catch)
  3605. , proto::make_expr<
  3606. phoenix::tag::catch_
  3607. , proto::basic_default_domain
  3608. >(catch_exception<Exception>(), capture, catch_)
  3609. );
  3610. }
  3611. };
  3612. template <typename TryCatch, typename Exception, typename Expr>
  3613. struct catch_push_back<TryCatch, Exception, void, Expr, 40>
  3614. {
  3615. typedef
  3616. typename proto::result_of::make_expr<
  3617. phoenix::tag::catch_
  3618. , proto::basic_default_domain
  3619. , catch_exception<Exception>
  3620. , Expr
  3621. >::type
  3622. catch_expr;
  3623. typedef phoenix::expression::try_catch<
  3624. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type , typename proto::result_of::child_c<TryCatch, 38>::type , typename proto::result_of::child_c<TryCatch, 39>::type
  3625. , catch_expr> gen_type;
  3626. typedef typename gen_type::type type;
  3627. static type
  3628. make(
  3629. TryCatch const& try_catch
  3630. , Expr const& catch_
  3631. )
  3632. {
  3633. return
  3634. gen_type::make(
  3635. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch) , proto::child_c< 38>(try_catch) , proto::child_c< 39>(try_catch)
  3636. , proto::make_expr<
  3637. phoenix::tag::catch_
  3638. , proto::basic_default_domain
  3639. >(catch_exception<Exception>(), catch_)
  3640. );
  3641. }
  3642. };
  3643. template <typename TryCatch, typename Expr>
  3644. struct catch_all_push_back<TryCatch, Expr, 40>
  3645. {
  3646. typedef
  3647. typename proto::result_of::make_expr<
  3648. phoenix::tag::catch_all
  3649. , proto::basic_default_domain
  3650. , Expr
  3651. >::type
  3652. catch_expr;
  3653. typedef phoenix::expression::try_catch<
  3654. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type , typename proto::result_of::child_c<TryCatch, 38>::type , typename proto::result_of::child_c<TryCatch, 39>::type
  3655. , catch_expr> gen_type;
  3656. typedef typename gen_type::type type;
  3657. static type
  3658. make(
  3659. TryCatch const& try_catch
  3660. , Expr const& catch_
  3661. )
  3662. {
  3663. return
  3664. gen_type::make(
  3665. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch) , proto::child_c< 38>(try_catch) , proto::child_c< 39>(try_catch)
  3666. , proto::make_expr<
  3667. phoenix::tag::catch_all
  3668. , proto::basic_default_domain
  3669. >(catch_)
  3670. );
  3671. }
  3672. };
  3673. template <typename TryCatch, typename Exception, typename Capture, typename Expr>
  3674. struct catch_push_back<TryCatch, Exception, Capture, Expr, 41>
  3675. {
  3676. typedef
  3677. typename proto::result_of::make_expr<
  3678. phoenix::tag::catch_
  3679. , proto::basic_default_domain
  3680. , catch_exception<Exception>
  3681. , Capture
  3682. , Expr
  3683. >::type
  3684. catch_expr;
  3685. typedef phoenix::expression::try_catch<
  3686. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type , typename proto::result_of::child_c<TryCatch, 38>::type , typename proto::result_of::child_c<TryCatch, 39>::type , typename proto::result_of::child_c<TryCatch, 40>::type
  3687. , catch_expr> gen_type;
  3688. typedef typename gen_type::type type;
  3689. static type
  3690. make(
  3691. TryCatch const& try_catch
  3692. , Capture const& capture
  3693. , Expr const& catch_
  3694. )
  3695. {
  3696. return
  3697. gen_type::make(
  3698. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch) , proto::child_c< 38>(try_catch) , proto::child_c< 39>(try_catch) , proto::child_c< 40>(try_catch)
  3699. , proto::make_expr<
  3700. phoenix::tag::catch_
  3701. , proto::basic_default_domain
  3702. >(catch_exception<Exception>(), capture, catch_)
  3703. );
  3704. }
  3705. };
  3706. template <typename TryCatch, typename Exception, typename Expr>
  3707. struct catch_push_back<TryCatch, Exception, void, Expr, 41>
  3708. {
  3709. typedef
  3710. typename proto::result_of::make_expr<
  3711. phoenix::tag::catch_
  3712. , proto::basic_default_domain
  3713. , catch_exception<Exception>
  3714. , Expr
  3715. >::type
  3716. catch_expr;
  3717. typedef phoenix::expression::try_catch<
  3718. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type , typename proto::result_of::child_c<TryCatch, 38>::type , typename proto::result_of::child_c<TryCatch, 39>::type , typename proto::result_of::child_c<TryCatch, 40>::type
  3719. , catch_expr> gen_type;
  3720. typedef typename gen_type::type type;
  3721. static type
  3722. make(
  3723. TryCatch const& try_catch
  3724. , Expr const& catch_
  3725. )
  3726. {
  3727. return
  3728. gen_type::make(
  3729. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch) , proto::child_c< 38>(try_catch) , proto::child_c< 39>(try_catch) , proto::child_c< 40>(try_catch)
  3730. , proto::make_expr<
  3731. phoenix::tag::catch_
  3732. , proto::basic_default_domain
  3733. >(catch_exception<Exception>(), catch_)
  3734. );
  3735. }
  3736. };
  3737. template <typename TryCatch, typename Expr>
  3738. struct catch_all_push_back<TryCatch, Expr, 41>
  3739. {
  3740. typedef
  3741. typename proto::result_of::make_expr<
  3742. phoenix::tag::catch_all
  3743. , proto::basic_default_domain
  3744. , Expr
  3745. >::type
  3746. catch_expr;
  3747. typedef phoenix::expression::try_catch<
  3748. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type , typename proto::result_of::child_c<TryCatch, 38>::type , typename proto::result_of::child_c<TryCatch, 39>::type , typename proto::result_of::child_c<TryCatch, 40>::type
  3749. , catch_expr> gen_type;
  3750. typedef typename gen_type::type type;
  3751. static type
  3752. make(
  3753. TryCatch const& try_catch
  3754. , Expr const& catch_
  3755. )
  3756. {
  3757. return
  3758. gen_type::make(
  3759. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch) , proto::child_c< 38>(try_catch) , proto::child_c< 39>(try_catch) , proto::child_c< 40>(try_catch)
  3760. , proto::make_expr<
  3761. phoenix::tag::catch_all
  3762. , proto::basic_default_domain
  3763. >(catch_)
  3764. );
  3765. }
  3766. };
  3767. template <typename TryCatch, typename Exception, typename Capture, typename Expr>
  3768. struct catch_push_back<TryCatch, Exception, Capture, Expr, 42>
  3769. {
  3770. typedef
  3771. typename proto::result_of::make_expr<
  3772. phoenix::tag::catch_
  3773. , proto::basic_default_domain
  3774. , catch_exception<Exception>
  3775. , Capture
  3776. , Expr
  3777. >::type
  3778. catch_expr;
  3779. typedef phoenix::expression::try_catch<
  3780. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type , typename proto::result_of::child_c<TryCatch, 38>::type , typename proto::result_of::child_c<TryCatch, 39>::type , typename proto::result_of::child_c<TryCatch, 40>::type , typename proto::result_of::child_c<TryCatch, 41>::type
  3781. , catch_expr> gen_type;
  3782. typedef typename gen_type::type type;
  3783. static type
  3784. make(
  3785. TryCatch const& try_catch
  3786. , Capture const& capture
  3787. , Expr const& catch_
  3788. )
  3789. {
  3790. return
  3791. gen_type::make(
  3792. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch) , proto::child_c< 38>(try_catch) , proto::child_c< 39>(try_catch) , proto::child_c< 40>(try_catch) , proto::child_c< 41>(try_catch)
  3793. , proto::make_expr<
  3794. phoenix::tag::catch_
  3795. , proto::basic_default_domain
  3796. >(catch_exception<Exception>(), capture, catch_)
  3797. );
  3798. }
  3799. };
  3800. template <typename TryCatch, typename Exception, typename Expr>
  3801. struct catch_push_back<TryCatch, Exception, void, Expr, 42>
  3802. {
  3803. typedef
  3804. typename proto::result_of::make_expr<
  3805. phoenix::tag::catch_
  3806. , proto::basic_default_domain
  3807. , catch_exception<Exception>
  3808. , Expr
  3809. >::type
  3810. catch_expr;
  3811. typedef phoenix::expression::try_catch<
  3812. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type , typename proto::result_of::child_c<TryCatch, 38>::type , typename proto::result_of::child_c<TryCatch, 39>::type , typename proto::result_of::child_c<TryCatch, 40>::type , typename proto::result_of::child_c<TryCatch, 41>::type
  3813. , catch_expr> gen_type;
  3814. typedef typename gen_type::type type;
  3815. static type
  3816. make(
  3817. TryCatch const& try_catch
  3818. , Expr const& catch_
  3819. )
  3820. {
  3821. return
  3822. gen_type::make(
  3823. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch) , proto::child_c< 38>(try_catch) , proto::child_c< 39>(try_catch) , proto::child_c< 40>(try_catch) , proto::child_c< 41>(try_catch)
  3824. , proto::make_expr<
  3825. phoenix::tag::catch_
  3826. , proto::basic_default_domain
  3827. >(catch_exception<Exception>(), catch_)
  3828. );
  3829. }
  3830. };
  3831. template <typename TryCatch, typename Expr>
  3832. struct catch_all_push_back<TryCatch, Expr, 42>
  3833. {
  3834. typedef
  3835. typename proto::result_of::make_expr<
  3836. phoenix::tag::catch_all
  3837. , proto::basic_default_domain
  3838. , Expr
  3839. >::type
  3840. catch_expr;
  3841. typedef phoenix::expression::try_catch<
  3842. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type , typename proto::result_of::child_c<TryCatch, 38>::type , typename proto::result_of::child_c<TryCatch, 39>::type , typename proto::result_of::child_c<TryCatch, 40>::type , typename proto::result_of::child_c<TryCatch, 41>::type
  3843. , catch_expr> gen_type;
  3844. typedef typename gen_type::type type;
  3845. static type
  3846. make(
  3847. TryCatch const& try_catch
  3848. , Expr const& catch_
  3849. )
  3850. {
  3851. return
  3852. gen_type::make(
  3853. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch) , proto::child_c< 38>(try_catch) , proto::child_c< 39>(try_catch) , proto::child_c< 40>(try_catch) , proto::child_c< 41>(try_catch)
  3854. , proto::make_expr<
  3855. phoenix::tag::catch_all
  3856. , proto::basic_default_domain
  3857. >(catch_)
  3858. );
  3859. }
  3860. };
  3861. template <typename TryCatch, typename Exception, typename Capture, typename Expr>
  3862. struct catch_push_back<TryCatch, Exception, Capture, Expr, 43>
  3863. {
  3864. typedef
  3865. typename proto::result_of::make_expr<
  3866. phoenix::tag::catch_
  3867. , proto::basic_default_domain
  3868. , catch_exception<Exception>
  3869. , Capture
  3870. , Expr
  3871. >::type
  3872. catch_expr;
  3873. typedef phoenix::expression::try_catch<
  3874. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type , typename proto::result_of::child_c<TryCatch, 38>::type , typename proto::result_of::child_c<TryCatch, 39>::type , typename proto::result_of::child_c<TryCatch, 40>::type , typename proto::result_of::child_c<TryCatch, 41>::type , typename proto::result_of::child_c<TryCatch, 42>::type
  3875. , catch_expr> gen_type;
  3876. typedef typename gen_type::type type;
  3877. static type
  3878. make(
  3879. TryCatch const& try_catch
  3880. , Capture const& capture
  3881. , Expr const& catch_
  3882. )
  3883. {
  3884. return
  3885. gen_type::make(
  3886. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch) , proto::child_c< 38>(try_catch) , proto::child_c< 39>(try_catch) , proto::child_c< 40>(try_catch) , proto::child_c< 41>(try_catch) , proto::child_c< 42>(try_catch)
  3887. , proto::make_expr<
  3888. phoenix::tag::catch_
  3889. , proto::basic_default_domain
  3890. >(catch_exception<Exception>(), capture, catch_)
  3891. );
  3892. }
  3893. };
  3894. template <typename TryCatch, typename Exception, typename Expr>
  3895. struct catch_push_back<TryCatch, Exception, void, Expr, 43>
  3896. {
  3897. typedef
  3898. typename proto::result_of::make_expr<
  3899. phoenix::tag::catch_
  3900. , proto::basic_default_domain
  3901. , catch_exception<Exception>
  3902. , Expr
  3903. >::type
  3904. catch_expr;
  3905. typedef phoenix::expression::try_catch<
  3906. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type , typename proto::result_of::child_c<TryCatch, 38>::type , typename proto::result_of::child_c<TryCatch, 39>::type , typename proto::result_of::child_c<TryCatch, 40>::type , typename proto::result_of::child_c<TryCatch, 41>::type , typename proto::result_of::child_c<TryCatch, 42>::type
  3907. , catch_expr> gen_type;
  3908. typedef typename gen_type::type type;
  3909. static type
  3910. make(
  3911. TryCatch const& try_catch
  3912. , Expr const& catch_
  3913. )
  3914. {
  3915. return
  3916. gen_type::make(
  3917. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch) , proto::child_c< 38>(try_catch) , proto::child_c< 39>(try_catch) , proto::child_c< 40>(try_catch) , proto::child_c< 41>(try_catch) , proto::child_c< 42>(try_catch)
  3918. , proto::make_expr<
  3919. phoenix::tag::catch_
  3920. , proto::basic_default_domain
  3921. >(catch_exception<Exception>(), catch_)
  3922. );
  3923. }
  3924. };
  3925. template <typename TryCatch, typename Expr>
  3926. struct catch_all_push_back<TryCatch, Expr, 43>
  3927. {
  3928. typedef
  3929. typename proto::result_of::make_expr<
  3930. phoenix::tag::catch_all
  3931. , proto::basic_default_domain
  3932. , Expr
  3933. >::type
  3934. catch_expr;
  3935. typedef phoenix::expression::try_catch<
  3936. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type , typename proto::result_of::child_c<TryCatch, 38>::type , typename proto::result_of::child_c<TryCatch, 39>::type , typename proto::result_of::child_c<TryCatch, 40>::type , typename proto::result_of::child_c<TryCatch, 41>::type , typename proto::result_of::child_c<TryCatch, 42>::type
  3937. , catch_expr> gen_type;
  3938. typedef typename gen_type::type type;
  3939. static type
  3940. make(
  3941. TryCatch const& try_catch
  3942. , Expr const& catch_
  3943. )
  3944. {
  3945. return
  3946. gen_type::make(
  3947. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch) , proto::child_c< 38>(try_catch) , proto::child_c< 39>(try_catch) , proto::child_c< 40>(try_catch) , proto::child_c< 41>(try_catch) , proto::child_c< 42>(try_catch)
  3948. , proto::make_expr<
  3949. phoenix::tag::catch_all
  3950. , proto::basic_default_domain
  3951. >(catch_)
  3952. );
  3953. }
  3954. };
  3955. template <typename TryCatch, typename Exception, typename Capture, typename Expr>
  3956. struct catch_push_back<TryCatch, Exception, Capture, Expr, 44>
  3957. {
  3958. typedef
  3959. typename proto::result_of::make_expr<
  3960. phoenix::tag::catch_
  3961. , proto::basic_default_domain
  3962. , catch_exception<Exception>
  3963. , Capture
  3964. , Expr
  3965. >::type
  3966. catch_expr;
  3967. typedef phoenix::expression::try_catch<
  3968. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type , typename proto::result_of::child_c<TryCatch, 38>::type , typename proto::result_of::child_c<TryCatch, 39>::type , typename proto::result_of::child_c<TryCatch, 40>::type , typename proto::result_of::child_c<TryCatch, 41>::type , typename proto::result_of::child_c<TryCatch, 42>::type , typename proto::result_of::child_c<TryCatch, 43>::type
  3969. , catch_expr> gen_type;
  3970. typedef typename gen_type::type type;
  3971. static type
  3972. make(
  3973. TryCatch const& try_catch
  3974. , Capture const& capture
  3975. , Expr const& catch_
  3976. )
  3977. {
  3978. return
  3979. gen_type::make(
  3980. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch) , proto::child_c< 38>(try_catch) , proto::child_c< 39>(try_catch) , proto::child_c< 40>(try_catch) , proto::child_c< 41>(try_catch) , proto::child_c< 42>(try_catch) , proto::child_c< 43>(try_catch)
  3981. , proto::make_expr<
  3982. phoenix::tag::catch_
  3983. , proto::basic_default_domain
  3984. >(catch_exception<Exception>(), capture, catch_)
  3985. );
  3986. }
  3987. };
  3988. template <typename TryCatch, typename Exception, typename Expr>
  3989. struct catch_push_back<TryCatch, Exception, void, Expr, 44>
  3990. {
  3991. typedef
  3992. typename proto::result_of::make_expr<
  3993. phoenix::tag::catch_
  3994. , proto::basic_default_domain
  3995. , catch_exception<Exception>
  3996. , Expr
  3997. >::type
  3998. catch_expr;
  3999. typedef phoenix::expression::try_catch<
  4000. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type , typename proto::result_of::child_c<TryCatch, 38>::type , typename proto::result_of::child_c<TryCatch, 39>::type , typename proto::result_of::child_c<TryCatch, 40>::type , typename proto::result_of::child_c<TryCatch, 41>::type , typename proto::result_of::child_c<TryCatch, 42>::type , typename proto::result_of::child_c<TryCatch, 43>::type
  4001. , catch_expr> gen_type;
  4002. typedef typename gen_type::type type;
  4003. static type
  4004. make(
  4005. TryCatch const& try_catch
  4006. , Expr const& catch_
  4007. )
  4008. {
  4009. return
  4010. gen_type::make(
  4011. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch) , proto::child_c< 38>(try_catch) , proto::child_c< 39>(try_catch) , proto::child_c< 40>(try_catch) , proto::child_c< 41>(try_catch) , proto::child_c< 42>(try_catch) , proto::child_c< 43>(try_catch)
  4012. , proto::make_expr<
  4013. phoenix::tag::catch_
  4014. , proto::basic_default_domain
  4015. >(catch_exception<Exception>(), catch_)
  4016. );
  4017. }
  4018. };
  4019. template <typename TryCatch, typename Expr>
  4020. struct catch_all_push_back<TryCatch, Expr, 44>
  4021. {
  4022. typedef
  4023. typename proto::result_of::make_expr<
  4024. phoenix::tag::catch_all
  4025. , proto::basic_default_domain
  4026. , Expr
  4027. >::type
  4028. catch_expr;
  4029. typedef phoenix::expression::try_catch<
  4030. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type , typename proto::result_of::child_c<TryCatch, 38>::type , typename proto::result_of::child_c<TryCatch, 39>::type , typename proto::result_of::child_c<TryCatch, 40>::type , typename proto::result_of::child_c<TryCatch, 41>::type , typename proto::result_of::child_c<TryCatch, 42>::type , typename proto::result_of::child_c<TryCatch, 43>::type
  4031. , catch_expr> gen_type;
  4032. typedef typename gen_type::type type;
  4033. static type
  4034. make(
  4035. TryCatch const& try_catch
  4036. , Expr const& catch_
  4037. )
  4038. {
  4039. return
  4040. gen_type::make(
  4041. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch) , proto::child_c< 38>(try_catch) , proto::child_c< 39>(try_catch) , proto::child_c< 40>(try_catch) , proto::child_c< 41>(try_catch) , proto::child_c< 42>(try_catch) , proto::child_c< 43>(try_catch)
  4042. , proto::make_expr<
  4043. phoenix::tag::catch_all
  4044. , proto::basic_default_domain
  4045. >(catch_)
  4046. );
  4047. }
  4048. };
  4049. template <typename TryCatch, typename Exception, typename Capture, typename Expr>
  4050. struct catch_push_back<TryCatch, Exception, Capture, Expr, 45>
  4051. {
  4052. typedef
  4053. typename proto::result_of::make_expr<
  4054. phoenix::tag::catch_
  4055. , proto::basic_default_domain
  4056. , catch_exception<Exception>
  4057. , Capture
  4058. , Expr
  4059. >::type
  4060. catch_expr;
  4061. typedef phoenix::expression::try_catch<
  4062. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type , typename proto::result_of::child_c<TryCatch, 38>::type , typename proto::result_of::child_c<TryCatch, 39>::type , typename proto::result_of::child_c<TryCatch, 40>::type , typename proto::result_of::child_c<TryCatch, 41>::type , typename proto::result_of::child_c<TryCatch, 42>::type , typename proto::result_of::child_c<TryCatch, 43>::type , typename proto::result_of::child_c<TryCatch, 44>::type
  4063. , catch_expr> gen_type;
  4064. typedef typename gen_type::type type;
  4065. static type
  4066. make(
  4067. TryCatch const& try_catch
  4068. , Capture const& capture
  4069. , Expr const& catch_
  4070. )
  4071. {
  4072. return
  4073. gen_type::make(
  4074. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch) , proto::child_c< 38>(try_catch) , proto::child_c< 39>(try_catch) , proto::child_c< 40>(try_catch) , proto::child_c< 41>(try_catch) , proto::child_c< 42>(try_catch) , proto::child_c< 43>(try_catch) , proto::child_c< 44>(try_catch)
  4075. , proto::make_expr<
  4076. phoenix::tag::catch_
  4077. , proto::basic_default_domain
  4078. >(catch_exception<Exception>(), capture, catch_)
  4079. );
  4080. }
  4081. };
  4082. template <typename TryCatch, typename Exception, typename Expr>
  4083. struct catch_push_back<TryCatch, Exception, void, Expr, 45>
  4084. {
  4085. typedef
  4086. typename proto::result_of::make_expr<
  4087. phoenix::tag::catch_
  4088. , proto::basic_default_domain
  4089. , catch_exception<Exception>
  4090. , Expr
  4091. >::type
  4092. catch_expr;
  4093. typedef phoenix::expression::try_catch<
  4094. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type , typename proto::result_of::child_c<TryCatch, 38>::type , typename proto::result_of::child_c<TryCatch, 39>::type , typename proto::result_of::child_c<TryCatch, 40>::type , typename proto::result_of::child_c<TryCatch, 41>::type , typename proto::result_of::child_c<TryCatch, 42>::type , typename proto::result_of::child_c<TryCatch, 43>::type , typename proto::result_of::child_c<TryCatch, 44>::type
  4095. , catch_expr> gen_type;
  4096. typedef typename gen_type::type type;
  4097. static type
  4098. make(
  4099. TryCatch const& try_catch
  4100. , Expr const& catch_
  4101. )
  4102. {
  4103. return
  4104. gen_type::make(
  4105. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch) , proto::child_c< 38>(try_catch) , proto::child_c< 39>(try_catch) , proto::child_c< 40>(try_catch) , proto::child_c< 41>(try_catch) , proto::child_c< 42>(try_catch) , proto::child_c< 43>(try_catch) , proto::child_c< 44>(try_catch)
  4106. , proto::make_expr<
  4107. phoenix::tag::catch_
  4108. , proto::basic_default_domain
  4109. >(catch_exception<Exception>(), catch_)
  4110. );
  4111. }
  4112. };
  4113. template <typename TryCatch, typename Expr>
  4114. struct catch_all_push_back<TryCatch, Expr, 45>
  4115. {
  4116. typedef
  4117. typename proto::result_of::make_expr<
  4118. phoenix::tag::catch_all
  4119. , proto::basic_default_domain
  4120. , Expr
  4121. >::type
  4122. catch_expr;
  4123. typedef phoenix::expression::try_catch<
  4124. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type , typename proto::result_of::child_c<TryCatch, 38>::type , typename proto::result_of::child_c<TryCatch, 39>::type , typename proto::result_of::child_c<TryCatch, 40>::type , typename proto::result_of::child_c<TryCatch, 41>::type , typename proto::result_of::child_c<TryCatch, 42>::type , typename proto::result_of::child_c<TryCatch, 43>::type , typename proto::result_of::child_c<TryCatch, 44>::type
  4125. , catch_expr> gen_type;
  4126. typedef typename gen_type::type type;
  4127. static type
  4128. make(
  4129. TryCatch const& try_catch
  4130. , Expr const& catch_
  4131. )
  4132. {
  4133. return
  4134. gen_type::make(
  4135. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch) , proto::child_c< 38>(try_catch) , proto::child_c< 39>(try_catch) , proto::child_c< 40>(try_catch) , proto::child_c< 41>(try_catch) , proto::child_c< 42>(try_catch) , proto::child_c< 43>(try_catch) , proto::child_c< 44>(try_catch)
  4136. , proto::make_expr<
  4137. phoenix::tag::catch_all
  4138. , proto::basic_default_domain
  4139. >(catch_)
  4140. );
  4141. }
  4142. };
  4143. template <typename TryCatch, typename Exception, typename Capture, typename Expr>
  4144. struct catch_push_back<TryCatch, Exception, Capture, Expr, 46>
  4145. {
  4146. typedef
  4147. typename proto::result_of::make_expr<
  4148. phoenix::tag::catch_
  4149. , proto::basic_default_domain
  4150. , catch_exception<Exception>
  4151. , Capture
  4152. , Expr
  4153. >::type
  4154. catch_expr;
  4155. typedef phoenix::expression::try_catch<
  4156. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type , typename proto::result_of::child_c<TryCatch, 38>::type , typename proto::result_of::child_c<TryCatch, 39>::type , typename proto::result_of::child_c<TryCatch, 40>::type , typename proto::result_of::child_c<TryCatch, 41>::type , typename proto::result_of::child_c<TryCatch, 42>::type , typename proto::result_of::child_c<TryCatch, 43>::type , typename proto::result_of::child_c<TryCatch, 44>::type , typename proto::result_of::child_c<TryCatch, 45>::type
  4157. , catch_expr> gen_type;
  4158. typedef typename gen_type::type type;
  4159. static type
  4160. make(
  4161. TryCatch const& try_catch
  4162. , Capture const& capture
  4163. , Expr const& catch_
  4164. )
  4165. {
  4166. return
  4167. gen_type::make(
  4168. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch) , proto::child_c< 38>(try_catch) , proto::child_c< 39>(try_catch) , proto::child_c< 40>(try_catch) , proto::child_c< 41>(try_catch) , proto::child_c< 42>(try_catch) , proto::child_c< 43>(try_catch) , proto::child_c< 44>(try_catch) , proto::child_c< 45>(try_catch)
  4169. , proto::make_expr<
  4170. phoenix::tag::catch_
  4171. , proto::basic_default_domain
  4172. >(catch_exception<Exception>(), capture, catch_)
  4173. );
  4174. }
  4175. };
  4176. template <typename TryCatch, typename Exception, typename Expr>
  4177. struct catch_push_back<TryCatch, Exception, void, Expr, 46>
  4178. {
  4179. typedef
  4180. typename proto::result_of::make_expr<
  4181. phoenix::tag::catch_
  4182. , proto::basic_default_domain
  4183. , catch_exception<Exception>
  4184. , Expr
  4185. >::type
  4186. catch_expr;
  4187. typedef phoenix::expression::try_catch<
  4188. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type , typename proto::result_of::child_c<TryCatch, 38>::type , typename proto::result_of::child_c<TryCatch, 39>::type , typename proto::result_of::child_c<TryCatch, 40>::type , typename proto::result_of::child_c<TryCatch, 41>::type , typename proto::result_of::child_c<TryCatch, 42>::type , typename proto::result_of::child_c<TryCatch, 43>::type , typename proto::result_of::child_c<TryCatch, 44>::type , typename proto::result_of::child_c<TryCatch, 45>::type
  4189. , catch_expr> gen_type;
  4190. typedef typename gen_type::type type;
  4191. static type
  4192. make(
  4193. TryCatch const& try_catch
  4194. , Expr const& catch_
  4195. )
  4196. {
  4197. return
  4198. gen_type::make(
  4199. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch) , proto::child_c< 38>(try_catch) , proto::child_c< 39>(try_catch) , proto::child_c< 40>(try_catch) , proto::child_c< 41>(try_catch) , proto::child_c< 42>(try_catch) , proto::child_c< 43>(try_catch) , proto::child_c< 44>(try_catch) , proto::child_c< 45>(try_catch)
  4200. , proto::make_expr<
  4201. phoenix::tag::catch_
  4202. , proto::basic_default_domain
  4203. >(catch_exception<Exception>(), catch_)
  4204. );
  4205. }
  4206. };
  4207. template <typename TryCatch, typename Expr>
  4208. struct catch_all_push_back<TryCatch, Expr, 46>
  4209. {
  4210. typedef
  4211. typename proto::result_of::make_expr<
  4212. phoenix::tag::catch_all
  4213. , proto::basic_default_domain
  4214. , Expr
  4215. >::type
  4216. catch_expr;
  4217. typedef phoenix::expression::try_catch<
  4218. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type , typename proto::result_of::child_c<TryCatch, 38>::type , typename proto::result_of::child_c<TryCatch, 39>::type , typename proto::result_of::child_c<TryCatch, 40>::type , typename proto::result_of::child_c<TryCatch, 41>::type , typename proto::result_of::child_c<TryCatch, 42>::type , typename proto::result_of::child_c<TryCatch, 43>::type , typename proto::result_of::child_c<TryCatch, 44>::type , typename proto::result_of::child_c<TryCatch, 45>::type
  4219. , catch_expr> gen_type;
  4220. typedef typename gen_type::type type;
  4221. static type
  4222. make(
  4223. TryCatch const& try_catch
  4224. , Expr const& catch_
  4225. )
  4226. {
  4227. return
  4228. gen_type::make(
  4229. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch) , proto::child_c< 38>(try_catch) , proto::child_c< 39>(try_catch) , proto::child_c< 40>(try_catch) , proto::child_c< 41>(try_catch) , proto::child_c< 42>(try_catch) , proto::child_c< 43>(try_catch) , proto::child_c< 44>(try_catch) , proto::child_c< 45>(try_catch)
  4230. , proto::make_expr<
  4231. phoenix::tag::catch_all
  4232. , proto::basic_default_domain
  4233. >(catch_)
  4234. );
  4235. }
  4236. };
  4237. template <typename TryCatch, typename Exception, typename Capture, typename Expr>
  4238. struct catch_push_back<TryCatch, Exception, Capture, Expr, 47>
  4239. {
  4240. typedef
  4241. typename proto::result_of::make_expr<
  4242. phoenix::tag::catch_
  4243. , proto::basic_default_domain
  4244. , catch_exception<Exception>
  4245. , Capture
  4246. , Expr
  4247. >::type
  4248. catch_expr;
  4249. typedef phoenix::expression::try_catch<
  4250. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type , typename proto::result_of::child_c<TryCatch, 38>::type , typename proto::result_of::child_c<TryCatch, 39>::type , typename proto::result_of::child_c<TryCatch, 40>::type , typename proto::result_of::child_c<TryCatch, 41>::type , typename proto::result_of::child_c<TryCatch, 42>::type , typename proto::result_of::child_c<TryCatch, 43>::type , typename proto::result_of::child_c<TryCatch, 44>::type , typename proto::result_of::child_c<TryCatch, 45>::type , typename proto::result_of::child_c<TryCatch, 46>::type
  4251. , catch_expr> gen_type;
  4252. typedef typename gen_type::type type;
  4253. static type
  4254. make(
  4255. TryCatch const& try_catch
  4256. , Capture const& capture
  4257. , Expr const& catch_
  4258. )
  4259. {
  4260. return
  4261. gen_type::make(
  4262. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch) , proto::child_c< 38>(try_catch) , proto::child_c< 39>(try_catch) , proto::child_c< 40>(try_catch) , proto::child_c< 41>(try_catch) , proto::child_c< 42>(try_catch) , proto::child_c< 43>(try_catch) , proto::child_c< 44>(try_catch) , proto::child_c< 45>(try_catch) , proto::child_c< 46>(try_catch)
  4263. , proto::make_expr<
  4264. phoenix::tag::catch_
  4265. , proto::basic_default_domain
  4266. >(catch_exception<Exception>(), capture, catch_)
  4267. );
  4268. }
  4269. };
  4270. template <typename TryCatch, typename Exception, typename Expr>
  4271. struct catch_push_back<TryCatch, Exception, void, Expr, 47>
  4272. {
  4273. typedef
  4274. typename proto::result_of::make_expr<
  4275. phoenix::tag::catch_
  4276. , proto::basic_default_domain
  4277. , catch_exception<Exception>
  4278. , Expr
  4279. >::type
  4280. catch_expr;
  4281. typedef phoenix::expression::try_catch<
  4282. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type , typename proto::result_of::child_c<TryCatch, 38>::type , typename proto::result_of::child_c<TryCatch, 39>::type , typename proto::result_of::child_c<TryCatch, 40>::type , typename proto::result_of::child_c<TryCatch, 41>::type , typename proto::result_of::child_c<TryCatch, 42>::type , typename proto::result_of::child_c<TryCatch, 43>::type , typename proto::result_of::child_c<TryCatch, 44>::type , typename proto::result_of::child_c<TryCatch, 45>::type , typename proto::result_of::child_c<TryCatch, 46>::type
  4283. , catch_expr> gen_type;
  4284. typedef typename gen_type::type type;
  4285. static type
  4286. make(
  4287. TryCatch const& try_catch
  4288. , Expr const& catch_
  4289. )
  4290. {
  4291. return
  4292. gen_type::make(
  4293. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch) , proto::child_c< 38>(try_catch) , proto::child_c< 39>(try_catch) , proto::child_c< 40>(try_catch) , proto::child_c< 41>(try_catch) , proto::child_c< 42>(try_catch) , proto::child_c< 43>(try_catch) , proto::child_c< 44>(try_catch) , proto::child_c< 45>(try_catch) , proto::child_c< 46>(try_catch)
  4294. , proto::make_expr<
  4295. phoenix::tag::catch_
  4296. , proto::basic_default_domain
  4297. >(catch_exception<Exception>(), catch_)
  4298. );
  4299. }
  4300. };
  4301. template <typename TryCatch, typename Expr>
  4302. struct catch_all_push_back<TryCatch, Expr, 47>
  4303. {
  4304. typedef
  4305. typename proto::result_of::make_expr<
  4306. phoenix::tag::catch_all
  4307. , proto::basic_default_domain
  4308. , Expr
  4309. >::type
  4310. catch_expr;
  4311. typedef phoenix::expression::try_catch<
  4312. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type , typename proto::result_of::child_c<TryCatch, 38>::type , typename proto::result_of::child_c<TryCatch, 39>::type , typename proto::result_of::child_c<TryCatch, 40>::type , typename proto::result_of::child_c<TryCatch, 41>::type , typename proto::result_of::child_c<TryCatch, 42>::type , typename proto::result_of::child_c<TryCatch, 43>::type , typename proto::result_of::child_c<TryCatch, 44>::type , typename proto::result_of::child_c<TryCatch, 45>::type , typename proto::result_of::child_c<TryCatch, 46>::type
  4313. , catch_expr> gen_type;
  4314. typedef typename gen_type::type type;
  4315. static type
  4316. make(
  4317. TryCatch const& try_catch
  4318. , Expr const& catch_
  4319. )
  4320. {
  4321. return
  4322. gen_type::make(
  4323. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch) , proto::child_c< 38>(try_catch) , proto::child_c< 39>(try_catch) , proto::child_c< 40>(try_catch) , proto::child_c< 41>(try_catch) , proto::child_c< 42>(try_catch) , proto::child_c< 43>(try_catch) , proto::child_c< 44>(try_catch) , proto::child_c< 45>(try_catch) , proto::child_c< 46>(try_catch)
  4324. , proto::make_expr<
  4325. phoenix::tag::catch_all
  4326. , proto::basic_default_domain
  4327. >(catch_)
  4328. );
  4329. }
  4330. };
  4331. template <typename TryCatch, typename Exception, typename Capture, typename Expr>
  4332. struct catch_push_back<TryCatch, Exception, Capture, Expr, 48>
  4333. {
  4334. typedef
  4335. typename proto::result_of::make_expr<
  4336. phoenix::tag::catch_
  4337. , proto::basic_default_domain
  4338. , catch_exception<Exception>
  4339. , Capture
  4340. , Expr
  4341. >::type
  4342. catch_expr;
  4343. typedef phoenix::expression::try_catch<
  4344. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type , typename proto::result_of::child_c<TryCatch, 38>::type , typename proto::result_of::child_c<TryCatch, 39>::type , typename proto::result_of::child_c<TryCatch, 40>::type , typename proto::result_of::child_c<TryCatch, 41>::type , typename proto::result_of::child_c<TryCatch, 42>::type , typename proto::result_of::child_c<TryCatch, 43>::type , typename proto::result_of::child_c<TryCatch, 44>::type , typename proto::result_of::child_c<TryCatch, 45>::type , typename proto::result_of::child_c<TryCatch, 46>::type , typename proto::result_of::child_c<TryCatch, 47>::type
  4345. , catch_expr> gen_type;
  4346. typedef typename gen_type::type type;
  4347. static type
  4348. make(
  4349. TryCatch const& try_catch
  4350. , Capture const& capture
  4351. , Expr const& catch_
  4352. )
  4353. {
  4354. return
  4355. gen_type::make(
  4356. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch) , proto::child_c< 38>(try_catch) , proto::child_c< 39>(try_catch) , proto::child_c< 40>(try_catch) , proto::child_c< 41>(try_catch) , proto::child_c< 42>(try_catch) , proto::child_c< 43>(try_catch) , proto::child_c< 44>(try_catch) , proto::child_c< 45>(try_catch) , proto::child_c< 46>(try_catch) , proto::child_c< 47>(try_catch)
  4357. , proto::make_expr<
  4358. phoenix::tag::catch_
  4359. , proto::basic_default_domain
  4360. >(catch_exception<Exception>(), capture, catch_)
  4361. );
  4362. }
  4363. };
  4364. template <typename TryCatch, typename Exception, typename Expr>
  4365. struct catch_push_back<TryCatch, Exception, void, Expr, 48>
  4366. {
  4367. typedef
  4368. typename proto::result_of::make_expr<
  4369. phoenix::tag::catch_
  4370. , proto::basic_default_domain
  4371. , catch_exception<Exception>
  4372. , Expr
  4373. >::type
  4374. catch_expr;
  4375. typedef phoenix::expression::try_catch<
  4376. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type , typename proto::result_of::child_c<TryCatch, 38>::type , typename proto::result_of::child_c<TryCatch, 39>::type , typename proto::result_of::child_c<TryCatch, 40>::type , typename proto::result_of::child_c<TryCatch, 41>::type , typename proto::result_of::child_c<TryCatch, 42>::type , typename proto::result_of::child_c<TryCatch, 43>::type , typename proto::result_of::child_c<TryCatch, 44>::type , typename proto::result_of::child_c<TryCatch, 45>::type , typename proto::result_of::child_c<TryCatch, 46>::type , typename proto::result_of::child_c<TryCatch, 47>::type
  4377. , catch_expr> gen_type;
  4378. typedef typename gen_type::type type;
  4379. static type
  4380. make(
  4381. TryCatch const& try_catch
  4382. , Expr const& catch_
  4383. )
  4384. {
  4385. return
  4386. gen_type::make(
  4387. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch) , proto::child_c< 38>(try_catch) , proto::child_c< 39>(try_catch) , proto::child_c< 40>(try_catch) , proto::child_c< 41>(try_catch) , proto::child_c< 42>(try_catch) , proto::child_c< 43>(try_catch) , proto::child_c< 44>(try_catch) , proto::child_c< 45>(try_catch) , proto::child_c< 46>(try_catch) , proto::child_c< 47>(try_catch)
  4388. , proto::make_expr<
  4389. phoenix::tag::catch_
  4390. , proto::basic_default_domain
  4391. >(catch_exception<Exception>(), catch_)
  4392. );
  4393. }
  4394. };
  4395. template <typename TryCatch, typename Expr>
  4396. struct catch_all_push_back<TryCatch, Expr, 48>
  4397. {
  4398. typedef
  4399. typename proto::result_of::make_expr<
  4400. phoenix::tag::catch_all
  4401. , proto::basic_default_domain
  4402. , Expr
  4403. >::type
  4404. catch_expr;
  4405. typedef phoenix::expression::try_catch<
  4406. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type , typename proto::result_of::child_c<TryCatch, 38>::type , typename proto::result_of::child_c<TryCatch, 39>::type , typename proto::result_of::child_c<TryCatch, 40>::type , typename proto::result_of::child_c<TryCatch, 41>::type , typename proto::result_of::child_c<TryCatch, 42>::type , typename proto::result_of::child_c<TryCatch, 43>::type , typename proto::result_of::child_c<TryCatch, 44>::type , typename proto::result_of::child_c<TryCatch, 45>::type , typename proto::result_of::child_c<TryCatch, 46>::type , typename proto::result_of::child_c<TryCatch, 47>::type
  4407. , catch_expr> gen_type;
  4408. typedef typename gen_type::type type;
  4409. static type
  4410. make(
  4411. TryCatch const& try_catch
  4412. , Expr const& catch_
  4413. )
  4414. {
  4415. return
  4416. gen_type::make(
  4417. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch) , proto::child_c< 38>(try_catch) , proto::child_c< 39>(try_catch) , proto::child_c< 40>(try_catch) , proto::child_c< 41>(try_catch) , proto::child_c< 42>(try_catch) , proto::child_c< 43>(try_catch) , proto::child_c< 44>(try_catch) , proto::child_c< 45>(try_catch) , proto::child_c< 46>(try_catch) , proto::child_c< 47>(try_catch)
  4418. , proto::make_expr<
  4419. phoenix::tag::catch_all
  4420. , proto::basic_default_domain
  4421. >(catch_)
  4422. );
  4423. }
  4424. };
  4425. template <typename TryCatch, typename Exception, typename Capture, typename Expr>
  4426. struct catch_push_back<TryCatch, Exception, Capture, Expr, 49>
  4427. {
  4428. typedef
  4429. typename proto::result_of::make_expr<
  4430. phoenix::tag::catch_
  4431. , proto::basic_default_domain
  4432. , catch_exception<Exception>
  4433. , Capture
  4434. , Expr
  4435. >::type
  4436. catch_expr;
  4437. typedef phoenix::expression::try_catch<
  4438. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type , typename proto::result_of::child_c<TryCatch, 38>::type , typename proto::result_of::child_c<TryCatch, 39>::type , typename proto::result_of::child_c<TryCatch, 40>::type , typename proto::result_of::child_c<TryCatch, 41>::type , typename proto::result_of::child_c<TryCatch, 42>::type , typename proto::result_of::child_c<TryCatch, 43>::type , typename proto::result_of::child_c<TryCatch, 44>::type , typename proto::result_of::child_c<TryCatch, 45>::type , typename proto::result_of::child_c<TryCatch, 46>::type , typename proto::result_of::child_c<TryCatch, 47>::type , typename proto::result_of::child_c<TryCatch, 48>::type
  4439. , catch_expr> gen_type;
  4440. typedef typename gen_type::type type;
  4441. static type
  4442. make(
  4443. TryCatch const& try_catch
  4444. , Capture const& capture
  4445. , Expr const& catch_
  4446. )
  4447. {
  4448. return
  4449. gen_type::make(
  4450. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch) , proto::child_c< 38>(try_catch) , proto::child_c< 39>(try_catch) , proto::child_c< 40>(try_catch) , proto::child_c< 41>(try_catch) , proto::child_c< 42>(try_catch) , proto::child_c< 43>(try_catch) , proto::child_c< 44>(try_catch) , proto::child_c< 45>(try_catch) , proto::child_c< 46>(try_catch) , proto::child_c< 47>(try_catch) , proto::child_c< 48>(try_catch)
  4451. , proto::make_expr<
  4452. phoenix::tag::catch_
  4453. , proto::basic_default_domain
  4454. >(catch_exception<Exception>(), capture, catch_)
  4455. );
  4456. }
  4457. };
  4458. template <typename TryCatch, typename Exception, typename Expr>
  4459. struct catch_push_back<TryCatch, Exception, void, Expr, 49>
  4460. {
  4461. typedef
  4462. typename proto::result_of::make_expr<
  4463. phoenix::tag::catch_
  4464. , proto::basic_default_domain
  4465. , catch_exception<Exception>
  4466. , Expr
  4467. >::type
  4468. catch_expr;
  4469. typedef phoenix::expression::try_catch<
  4470. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type , typename proto::result_of::child_c<TryCatch, 38>::type , typename proto::result_of::child_c<TryCatch, 39>::type , typename proto::result_of::child_c<TryCatch, 40>::type , typename proto::result_of::child_c<TryCatch, 41>::type , typename proto::result_of::child_c<TryCatch, 42>::type , typename proto::result_of::child_c<TryCatch, 43>::type , typename proto::result_of::child_c<TryCatch, 44>::type , typename proto::result_of::child_c<TryCatch, 45>::type , typename proto::result_of::child_c<TryCatch, 46>::type , typename proto::result_of::child_c<TryCatch, 47>::type , typename proto::result_of::child_c<TryCatch, 48>::type
  4471. , catch_expr> gen_type;
  4472. typedef typename gen_type::type type;
  4473. static type
  4474. make(
  4475. TryCatch const& try_catch
  4476. , Expr const& catch_
  4477. )
  4478. {
  4479. return
  4480. gen_type::make(
  4481. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch) , proto::child_c< 38>(try_catch) , proto::child_c< 39>(try_catch) , proto::child_c< 40>(try_catch) , proto::child_c< 41>(try_catch) , proto::child_c< 42>(try_catch) , proto::child_c< 43>(try_catch) , proto::child_c< 44>(try_catch) , proto::child_c< 45>(try_catch) , proto::child_c< 46>(try_catch) , proto::child_c< 47>(try_catch) , proto::child_c< 48>(try_catch)
  4482. , proto::make_expr<
  4483. phoenix::tag::catch_
  4484. , proto::basic_default_domain
  4485. >(catch_exception<Exception>(), catch_)
  4486. );
  4487. }
  4488. };
  4489. template <typename TryCatch, typename Expr>
  4490. struct catch_all_push_back<TryCatch, Expr, 49>
  4491. {
  4492. typedef
  4493. typename proto::result_of::make_expr<
  4494. phoenix::tag::catch_all
  4495. , proto::basic_default_domain
  4496. , Expr
  4497. >::type
  4498. catch_expr;
  4499. typedef phoenix::expression::try_catch<
  4500. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type , typename proto::result_of::child_c<TryCatch, 38>::type , typename proto::result_of::child_c<TryCatch, 39>::type , typename proto::result_of::child_c<TryCatch, 40>::type , typename proto::result_of::child_c<TryCatch, 41>::type , typename proto::result_of::child_c<TryCatch, 42>::type , typename proto::result_of::child_c<TryCatch, 43>::type , typename proto::result_of::child_c<TryCatch, 44>::type , typename proto::result_of::child_c<TryCatch, 45>::type , typename proto::result_of::child_c<TryCatch, 46>::type , typename proto::result_of::child_c<TryCatch, 47>::type , typename proto::result_of::child_c<TryCatch, 48>::type
  4501. , catch_expr> gen_type;
  4502. typedef typename gen_type::type type;
  4503. static type
  4504. make(
  4505. TryCatch const& try_catch
  4506. , Expr const& catch_
  4507. )
  4508. {
  4509. return
  4510. gen_type::make(
  4511. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch) , proto::child_c< 38>(try_catch) , proto::child_c< 39>(try_catch) , proto::child_c< 40>(try_catch) , proto::child_c< 41>(try_catch) , proto::child_c< 42>(try_catch) , proto::child_c< 43>(try_catch) , proto::child_c< 44>(try_catch) , proto::child_c< 45>(try_catch) , proto::child_c< 46>(try_catch) , proto::child_c< 47>(try_catch) , proto::child_c< 48>(try_catch)
  4512. , proto::make_expr<
  4513. phoenix::tag::catch_all
  4514. , proto::basic_default_domain
  4515. >(catch_)
  4516. );
  4517. }
  4518. };
  4519. template <typename TryCatch, typename Exception, typename Capture, typename Expr>
  4520. struct catch_push_back<TryCatch, Exception, Capture, Expr, 50>
  4521. {
  4522. typedef
  4523. typename proto::result_of::make_expr<
  4524. phoenix::tag::catch_
  4525. , proto::basic_default_domain
  4526. , catch_exception<Exception>
  4527. , Capture
  4528. , Expr
  4529. >::type
  4530. catch_expr;
  4531. typedef phoenix::expression::try_catch<
  4532. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type , typename proto::result_of::child_c<TryCatch, 38>::type , typename proto::result_of::child_c<TryCatch, 39>::type , typename proto::result_of::child_c<TryCatch, 40>::type , typename proto::result_of::child_c<TryCatch, 41>::type , typename proto::result_of::child_c<TryCatch, 42>::type , typename proto::result_of::child_c<TryCatch, 43>::type , typename proto::result_of::child_c<TryCatch, 44>::type , typename proto::result_of::child_c<TryCatch, 45>::type , typename proto::result_of::child_c<TryCatch, 46>::type , typename proto::result_of::child_c<TryCatch, 47>::type , typename proto::result_of::child_c<TryCatch, 48>::type , typename proto::result_of::child_c<TryCatch, 49>::type
  4533. , catch_expr> gen_type;
  4534. typedef typename gen_type::type type;
  4535. static type
  4536. make(
  4537. TryCatch const& try_catch
  4538. , Capture const& capture
  4539. , Expr const& catch_
  4540. )
  4541. {
  4542. return
  4543. gen_type::make(
  4544. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch) , proto::child_c< 38>(try_catch) , proto::child_c< 39>(try_catch) , proto::child_c< 40>(try_catch) , proto::child_c< 41>(try_catch) , proto::child_c< 42>(try_catch) , proto::child_c< 43>(try_catch) , proto::child_c< 44>(try_catch) , proto::child_c< 45>(try_catch) , proto::child_c< 46>(try_catch) , proto::child_c< 47>(try_catch) , proto::child_c< 48>(try_catch) , proto::child_c< 49>(try_catch)
  4545. , proto::make_expr<
  4546. phoenix::tag::catch_
  4547. , proto::basic_default_domain
  4548. >(catch_exception<Exception>(), capture, catch_)
  4549. );
  4550. }
  4551. };
  4552. template <typename TryCatch, typename Exception, typename Expr>
  4553. struct catch_push_back<TryCatch, Exception, void, Expr, 50>
  4554. {
  4555. typedef
  4556. typename proto::result_of::make_expr<
  4557. phoenix::tag::catch_
  4558. , proto::basic_default_domain
  4559. , catch_exception<Exception>
  4560. , Expr
  4561. >::type
  4562. catch_expr;
  4563. typedef phoenix::expression::try_catch<
  4564. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type , typename proto::result_of::child_c<TryCatch, 38>::type , typename proto::result_of::child_c<TryCatch, 39>::type , typename proto::result_of::child_c<TryCatch, 40>::type , typename proto::result_of::child_c<TryCatch, 41>::type , typename proto::result_of::child_c<TryCatch, 42>::type , typename proto::result_of::child_c<TryCatch, 43>::type , typename proto::result_of::child_c<TryCatch, 44>::type , typename proto::result_of::child_c<TryCatch, 45>::type , typename proto::result_of::child_c<TryCatch, 46>::type , typename proto::result_of::child_c<TryCatch, 47>::type , typename proto::result_of::child_c<TryCatch, 48>::type , typename proto::result_of::child_c<TryCatch, 49>::type
  4565. , catch_expr> gen_type;
  4566. typedef typename gen_type::type type;
  4567. static type
  4568. make(
  4569. TryCatch const& try_catch
  4570. , Expr const& catch_
  4571. )
  4572. {
  4573. return
  4574. gen_type::make(
  4575. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch) , proto::child_c< 38>(try_catch) , proto::child_c< 39>(try_catch) , proto::child_c< 40>(try_catch) , proto::child_c< 41>(try_catch) , proto::child_c< 42>(try_catch) , proto::child_c< 43>(try_catch) , proto::child_c< 44>(try_catch) , proto::child_c< 45>(try_catch) , proto::child_c< 46>(try_catch) , proto::child_c< 47>(try_catch) , proto::child_c< 48>(try_catch) , proto::child_c< 49>(try_catch)
  4576. , proto::make_expr<
  4577. phoenix::tag::catch_
  4578. , proto::basic_default_domain
  4579. >(catch_exception<Exception>(), catch_)
  4580. );
  4581. }
  4582. };
  4583. template <typename TryCatch, typename Expr>
  4584. struct catch_all_push_back<TryCatch, Expr, 50>
  4585. {
  4586. typedef
  4587. typename proto::result_of::make_expr<
  4588. phoenix::tag::catch_all
  4589. , proto::basic_default_domain
  4590. , Expr
  4591. >::type
  4592. catch_expr;
  4593. typedef phoenix::expression::try_catch<
  4594. typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type , typename proto::result_of::child_c<TryCatch, 38>::type , typename proto::result_of::child_c<TryCatch, 39>::type , typename proto::result_of::child_c<TryCatch, 40>::type , typename proto::result_of::child_c<TryCatch, 41>::type , typename proto::result_of::child_c<TryCatch, 42>::type , typename proto::result_of::child_c<TryCatch, 43>::type , typename proto::result_of::child_c<TryCatch, 44>::type , typename proto::result_of::child_c<TryCatch, 45>::type , typename proto::result_of::child_c<TryCatch, 46>::type , typename proto::result_of::child_c<TryCatch, 47>::type , typename proto::result_of::child_c<TryCatch, 48>::type , typename proto::result_of::child_c<TryCatch, 49>::type
  4595. , catch_expr> gen_type;
  4596. typedef typename gen_type::type type;
  4597. static type
  4598. make(
  4599. TryCatch const& try_catch
  4600. , Expr const& catch_
  4601. )
  4602. {
  4603. return
  4604. gen_type::make(
  4605. proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch) , proto::child_c< 38>(try_catch) , proto::child_c< 39>(try_catch) , proto::child_c< 40>(try_catch) , proto::child_c< 41>(try_catch) , proto::child_c< 42>(try_catch) , proto::child_c< 43>(try_catch) , proto::child_c< 44>(try_catch) , proto::child_c< 45>(try_catch) , proto::child_c< 46>(try_catch) , proto::child_c< 47>(try_catch) , proto::child_c< 48>(try_catch) , proto::child_c< 49>(try_catch)
  4606. , proto::make_expr<
  4607. phoenix::tag::catch_all
  4608. , proto::basic_default_domain
  4609. >(catch_)
  4610. );
  4611. }
  4612. };