System.Threading.xml 1.3 MB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371123721237312374123751237612377123781237912380123811238212383123841238512386123871238812389123901239112392123931239412395123961239712398123991240012401124021240312404124051240612407124081240912410124111241212413124141241512416124171241812419124201242112422124231242412425124261242712428124291243012431124321243312434124351243612437124381243912440124411244212443124441244512446124471244812449124501245112452124531245412455124561245712458124591246012461124621246312464124651246612467124681246912470124711247212473124741247512476124771247812479124801248112482124831248412485124861248712488124891249012491124921249312494124951249612497124981249912500125011250212503125041250512506125071250812509125101251112512125131251412515125161251712518125191252012521125221252312524125251252612527125281252912530125311253212533125341253512536125371253812539125401254112542125431254412545125461254712548125491255012551125521255312554125551255612557125581255912560125611256212563125641256512566125671256812569125701257112572125731257412575125761257712578125791258012581125821258312584125851258612587125881258912590125911259212593125941259512596125971259812599126001260112602126031260412605126061260712608126091261012611126121261312614126151261612617126181261912620126211262212623126241262512626126271262812629126301263112632126331263412635126361263712638126391264012641126421264312644126451264612647126481264912650126511265212653126541265512656126571265812659126601266112662126631266412665126661266712668126691267012671126721267312674126751267612677126781267912680126811268212683126841268512686126871268812689126901269112692126931269412695126961269712698126991270012701127021270312704127051270612707127081270912710127111271212713127141271512716127171271812719127201272112722127231272412725127261272712728127291273012731127321273312734127351273612737127381273912740127411274212743127441274512746127471274812749127501275112752127531275412755127561275712758127591276012761127621276312764127651276612767127681276912770127711277212773127741277512776127771277812779127801278112782127831278412785127861278712788127891279012791127921279312794127951279612797127981279912800128011280212803128041280512806128071280812809128101281112812128131281412815128161281712818128191282012821128221282312824128251282612827128281282912830128311283212833128341283512836128371283812839128401284112842128431284412845128461284712848128491285012851128521285312854128551285612857128581285912860128611286212863128641286512866128671286812869128701287112872128731287412875128761287712878128791288012881128821288312884128851288612887128881288912890128911289212893128941289512896128971289812899129001290112902129031290412905129061290712908129091291012911129121291312914129151291612917129181291912920129211292212923129241292512926129271292812929129301293112932129331293412935129361293712938129391294012941129421294312944129451294612947129481294912950129511295212953129541295512956129571295812959129601296112962129631296412965129661296712968129691297012971129721297312974129751297612977129781297912980129811298212983129841298512986129871298812989129901299112992129931299412995129961299712998129991300013001130021300313004130051300613007130081300913010130111301213013130141301513016130171301813019130201302113022130231302413025130261302713028130291303013031130321303313034130351303613037130381303913040130411304213043130441304513046130471304813049130501305113052130531305413055130561305713058130591306013061130621306313064130651306613067130681306913070130711307213073130741307513076130771307813079130801308113082130831308413085130861308713088130891309013091130921309313094130951309613097130981309913100131011310213103131041310513106131071310813109131101311113112131131311413115131161311713118131191312013121131221312313124131251312613127131281312913130131311313213133131341313513136131371313813139131401314113142131431314413145131461314713148131491315013151131521315313154131551315613157131581315913160131611316213163131641316513166131671316813169131701317113172131731317413175131761317713178131791318013181131821318313184131851318613187131881318913190131911319213193131941319513196131971319813199132001320113202132031320413205132061320713208132091321013211132121321313214132151321613217132181321913220132211322213223132241322513226132271322813229132301323113232132331323413235132361323713238132391324013241132421324313244132451324613247132481324913250132511325213253132541325513256132571325813259132601326113262132631326413265132661326713268132691327013271132721327313274132751327613277132781327913280132811328213283132841328513286132871328813289132901329113292132931329413295132961329713298132991330013301133021330313304133051330613307133081330913310133111331213313133141331513316133171331813319133201332113322133231332413325133261332713328133291333013331133321333313334133351333613337133381333913340133411334213343133441334513346133471334813349133501335113352133531335413355133561335713358133591336013361133621336313364133651336613367133681336913370133711337213373133741337513376133771337813379133801338113382133831338413385133861338713388133891339013391133921339313394133951339613397133981339913400134011340213403134041340513406134071340813409134101341113412134131341413415134161341713418134191342013421134221342313424134251342613427134281342913430134311343213433134341343513436134371343813439134401344113442134431344413445134461344713448134491345013451134521345313454134551345613457134581345913460134611346213463134641346513466134671346813469134701347113472134731347413475134761347713478134791348013481134821348313484134851348613487134881348913490134911349213493134941349513496134971349813499135001350113502135031350413505135061350713508135091351013511135121351313514135151351613517135181351913520135211352213523135241352513526135271352813529135301353113532135331353413535135361353713538135391354013541135421354313544135451354613547135481354913550135511355213553135541355513556135571355813559135601356113562135631356413565135661356713568135691357013571135721357313574135751357613577135781357913580135811358213583135841358513586135871358813589135901359113592135931359413595135961359713598135991360013601136021360313604136051360613607136081360913610136111361213613136141361513616136171361813619136201362113622136231362413625136261362713628136291363013631136321363313634136351363613637136381363913640136411364213643136441364513646136471364813649136501365113652136531365413655136561365713658136591366013661136621366313664136651366613667136681366913670136711367213673136741367513676136771367813679136801368113682136831368413685136861368713688136891369013691136921369313694136951369613697136981369913700137011370213703137041370513706137071370813709137101371113712137131371413715137161371713718137191372013721137221372313724137251372613727137281372913730137311373213733137341373513736137371373813739137401374113742137431374413745137461374713748137491375013751137521375313754137551375613757137581375913760137611376213763137641376513766137671376813769137701377113772137731377413775137761377713778137791378013781137821378313784137851378613787137881378913790137911379213793137941379513796137971379813799138001380113802138031380413805138061380713808138091381013811138121381313814138151381613817138181381913820138211382213823138241382513826138271382813829138301383113832138331383413835138361383713838138391384013841138421384313844138451384613847138481384913850138511385213853138541385513856138571385813859138601386113862138631386413865138661386713868138691387013871138721387313874138751387613877138781387913880138811388213883138841388513886138871388813889138901389113892138931389413895138961389713898138991390013901139021390313904139051390613907139081390913910139111391213913139141391513916139171391813919139201392113922139231392413925139261392713928139291393013931139321393313934139351393613937139381393913940139411394213943139441394513946139471394813949139501395113952139531395413955139561395713958139591396013961139621396313964139651396613967139681396913970139711397213973139741397513976139771397813979139801398113982139831398413985139861398713988139891399013991139921399313994139951399613997139981399914000140011400214003140041400514006140071400814009140101401114012140131401414015140161401714018140191402014021140221402314024140251402614027140281402914030140311403214033140341403514036140371403814039140401404114042140431404414045140461404714048140491405014051140521405314054140551405614057140581405914060140611406214063140641406514066140671406814069140701407114072140731407414075140761407714078140791408014081140821408314084140851408614087140881408914090140911409214093140941409514096140971409814099141001410114102141031410414105141061410714108141091411014111141121411314114141151411614117141181411914120141211412214123141241412514126141271412814129141301413114132141331413414135141361413714138141391414014141141421414314144141451414614147141481414914150141511415214153141541415514156141571415814159141601416114162141631416414165141661416714168141691417014171141721417314174141751417614177141781417914180141811418214183141841418514186141871418814189141901419114192141931419414195141961419714198141991420014201142021420314204142051420614207142081420914210142111421214213142141421514216142171421814219142201422114222142231422414225142261422714228142291423014231142321423314234142351423614237142381423914240142411424214243142441424514246142471424814249142501425114252142531425414255142561425714258142591426014261142621426314264142651426614267142681426914270142711427214273142741427514276142771427814279142801428114282142831428414285142861428714288142891429014291142921429314294142951429614297142981429914300143011430214303143041430514306143071430814309143101431114312143131431414315143161431714318143191432014321143221432314324143251432614327143281432914330143311433214333143341433514336143371433814339143401434114342143431434414345143461434714348143491435014351143521435314354143551435614357143581435914360143611436214363143641436514366143671436814369143701437114372143731437414375143761437714378143791438014381143821438314384143851438614387143881438914390143911439214393143941439514396143971439814399144001440114402144031440414405144061440714408144091441014411144121441314414144151441614417144181441914420144211442214423144241442514426144271442814429144301443114432144331443414435144361443714438144391444014441144421444314444144451444614447144481444914450144511445214453144541445514456144571445814459144601446114462144631446414465144661446714468144691447014471144721447314474144751447614477144781447914480144811448214483144841448514486144871448814489144901449114492144931449414495144961449714498144991450014501145021450314504145051450614507145081450914510145111451214513145141451514516145171451814519145201452114522145231452414525145261452714528145291453014531145321453314534145351453614537145381453914540145411454214543145441454514546145471454814549145501455114552145531455414555145561455714558145591456014561145621456314564145651456614567145681456914570145711457214573145741457514576145771457814579145801458114582145831458414585145861458714588145891459014591145921459314594145951459614597145981459914600146011460214603146041460514606146071460814609146101461114612146131461414615146161461714618146191462014621146221462314624146251462614627146281462914630146311463214633146341463514636146371463814639146401464114642146431464414645146461464714648146491465014651146521465314654146551465614657146581465914660146611466214663146641466514666146671466814669146701467114672146731467414675146761467714678146791468014681146821468314684146851468614687146881468914690146911469214693146941469514696146971469814699147001470114702147031470414705147061470714708147091471014711147121471314714147151471614717147181471914720147211472214723147241472514726147271472814729147301473114732147331473414735147361473714738147391474014741147421474314744147451474614747147481474914750147511475214753147541475514756147571475814759147601476114762147631476414765147661476714768147691477014771147721477314774147751477614777147781477914780147811478214783147841478514786147871478814789147901479114792147931479414795147961479714798147991480014801148021480314804148051480614807148081480914810148111481214813148141481514816148171481814819148201482114822148231482414825148261482714828148291483014831148321483314834148351483614837148381483914840148411484214843148441484514846148471484814849148501485114852148531485414855148561485714858148591486014861148621486314864148651486614867148681486914870148711487214873148741487514876148771487814879148801488114882148831488414885148861488714888148891489014891148921489314894148951489614897148981489914900149011490214903149041490514906149071490814909149101491114912149131491414915149161491714918149191492014921149221492314924149251492614927149281492914930149311493214933149341493514936149371493814939149401494114942149431494414945149461494714948149491495014951149521495314954149551495614957149581495914960149611496214963149641496514966149671496814969149701497114972149731497414975149761497714978149791498014981149821498314984149851498614987149881498914990149911499214993149941499514996149971499814999150001500115002150031500415005150061500715008150091501015011150121501315014150151501615017150181501915020150211502215023150241502515026150271502815029150301503115032150331503415035150361503715038150391504015041150421504315044150451504615047150481504915050150511505215053150541505515056150571505815059150601506115062150631506415065150661506715068150691507015071150721507315074150751507615077150781507915080150811508215083150841508515086150871508815089150901509115092150931509415095150961509715098150991510015101151021510315104151051510615107151081510915110151111511215113151141511515116151171511815119151201512115122151231512415125151261512715128151291513015131151321513315134151351513615137151381513915140151411514215143151441514515146151471514815149151501515115152151531515415155151561515715158151591516015161151621516315164151651516615167151681516915170151711517215173151741517515176151771517815179151801518115182151831518415185151861518715188151891519015191151921519315194151951519615197151981519915200152011520215203152041520515206152071520815209152101521115212152131521415215152161521715218152191522015221152221522315224152251522615227152281522915230152311523215233152341523515236152371523815239152401524115242152431524415245152461524715248152491525015251152521525315254152551525615257152581525915260152611526215263152641526515266152671526815269152701527115272152731527415275152761527715278152791528015281152821528315284152851528615287152881528915290152911529215293152941529515296152971529815299153001530115302153031530415305153061530715308153091531015311153121531315314153151531615317153181531915320153211532215323153241532515326153271532815329153301533115332153331533415335153361533715338153391534015341153421534315344153451534615347153481534915350153511535215353153541535515356153571535815359153601536115362153631536415365153661536715368153691537015371153721537315374153751537615377153781537915380153811538215383153841538515386153871538815389153901539115392153931539415395153961539715398153991540015401154021540315404154051540615407154081540915410154111541215413154141541515416154171541815419154201542115422154231542415425154261542715428154291543015431154321543315434154351543615437154381543915440154411544215443154441544515446154471544815449154501545115452154531545415455154561545715458154591546015461154621546315464154651546615467154681546915470154711547215473154741547515476154771547815479154801548115482154831548415485154861548715488154891549015491154921549315494154951549615497154981549915500155011550215503155041550515506155071550815509155101551115512155131551415515155161551715518155191552015521155221552315524155251552615527155281552915530155311553215533155341553515536155371553815539155401554115542155431554415545155461554715548155491555015551155521555315554155551555615557155581555915560155611556215563155641556515566155671556815569155701557115572155731557415575155761557715578155791558015581155821558315584155851558615587155881558915590155911559215593155941559515596155971559815599156001560115602156031560415605156061560715608156091561015611156121561315614156151561615617156181561915620156211562215623156241562515626156271562815629156301563115632156331563415635156361563715638156391564015641156421564315644156451564615647156481564915650156511565215653156541565515656156571565815659156601566115662156631566415665156661566715668156691567015671156721567315674156751567615677156781567915680156811568215683156841568515686156871568815689156901569115692156931569415695156961569715698156991570015701157021570315704157051570615707157081570915710157111571215713157141571515716157171571815719157201572115722157231572415725157261572715728157291573015731157321573315734157351573615737157381573915740157411574215743157441574515746157471574815749157501575115752157531575415755157561575715758157591576015761157621576315764157651576615767157681576915770157711577215773157741577515776157771577815779157801578115782157831578415785157861578715788157891579015791157921579315794157951579615797157981579915800158011580215803158041580515806158071580815809158101581115812158131581415815158161581715818158191582015821158221582315824158251582615827158281582915830158311583215833158341583515836158371583815839158401584115842158431584415845158461584715848158491585015851158521585315854158551585615857158581585915860158611586215863158641586515866158671586815869158701587115872158731587415875158761587715878158791588015881158821588315884158851588615887158881588915890158911589215893158941589515896158971589815899159001590115902159031590415905159061590715908159091591015911159121591315914159151591615917159181591915920159211592215923159241592515926159271592815929159301593115932159331593415935159361593715938159391594015941159421594315944159451594615947159481594915950159511595215953159541595515956159571595815959159601596115962159631596415965159661596715968159691597015971159721597315974159751597615977159781597915980159811598215983159841598515986159871598815989159901599115992159931599415995159961599715998159991600016001160021600316004160051600616007160081600916010160111601216013160141601516016160171601816019160201602116022160231602416025160261602716028160291603016031160321603316034160351603616037160381603916040160411604216043160441604516046160471604816049160501605116052160531605416055160561605716058160591606016061160621606316064160651606616067160681606916070160711607216073160741607516076160771607816079160801608116082160831608416085160861608716088160891609016091160921609316094160951609616097160981609916100161011610216103161041610516106161071610816109161101611116112161131611416115161161611716118161191612016121161221612316124161251612616127161281612916130161311613216133161341613516136161371613816139161401614116142161431614416145161461614716148161491615016151161521615316154161551615616157161581615916160161611616216163161641616516166161671616816169161701617116172161731617416175161761617716178161791618016181161821618316184161851618616187161881618916190161911619216193161941619516196161971619816199162001620116202162031620416205162061620716208162091621016211162121621316214162151621616217162181621916220162211622216223162241622516226162271622816229162301623116232162331623416235162361623716238162391624016241162421624316244162451624616247162481624916250162511625216253162541625516256162571625816259162601626116262162631626416265162661626716268162691627016271162721627316274162751627616277162781627916280162811628216283162841628516286162871628816289162901629116292162931629416295162961629716298162991630016301163021630316304163051630616307163081630916310163111631216313163141631516316163171631816319163201632116322163231632416325163261632716328163291633016331163321633316334163351633616337163381633916340163411634216343163441634516346163471634816349163501635116352163531635416355163561635716358163591636016361163621636316364163651636616367163681636916370163711637216373163741637516376163771637816379163801638116382163831638416385163861638716388163891639016391163921639316394163951639616397163981639916400164011640216403164041640516406164071640816409164101641116412164131641416415164161641716418164191642016421164221642316424164251642616427164281642916430164311643216433164341643516436164371643816439164401644116442164431644416445164461644716448164491645016451164521645316454164551645616457164581645916460164611646216463164641646516466164671646816469164701647116472164731647416475164761647716478164791648016481164821648316484164851648616487164881648916490164911649216493164941649516496164971649816499165001650116502165031650416505165061650716508165091651016511165121651316514165151651616517165181651916520165211652216523165241652516526165271652816529165301653116532165331653416535165361653716538165391654016541165421654316544165451654616547165481654916550165511655216553165541655516556165571655816559165601656116562165631656416565165661656716568165691657016571165721657316574165751657616577165781657916580165811658216583165841658516586165871658816589165901659116592165931659416595165961659716598165991660016601166021660316604166051660616607166081660916610166111661216613166141661516616166171661816619166201662116622166231662416625166261662716628166291663016631166321663316634166351663616637166381663916640166411664216643166441664516646166471664816649166501665116652166531665416655166561665716658166591666016661166621666316664166651666616667166681666916670166711667216673166741667516676166771667816679166801668116682166831668416685166861668716688166891669016691166921669316694166951669616697166981669916700167011670216703167041670516706167071670816709167101671116712167131671416715167161671716718167191672016721167221672316724167251672616727167281672916730167311673216733167341673516736167371673816739167401674116742167431674416745167461674716748167491675016751167521675316754167551675616757167581675916760167611676216763167641676516766167671676816769167701677116772167731677416775167761677716778167791678016781167821678316784167851678616787167881678916790167911679216793167941679516796167971679816799168001680116802168031680416805168061680716808168091681016811168121681316814168151681616817168181681916820168211682216823168241682516826168271682816829168301683116832168331683416835168361683716838168391684016841168421684316844168451684616847168481684916850168511685216853168541685516856168571685816859168601686116862168631686416865168661686716868168691687016871168721687316874168751687616877168781687916880168811688216883168841688516886168871688816889168901689116892168931689416895168961689716898168991690016901169021690316904169051690616907169081690916910169111691216913169141691516916169171691816919169201692116922169231692416925169261692716928169291693016931169321693316934169351693616937169381693916940169411694216943169441694516946169471694816949169501695116952169531695416955169561695716958169591696016961169621696316964169651696616967169681696916970169711697216973169741697516976169771697816979169801698116982169831698416985169861698716988169891699016991169921699316994169951699616997169981699917000170011700217003170041700517006170071700817009170101701117012170131701417015170161701717018170191702017021170221702317024170251702617027170281702917030170311703217033170341703517036170371703817039170401704117042170431704417045170461704717048170491705017051170521705317054170551705617057170581705917060170611706217063170641706517066170671706817069170701707117072170731707417075170761707717078170791708017081170821708317084170851708617087170881708917090170911709217093170941709517096170971709817099171001710117102171031710417105171061710717108171091711017111171121711317114171151711617117171181711917120171211712217123171241712517126171271712817129171301713117132171331713417135171361713717138171391714017141171421714317144171451714617147171481714917150171511715217153171541715517156171571715817159171601716117162171631716417165171661716717168171691717017171171721717317174171751717617177171781717917180171811718217183171841718517186171871718817189171901719117192171931719417195171961719717198171991720017201172021720317204172051720617207172081720917210172111721217213172141721517216172171721817219172201722117222172231722417225172261722717228172291723017231172321723317234172351723617237172381723917240172411724217243172441724517246172471724817249172501725117252172531725417255172561725717258172591726017261172621726317264172651726617267172681726917270172711727217273172741727517276172771727817279172801728117282172831728417285172861728717288172891729017291172921729317294172951729617297172981729917300173011730217303173041730517306173071730817309173101731117312173131731417315173161731717318173191732017321173221732317324173251732617327173281732917330173311733217333173341733517336173371733817339173401734117342173431734417345173461734717348173491735017351173521735317354173551735617357173581735917360173611736217363173641736517366173671736817369173701737117372173731737417375173761737717378173791738017381173821738317384173851738617387173881738917390173911739217393173941739517396173971739817399174001740117402174031740417405174061740717408174091741017411174121741317414174151741617417174181741917420174211742217423174241742517426174271742817429174301743117432174331743417435174361743717438174391744017441174421744317444174451744617447174481744917450174511745217453174541745517456174571745817459174601746117462174631746417465174661746717468174691747017471174721747317474174751747617477174781747917480174811748217483174841748517486174871748817489174901749117492174931749417495174961749717498174991750017501175021750317504175051750617507175081750917510175111751217513175141751517516175171751817519175201752117522175231752417525175261752717528175291753017531175321753317534175351753617537175381753917540175411754217543175441754517546175471754817549175501755117552175531755417555175561755717558175591756017561175621756317564175651756617567175681756917570175711757217573175741757517576175771757817579175801758117582175831758417585175861758717588175891759017591175921759317594175951759617597175981759917600176011760217603176041760517606176071760817609176101761117612176131761417615176161761717618176191762017621176221762317624176251762617627176281762917630176311763217633176341763517636176371763817639176401764117642176431764417645176461764717648176491765017651176521765317654176551765617657176581765917660176611766217663176641766517666176671766817669176701767117672176731767417675176761767717678176791768017681176821768317684176851768617687176881768917690176911769217693176941769517696176971769817699177001770117702177031770417705177061770717708177091771017711177121771317714177151771617717177181771917720177211772217723177241772517726177271772817729177301773117732177331773417735177361773717738177391774017741177421774317744177451774617747177481774917750177511775217753177541775517756177571775817759177601776117762177631776417765177661776717768177691777017771177721777317774177751777617777177781777917780177811778217783177841778517786177871778817789177901779117792177931779417795177961779717798177991780017801178021780317804178051780617807178081780917810178111781217813178141781517816178171781817819178201782117822178231782417825178261782717828178291783017831178321783317834178351783617837178381783917840178411784217843178441784517846178471784817849178501785117852178531785417855178561785717858178591786017861178621786317864178651786617867178681786917870178711787217873178741787517876178771787817879178801788117882178831788417885178861788717888178891789017891178921789317894178951789617897178981789917900179011790217903179041790517906179071790817909179101791117912179131791417915179161791717918179191792017921179221792317924179251792617927179281792917930179311793217933179341793517936179371793817939179401794117942179431794417945179461794717948179491795017951179521795317954179551795617957179581795917960179611796217963179641796517966179671796817969179701797117972179731797417975179761797717978179791798017981179821798317984179851798617987179881798917990179911799217993179941799517996179971799817999180001800118002180031800418005180061800718008180091801018011180121801318014180151801618017180181801918020180211802218023180241802518026180271802818029180301803118032180331803418035180361803718038180391804018041180421804318044180451804618047180481804918050180511805218053180541805518056180571805818059180601806118062180631806418065180661806718068180691807018071180721807318074180751807618077180781807918080180811808218083180841808518086180871808818089180901809118092180931809418095180961809718098180991810018101181021810318104181051810618107181081810918110181111811218113181141811518116181171811818119181201812118122181231812418125181261812718128181291813018131181321813318134181351813618137181381813918140181411814218143181441814518146181471814818149181501815118152181531815418155181561815718158181591816018161181621816318164181651816618167181681816918170181711817218173181741817518176181771817818179181801818118182181831818418185181861818718188181891819018191181921819318194181951819618197181981819918200182011820218203182041820518206182071820818209182101821118212182131821418215182161821718218182191822018221182221822318224182251822618227182281822918230182311823218233182341823518236182371823818239182401824118242182431824418245182461824718248182491825018251182521825318254182551825618257182581825918260182611826218263182641826518266182671826818269182701827118272182731827418275182761827718278182791828018281182821828318284182851828618287182881828918290182911829218293182941829518296182971829818299183001830118302183031830418305183061830718308183091831018311183121831318314183151831618317183181831918320183211832218323183241832518326183271832818329183301833118332183331833418335183361833718338183391834018341183421834318344183451834618347183481834918350183511835218353183541835518356183571835818359183601836118362183631836418365183661836718368183691837018371183721837318374183751837618377183781837918380183811838218383183841838518386183871838818389183901839118392183931839418395183961839718398183991840018401184021840318404184051840618407184081840918410184111841218413184141841518416184171841818419184201842118422184231842418425184261842718428184291843018431184321843318434184351843618437184381843918440184411844218443184441844518446184471844818449184501845118452184531845418455184561845718458184591846018461184621846318464184651846618467184681846918470184711847218473184741847518476184771847818479184801848118482184831848418485184861848718488184891849018491184921849318494184951849618497184981849918500185011850218503185041850518506185071850818509185101851118512185131851418515185161851718518185191852018521185221852318524185251852618527185281852918530185311853218533185341853518536185371853818539185401854118542185431854418545185461854718548185491855018551185521855318554185551855618557185581855918560185611856218563185641856518566185671856818569185701857118572185731857418575185761857718578185791858018581185821858318584185851858618587185881858918590185911859218593185941859518596185971859818599186001860118602186031860418605186061860718608186091861018611186121861318614186151861618617186181861918620186211862218623186241862518626186271862818629186301863118632186331863418635186361863718638186391864018641186421864318644186451864618647186481864918650186511865218653186541865518656186571865818659186601866118662186631866418665186661866718668186691867018671186721867318674186751867618677186781867918680186811868218683186841868518686186871868818689186901869118692186931869418695186961869718698186991870018701187021870318704187051870618707187081870918710187111871218713187141871518716187171871818719187201872118722187231872418725187261872718728187291873018731187321873318734187351873618737187381873918740187411874218743187441874518746187471874818749187501875118752187531875418755187561875718758187591876018761187621876318764187651876618767187681876918770187711877218773187741877518776187771877818779187801878118782187831878418785187861878718788187891879018791187921879318794187951879618797187981879918800188011880218803188041880518806188071880818809188101881118812188131881418815188161881718818188191882018821188221882318824188251882618827188281882918830188311883218833188341883518836188371883818839188401884118842188431884418845188461884718848188491885018851188521885318854188551885618857188581885918860188611886218863188641886518866188671886818869188701887118872188731887418875188761887718878188791888018881188821888318884188851888618887188881888918890188911889218893188941889518896188971889818899189001890118902189031890418905189061890718908189091891018911189121891318914189151891618917189181891918920189211892218923189241892518926189271892818929189301893118932189331893418935189361893718938189391894018941189421894318944189451894618947189481894918950189511895218953189541895518956189571895818959189601896118962189631896418965189661896718968189691897018971189721897318974189751897618977189781897918980189811898218983189841898518986189871898818989189901899118992189931899418995189961899718998189991900019001190021900319004190051900619007190081900919010190111901219013190141901519016190171901819019190201902119022190231902419025190261902719028190291903019031190321903319034190351903619037190381903919040190411904219043190441904519046190471904819049190501905119052190531905419055190561905719058190591906019061190621906319064190651906619067190681906919070190711907219073190741907519076190771907819079190801908119082190831908419085190861908719088190891909019091190921909319094190951909619097190981909919100191011910219103191041910519106191071910819109191101911119112191131911419115191161911719118191191912019121191221912319124191251912619127191281912919130191311913219133191341913519136191371913819139191401914119142191431914419145191461914719148191491915019151191521915319154191551915619157191581915919160191611916219163191641916519166191671916819169191701917119172191731917419175191761917719178191791918019181191821918319184191851918619187191881918919190191911919219193191941919519196191971919819199192001920119202192031920419205192061920719208192091921019211192121921319214192151921619217192181921919220192211922219223192241922519226192271922819229192301923119232192331923419235192361923719238192391924019241192421924319244192451924619247192481924919250192511925219253192541925519256192571925819259192601926119262192631926419265192661926719268192691927019271192721927319274192751927619277192781927919280192811928219283192841928519286192871928819289192901929119292192931929419295192961929719298192991930019301193021930319304193051930619307193081930919310193111931219313193141931519316193171931819319193201932119322193231932419325193261932719328193291933019331193321933319334193351933619337193381933919340193411934219343193441934519346193471934819349193501935119352193531935419355193561935719358193591936019361193621936319364193651936619367193681936919370193711937219373193741937519376193771937819379193801938119382193831938419385193861938719388193891939019391193921939319394193951939619397193981939919400194011940219403194041940519406194071940819409194101941119412194131941419415194161941719418194191942019421194221942319424194251942619427194281942919430194311943219433194341943519436194371943819439194401944119442194431944419445194461944719448194491945019451194521945319454194551945619457194581945919460194611946219463194641946519466194671946819469194701947119472194731947419475194761947719478194791948019481194821948319484194851948619487194881948919490194911949219493194941949519496194971949819499195001950119502195031950419505195061950719508195091951019511195121951319514195151951619517195181951919520195211952219523195241952519526195271952819529195301953119532195331953419535195361953719538195391954019541195421954319544195451954619547195481954919550195511955219553195541955519556195571955819559195601956119562195631956419565195661956719568195691957019571195721957319574195751957619577195781957919580195811958219583195841958519586195871958819589195901959119592195931959419595195961959719598195991960019601196021960319604196051960619607196081960919610196111961219613196141961519616196171961819619196201962119622196231962419625196261962719628196291963019631196321963319634196351963619637196381963919640196411964219643196441964519646196471964819649196501965119652196531965419655196561965719658196591966019661196621966319664196651966619667196681966919670196711967219673196741967519676196771967819679196801968119682196831968419685196861968719688196891969019691196921969319694196951969619697196981969919700197011970219703197041970519706197071970819709197101971119712197131971419715197161971719718197191972019721197221972319724197251972619727197281972919730197311973219733197341973519736197371973819739197401974119742197431974419745197461974719748197491975019751197521975319754197551975619757197581975919760197611976219763197641976519766197671976819769197701977119772197731977419775197761977719778197791978019781197821978319784197851978619787197881978919790197911979219793197941979519796197971979819799198001980119802198031980419805198061980719808198091981019811
  1. <?xml version="1.0"?>
  2. <doc>
  3. <assembly>
  4. <name>System.Threading</name>
  5. </assembly>
  6. <members>
  7. <member name="T:System.Diagnostics.Contracts.Contract">
  8. <summary>
  9. A stub version of .NET 4.0 contracts.
  10. </summary>
  11. </member>
  12. <member name="T:System.Environment2">
  13. <summary>
  14. A dummy class that implements GetResourceString. Environment.GetResourceString(string) is an internal
  15. method in mscorlib.dll.
  16. </summary>
  17. </member>
  18. <member name="T:System.Threading.Tasks.IThreadPoolWorkItem">
  19. <summary>
  20. An interface similar to the one added in .NET 4.0.
  21. </summary>
  22. </member>
  23. <member name="T:System.Threading.Monitor2">
  24. <summary>
  25. .NET 4.0 Monitor class supports new overloads that return a boolean value
  26. representing whether the lock was successfully taken or not. The return value
  27. is meant to be accurate even in the presence of thread aborts.
  28. Monitor2 implements these methods as simple wrappers over the .NET 3.5 methods,
  29. but without making the guarantees related to thread aborts.
  30. </summary>
  31. </member>
  32. <member name="T:System.Collections.Generic.Mscorlib_DictionaryDebugView`2">
  33. <summary>
  34. This internal class from mscorlib.dll is used by ConcurrentDictionary.
  35. </summary>
  36. </member>
  37. <member name="T:System.OperationCanceledException2">
  38. <summary>
  39. OperationCanceledException is changing from .NET 3.5 to .NET 4.0. To make Parallel Extensions work,
  40. we include the new version as OperationCanceledException2.
  41. </summary>
  42. </member>
  43. <member name="T:System.Threading.Platform">
  44. <summary>
  45. A convenience class for common platform-related logic.
  46. </summary>
  47. </member>
  48. <member name="P:System.Threading.Platform.ProcessorCount">
  49. <summary>
  50. Gets the number of available processors available to this process on the current machine.
  51. </summary>
  52. </member>
  53. <member name="T:System.SecuritySafeCriticalAttribute">
  54. <summary>
  55. A dummy replacement for the .NET 4.0 SecuritySafeCriticalAttribute. The dummy attribute makes the
  56. code compile, but we are likely losing the ability to be called from a partial trust environment.
  57. </summary>
  58. </member>
  59. <member name="T:System.Threading.StackCrawlMark2">
  60. <summary>
  61. A dummy replacement for the .NET internal class StackCrawlMark.
  62. </summary>
  63. </member>
  64. <member name="T:System.Collections.Concurrent.ConcurrentDictionary`2">
  65. <summary>
  66. Represents a thread-safe collection of keys and values.
  67. </summary>
  68. <typeparam name="TKey">The type of the keys in the dictionary.</typeparam>
  69. <typeparam name="TValue">The type of the values in the dictionary.</typeparam>
  70. <remarks>
  71. All public and protected members of <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> are thread-safe and may be used
  72. concurrently from multiple threads.
  73. </remarks>
  74. </member>
  75. <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.#ctor">
  76. <summary>
  77. Initializes a new instance of the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
  78. class that is empty, has the default concurrency level, has the default initial capacity, and
  79. uses the default comparer for the key type.
  80. </summary>
  81. </member>
  82. <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.#ctor(System.Int32,System.Int32)">
  83. <summary>
  84. Initializes a new instance of the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
  85. class that is empty, has the specified concurrency level and capacity, and uses the default
  86. comparer for the key type.
  87. </summary>
  88. <param name="concurrencyLevel">The estimated number of threads that will update the
  89. <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> concurrently.</param>
  90. <param name="capacity">The initial number of elements that the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
  91. can contain.</param>
  92. <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="concurrencyLevel"/> is
  93. less than 1.</exception>
  94. <exception cref="T:System.ArgumentOutOfRangeException"> <paramref name="capacity"/> is less than
  95. 0.</exception>
  96. </member>
  97. <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.#ctor(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}})">
  98. <summary>
  99. Initializes a new instance of the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
  100. class that contains elements copied from the specified <see cref="T:System.Collections.IEnumerable{KeyValuePair{TKey,TValue}}"/>, has the default concurrency
  101. level, has the default initial capacity, and uses the default comparer for the key type.
  102. </summary>
  103. <param name="collection">The <see cref="T:System.Collections.IEnumerable{KeyValuePair{TKey,TValue}}"/> whose elements are copied to
  104. the new
  105. <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</param>
  106. <exception cref="T:System.ArgumentNullException"><paramref name="collection"/> is a null reference
  107. (Nothing in Visual Basic).</exception>
  108. <exception cref="T:System.ArgumentException"><paramref name="collection"/> contains one or more
  109. duplicate keys.</exception>
  110. </member>
  111. <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.#ctor(System.Collections.Generic.IEqualityComparer{`0})">
  112. <summary>
  113. Initializes a new instance of the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
  114. class that is empty, has the specified concurrency level and capacity, and uses the specified
  115. <see cref="T:System.Collections.Generic.IEqualityComparer{TKey}"/>.
  116. </summary>
  117. <param name="comparer">The <see cref="T:System.Collections.Generic.IEqualityComparer{TKey}"/>
  118. implementation to use when comparing keys.</param>
  119. <exception cref="T:System.ArgumentNullException"><paramref name="comparer"/> is a null reference
  120. (Nothing in Visual Basic).</exception>
  121. </member>
  122. <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.#ctor(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}},System.Collections.Generic.IEqualityComparer{`0})">
  123. <summary>
  124. Initializes a new instance of the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
  125. class that contains elements copied from the specified <see cref="T:System.Collections.IEnumerable"/>, has the default concurrency level, has the default
  126. initial capacity, and uses the specified
  127. <see cref="T:System.Collections.Generic.IEqualityComparer{TKey}"/>.
  128. </summary>
  129. <param name="collection">The <see cref="T:System.Collections.IEnumerable{KeyValuePair{TKey,TValue}}"/> whose elements are copied to
  130. the new
  131. <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</param>
  132. <param name="comparer">The <see cref="T:System.Collections.Generic.IEqualityComparer{TKey}"/>
  133. implementation to use when comparing keys.</param>
  134. <exception cref="T:System.ArgumentNullException"><paramref name="collection"/> is a null reference
  135. (Nothing in Visual Basic). -or-
  136. <paramref name="comparer"/> is a null reference (Nothing in Visual Basic).
  137. </exception>
  138. </member>
  139. <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.#ctor(System.Int32,System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}},System.Collections.Generic.IEqualityComparer{`0})">
  140. <summary>
  141. Initializes a new instance of the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
  142. class that contains elements copied from the specified <see cref="T:System.Collections.IEnumerable"/>,
  143. has the specified concurrency level, has the specified initial capacity, and uses the specified
  144. <see cref="T:System.Collections.Generic.IEqualityComparer{TKey}"/>.
  145. </summary>
  146. <param name="concurrencyLevel">The estimated number of threads that will update the
  147. <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> concurrently.</param>
  148. <param name="collection">The <see cref="T:System.Collections.IEnumerable{KeyValuePair{TKey,TValue}}"/> whose elements are copied to the new
  149. <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</param>
  150. <param name="comparer">The <see cref="T:System.Collections.Generic.IEqualityComparer{TKey}"/> implementation to use
  151. when comparing keys.</param>
  152. <exception cref="T:System.ArgumentNullException">
  153. <paramref name="collection"/> is a null reference (Nothing in Visual Basic).
  154. -or-
  155. <paramref name="comparer"/> is a null reference (Nothing in Visual Basic).
  156. </exception>
  157. <exception cref="T:System.ArgumentOutOfRangeException">
  158. <paramref name="concurrencyLevel"/> is less than 1.
  159. </exception>
  160. <exception cref="T:System.ArgumentException"><paramref name="collection"/> contains one or more duplicate keys.</exception>
  161. </member>
  162. <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.#ctor(System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer{`0})">
  163. <summary>
  164. Initializes a new instance of the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
  165. class that is empty, has the specified concurrency level, has the specified initial capacity, and
  166. uses the specified <see cref="T:System.Collections.Generic.IEqualityComparer{TKey}"/>.
  167. </summary>
  168. <param name="concurrencyLevel">The estimated number of threads that will update the
  169. <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> concurrently.</param>
  170. <param name="capacity">The initial number of elements that the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
  171. can contain.</param>
  172. <param name="comparer">The <see cref="T:System.Collections.Generic.IEqualityComparer{TKey}"/>
  173. implementation to use when comparing keys.</param>
  174. <exception cref="T:System.ArgumentOutOfRangeException">
  175. <paramref name="concurrencyLevel"/> is less than 1. -or-
  176. <paramref name="capacity"/> is less than 0.
  177. </exception>
  178. <exception cref="T:System.ArgumentNullException"><paramref name="comparer"/> is a null reference
  179. (Nothing in Visual Basic).</exception>
  180. </member>
  181. <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.TryAdd(`0,`1)">
  182. <summary>
  183. Attempts to add the specified key and value to the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.
  184. </summary>
  185. <param name="key">The key of the element to add.</param>
  186. <param name="value">The value of the element to add. The value can be a null reference (Nothing
  187. in Visual Basic) for reference types.</param>
  188. <returns>true if the key/value pair was added to the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
  189. successfully; otherwise, false.</returns>
  190. <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is null reference
  191. (Nothing in Visual Basic).</exception>
  192. <exception cref="T:System.OverflowException">The <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
  193. contains too many elements.</exception>
  194. </member>
  195. <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.ContainsKey(`0)">
  196. <summary>
  197. Determines whether the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> contains the specified
  198. key.
  199. </summary>
  200. <param name="key">The key to locate in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</param>
  201. <returns>true if the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> contains an element with
  202. the specified key; otherwise, false.</returns>
  203. <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
  204. (Nothing in Visual Basic).</exception>
  205. </member>
  206. <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.TryRemove(`0,`1@)">
  207. <summary>
  208. Attempts to remove and return the the value with the specified key from the
  209. <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.
  210. </summary>
  211. <param name="key">The key of the element to remove and return.</param>
  212. <param name="value">When this method returns, <paramref name="value"/> contains the object removed from the
  213. <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> or the default value of <typeparamref name="TValue"/>
  214. if the operation failed.</param>
  215. <returns>true if an object was removed successfully; otherwise, false.</returns>
  216. <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
  217. (Nothing in Visual Basic).</exception>
  218. </member>
  219. <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.TryRemoveInternal(`0,`1@,System.Boolean,`1)">
  220. <summary>
  221. Removes the specified key from the dictionary if it exists and returns its associated value.
  222. If matchValue flag is set, the key will be removed only if is associated with a particular
  223. value.
  224. </summary>
  225. <param name="key">The key to search for and remove if it exists.</param>
  226. <param name="value">The variable into which the removed value, if found, is stored.</param>
  227. <param name="matchValue">Whether removal of the key is conditional on its value.</param>
  228. <param name="oldValue">The conditional value to compare against if <paramref name="matchValue"/> is true</param>
  229. <returns></returns>
  230. </member>
  231. <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.TryGetValue(`0,`1@)">
  232. <summary>
  233. Attempts to get the value associated with the specified key from the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.
  234. </summary>
  235. <param name="key">The key of the value to get.</param>
  236. <param name="value">When this method returns, <paramref name="value"/> contains the object from
  237. the
  238. <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> with the spedified key or the default value of
  239. <typeparamref name="TValue"/>, if the operation failed.</param>
  240. <returns>true if the key was found in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>;
  241. otherwise, false.</returns>
  242. <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
  243. (Nothing in Visual Basic).</exception>
  244. </member>
  245. <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.TryUpdate(`0,`1,`1)">
  246. <summary>
  247. Compares the existing value for the specified key with a specified value, and if they’re equal,
  248. updates the key with a third value.
  249. </summary>
  250. <param name="key">The key whose value is compared with <paramref name="comparisonValue"/> and
  251. possibly replaced.</param>
  252. <param name="newValue">The value that replaces the value of the element with <paramref
  253. name="key"/> if the comparison results in equality.</param>
  254. <param name="comparisonValue">The value that is compared to the value of the element with
  255. <paramref name="key"/>.</param>
  256. <returns>true if the value with <paramref name="key"/> was equal to <paramref
  257. name="comparisonValue"/> and replaced with <paramref name="newValue"/>; otherwise,
  258. false.</returns>
  259. <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null
  260. reference.</exception>
  261. </member>
  262. <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.Clear">
  263. <summary>
  264. Removes all keys and values from the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.
  265. </summary>
  266. </member>
  267. <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#CopyTo(System.Collections.Generic.KeyValuePair{`0,`1}[],System.Int32)">
  268. <summary>
  269. Copies the elements of the <see cref="T:System.Collections.Generic.ICollection"/> to an array of
  270. type <see cref="T:System.Collections.Generic.KeyValuePair{TKey,TValue}"/>, starting at the
  271. specified array index.
  272. </summary>
  273. <param name="array">The one-dimensional array of type <see
  274. cref="T:System.Collections.Generic.KeyValuePair{TKey,TValue}"/>
  275. that is the destination of the <see
  276. cref="T:System.Collections.Generic.KeyValuePair{TKey,TValue}"/> elements copied from the <see
  277. cref="T:System.Collections.ICollection"/>. The array must have zero-based indexing.</param>
  278. <param name="index">The zero-based index in <paramref name="array"/> at which copying
  279. begins.</param>
  280. <exception cref="T:System.ArgumentNullException"><paramref name="array"/> is a null reference
  281. (Nothing in Visual Basic).</exception>
  282. <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="index"/> is less than
  283. 0.</exception>
  284. <exception cref="T:System.ArgumentException"><paramref name="index"/> is equal to or greater than
  285. the length of the <paramref name="array"/>. -or- The number of elements in the source <see
  286. cref="T:System.Collections.ICollection"/>
  287. is greater than the available space from <paramref name="index"/> to the end of the destination
  288. <paramref name="array"/>.</exception>
  289. </member>
  290. <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.ToArray">
  291. <summary>
  292. Copies the key and value pairs stored in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> to a
  293. new array.
  294. </summary>
  295. <returns>A new array containing a snapshot of key and value pairs copied from the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</returns>
  296. </member>
  297. <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.CopyToPairs(System.Collections.Generic.KeyValuePair{`0,`1}[],System.Int32)">
  298. <summary>
  299. Copy dictionary contents to an array - shared implementation between ToArray and CopyTo.
  300. Important: the caller must hold all locks in m_locks before calling CopyToPairs.
  301. </summary>
  302. </member>
  303. <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.CopyToEntries(System.Collections.DictionaryEntry[],System.Int32)">
  304. <summary>
  305. Copy dictionary contents to an array - shared implementation between ToArray and CopyTo.
  306. Important: the caller must hold all locks in m_locks before calling CopyToEntries.
  307. </summary>
  308. </member>
  309. <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.CopyToObjects(System.Object[],System.Int32)">
  310. <summary>
  311. Copy dictionary contents to an array - shared implementation between ToArray and CopyTo.
  312. Important: the caller must hold all locks in m_locks before calling CopyToObjects.
  313. </summary>
  314. </member>
  315. <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.GetEnumerator">
  316. <summary>Returns an enumerator that iterates through the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</summary>
  317. <returns>An enumerator for the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</returns>
  318. <remarks>
  319. The enumerator returned from the dictionary is safe to use concurrently with
  320. reads and writes to the dictionary, however it does not represent a moment-in-time snapshot
  321. of the dictionary. The contents exposed through the enumerator may contain modifications
  322. made to the dictionary after <see cref="M:System.Collections.Concurrent.ConcurrentDictionary`2.GetEnumerator"/> was called.
  323. </remarks>
  324. </member>
  325. <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.TryAddInternal(`0,`1,System.Boolean,System.Boolean,`1@)">
  326. <summary>
  327. Shared internal implementation for inserts and updates.
  328. If key exists, we always return false; and if updateIfExists == true we force update with value;
  329. If key doesn't exist, we always add value and return true;
  330. </summary>
  331. </member>
  332. <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(`0,System.Func{`0,`1})">
  333. <summary>
  334. Adds a key/value pair to the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
  335. if the key does not already exist.
  336. </summary>
  337. <param name="key">The key of the element to add.</param>
  338. <param name="valueFactory">The function used to generate a value for the key</param>
  339. <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
  340. (Nothing in Visual Basic).</exception>
  341. <exception cref="T:System.ArgumentNullException"><paramref name="valueFactory"/> is a null reference
  342. (Nothing in Visual Basic).</exception>
  343. <exception cref="T:System.OverflowException">The dictionary contains too many
  344. elements.</exception>
  345. <returns>The value for the key. This will be either the existing value for the key if the
  346. key is already in the dictionary, or the new value for the key as returned by valueFactory
  347. if the key was not in the dictionary.</returns>
  348. </member>
  349. <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(`0,`1)">
  350. <summary>
  351. Adds a key/value pair to the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
  352. if the key does not already exist.
  353. </summary>
  354. <param name="key">The key of the element to add.</param>
  355. <param name="value">the value to be added, if the key does not already exist</param>
  356. <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
  357. (Nothing in Visual Basic).</exception>
  358. <exception cref="T:System.OverflowException">The dictionary contains too many
  359. elements.</exception>
  360. <returns>The value for the key. This will be either the existing value for the key if the
  361. key is already in the dictionary, or the new value if the key was not in the dictionary.</returns>
  362. </member>
  363. <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.AddOrUpdate(`0,System.Func{`0,`1},System.Func{`0,`1,`1})">
  364. <summary>
  365. Adds a key/value pair to the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> if the key does not already
  366. exist, or updates a key/value pair in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> if the key
  367. already exists.
  368. </summary>
  369. <param name="key">The key to be added or whose value should be updated</param>
  370. <param name="addValueFactory">The function used to generate a value for an absent key</param>
  371. <param name="updateValueFactory">The function used to generate a new value for an existing key
  372. based on the key's existing value</param>
  373. <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
  374. (Nothing in Visual Basic).</exception>
  375. <exception cref="T:System.ArgumentNullException"><paramref name="addValueFactory"/> is a null reference
  376. (Nothing in Visual Basic).</exception>
  377. <exception cref="T:System.ArgumentNullException"><paramref name="updateValueFactory"/> is a null reference
  378. (Nothing in Visual Basic).</exception>
  379. <exception cref="T:System.OverflowException">The dictionary contains too many
  380. elements.</exception>
  381. <returns>The new value for the key. This will be either be the result of addValueFactory (if the key was
  382. absent) or the result of updateValueFactory (if the key was present).</returns>
  383. </member>
  384. <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.AddOrUpdate(`0,`1,System.Func{`0,`1,`1})">
  385. <summary>
  386. Adds a key/value pair to the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> if the key does not already
  387. exist, or updates a key/value pair in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> if the key
  388. already exists.
  389. </summary>
  390. <param name="key">The key to be added or whose value should be updated</param>
  391. <param name="addValue">The value to be added for an absent key</param>
  392. <param name="updateValueFactory">The function used to generate a new value for an existing key based on
  393. the key's existing value</param>
  394. <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
  395. (Nothing in Visual Basic).</exception>
  396. <exception cref="T:System.ArgumentNullException"><paramref name="updateValueFactory"/> is a null reference
  397. (Nothing in Visual Basic).</exception>
  398. <exception cref="T:System.OverflowException">The dictionary contains too many
  399. elements.</exception>
  400. <returns>The new value for the key. This will be either be the result of addValueFactory (if the key was
  401. absent) or the result of updateValueFactory (if the key was present).</returns>
  402. </member>
  403. <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#Generic#IDictionary{TKey@TValue}#Add(`0,`1)">
  404. <summary>
  405. Adds the specified key and value to the <see cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/>.
  406. </summary>
  407. <param name="key">The object to use as the key of the element to add.</param>
  408. <param name="value">The object to use as the value of the element to add.</param>
  409. <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
  410. (Nothing in Visual Basic).</exception>
  411. <exception cref="T:System.OverflowException">The dictionary contains too many
  412. elements.</exception>
  413. <exception cref="T:System.ArgumentException">
  414. An element with the same key already exists in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</exception>
  415. </member>
  416. <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#Generic#IDictionary{TKey@TValue}#Remove(`0)">
  417. <summary>
  418. Removes the element with the specified key from the <see
  419. cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/>.
  420. </summary>
  421. <param name="key">The key of the element to remove.</param>
  422. <returns>true if the element is successfully remove; otherwise false. This method also returns
  423. false if
  424. <paramref name="key"/> was not found in the original <see
  425. cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/>.
  426. </returns>
  427. <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
  428. (Nothing in Visual Basic).</exception>
  429. </member>
  430. <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#Add(System.Collections.Generic.KeyValuePair{`0,`1})">
  431. <summary>
  432. Adds the specified value to the <see cref="T:System.Collections.Generic.ICollection{TValue}"/>
  433. with the specified key.
  434. </summary>
  435. <param name="keyValuePair">The <see cref="T:System.Collections.Generic.KeyValuePair{TKey,TValue}"/>
  436. structure representing the key and value to add to the <see
  437. cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>.</param>
  438. <exception cref="T:System.ArgumentNullException">The <paramref name="keyValuePair"/> of <paramref
  439. name="keyValuePair"/> is null.</exception>
  440. <exception cref="T:System.OverflowException">The <see
  441. cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>
  442. contains too many elements.</exception>
  443. <exception cref="T:System.ArgumentException">An element with the same key already exists in the
  444. <see cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/></exception>
  445. </member>
  446. <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#Contains(System.Collections.Generic.KeyValuePair{`0,`1})">
  447. <summary>
  448. Determines whether the <see cref="T:System.Collections.Generic.ICollection{TKey,TValue}"/>
  449. contains a specific key and value.
  450. </summary>
  451. <param name="keyValuePair">The <see cref="T:System.Collections.Generic.KeyValuePair{TKey,TValue}"/>
  452. structure to locate in the <see
  453. cref="T:System.Collections.Generic.ICollection{TValue}"/>.</param>
  454. <returns>true if the <paramref name="keyValuePair"/> is found in the <see
  455. cref="T:System.Collections.Generic.ICollection{TKey,TValue}"/>; otherwise, false.</returns>
  456. </member>
  457. <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#Remove(System.Collections.Generic.KeyValuePair{`0,`1})">
  458. <summary>
  459. Removes a key and value from the dictionary.
  460. </summary>
  461. <param name="keyValuePair">The <see
  462. cref="T:System.Collections.Generic.KeyValuePair{TKey,TValue}"/>
  463. structure representing the key and value to remove from the <see
  464. cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>.</param>
  465. <returns>true if the key and value represented by <paramref name="keyValuePair"/> is successfully
  466. found and removed; otherwise, false.</returns>
  467. <exception cref="T:System.ArgumentNullException">The Key property of <paramref
  468. name="keyValuePair"/> is a null reference (Nothing in Visual Basic).</exception>
  469. </member>
  470. <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IEnumerable#GetEnumerator">
  471. <summary>Returns an enumerator that iterates through the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</summary>
  472. <returns>An enumerator for the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</returns>
  473. <remarks>
  474. The enumerator returned from the dictionary is safe to use concurrently with
  475. reads and writes to the dictionary, however it does not represent a moment-in-time snapshot
  476. of the dictionary. The contents exposed through the enumerator may contain modifications
  477. made to the dictionary after <see cref="M:System.Collections.Concurrent.ConcurrentDictionary`2.GetEnumerator"/> was called.
  478. </remarks>
  479. </member>
  480. <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IDictionary#Add(System.Object,System.Object)">
  481. <summary>
  482. Adds the specified key and value to the dictionary.
  483. </summary>
  484. <param name="key">The object to use as the key.</param>
  485. <param name="value">The object to use as the value.</param>
  486. <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
  487. (Nothing in Visual Basic).</exception>
  488. <exception cref="T:System.OverflowException">The dictionary contains too many
  489. elements.</exception>
  490. <exception cref="T:System.ArgumentException">
  491. <paramref name="key"/> is of a type that is not assignable to the key type <typeparamref
  492. name="TKey"/> of the <see cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>. -or-
  493. <paramref name="value"/> is of a type that is not assignable to <typeparamref name="TValue"/>,
  494. the type of values in the <see cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>.
  495. -or- A value with the same key already exists in the <see
  496. cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>.
  497. </exception>
  498. </member>
  499. <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IDictionary#Contains(System.Object)">
  500. <summary>
  501. Gets whether the <see cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/> contains an
  502. element with the specified key.
  503. </summary>
  504. <param name="key">The key to locate in the <see
  505. cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/>.</param>
  506. <returns>true if the <see cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/> contains
  507. an element with the specified key; otherwise, false.</returns>
  508. <exception cref="T:System.ArgumentNullException"> <paramref name="key"/> is a null reference
  509. (Nothing in Visual Basic).</exception>
  510. </member>
  511. <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IDictionary#GetEnumerator">
  512. <summary>Provides an <see cref="T:System.Collections.Generics.IDictionaryEnumerator"/> for the
  513. <see cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/>.</summary>
  514. <returns>An <see cref="T:System.Collections.Generics.IDictionaryEnumerator"/> for the <see
  515. cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/>.</returns>
  516. </member>
  517. <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IDictionary#Remove(System.Object)">
  518. <summary>
  519. Removes the element with the specified key from the <see
  520. cref="T:System.Collections.IDictionary"/>.
  521. </summary>
  522. <param name="key">The key of the element to remove.</param>
  523. <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
  524. (Nothing in Visual Basic).</exception>
  525. </member>
  526. <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#ICollection#CopyTo(System.Array,System.Int32)">
  527. <summary>
  528. Copies the elements of the <see cref="T:System.Collections.ICollection"/> to an array, starting
  529. at the specified array index.
  530. </summary>
  531. <param name="array">The one-dimensional array that is the destination of the elements copied from
  532. the <see cref="T:System.Collections.ICollection"/>. The array must have zero-based
  533. indexing.</param>
  534. <param name="index">The zero-based index in <paramref name="array"/> at which copying
  535. begins.</param>
  536. <exception cref="T:System.ArgumentNullException"><paramref name="array"/> is a null reference
  537. (Nothing in Visual Basic).</exception>
  538. <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="index"/> is less than
  539. 0.</exception>
  540. <exception cref="T:System.ArgumentException"><paramref name="index"/> is equal to or greater than
  541. the length of the <paramref name="array"/>. -or- The number of elements in the source <see
  542. cref="T:System.Collections.ICollection"/>
  543. is greater than the available space from <paramref name="index"/> to the end of the destination
  544. <paramref name="array"/>.</exception>
  545. </member>
  546. <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.GrowTable(System.Collections.Concurrent.ConcurrentDictionary{`0,`1}.Node[])">
  547. <summary>
  548. Replaces the internal table with a larger one. To prevent multiple threads from resizing the
  549. table as a result of races, the table of buckets that was deemed too small is passed in as
  550. an argument to GrowTable(). GrowTable() obtains a lock, and then checks whether the bucket
  551. table has been replaced in the meantime or not.
  552. </summary>
  553. <param name="buckets">Reference to the bucket table that was deemed too small.</param>
  554. </member>
  555. <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.GetBucketAndLockNo(System.Int32,System.Int32@,System.Int32@,System.Int32)">
  556. <summary>
  557. Computes the bucket and lock number for a particular key.
  558. </summary>
  559. </member>
  560. <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.AcquireAllLocks(System.Int32@)">
  561. <summary>
  562. Acquires all locks for this hash table, and increments locksAcquired by the number
  563. of locks that were successfully acquired. The locks are acquired in an increasing
  564. order.
  565. </summary>
  566. </member>
  567. <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.AcquireLocks(System.Int32,System.Int32,System.Int32@)">
  568. <summary>
  569. Acquires a contiguous range of locks for this hash table, and increments locksAcquired
  570. by the number of locks that were successfully acquired. The locks are acquired in an
  571. increasing order.
  572. </summary>
  573. </member>
  574. <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.ReleaseLocks(System.Int32,System.Int32)">
  575. <summary>
  576. Releases a contiguous range of locks.
  577. </summary>
  578. </member>
  579. <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.GetKeys">
  580. <summary>
  581. Gets a collection containing the keys in the dictionary.
  582. </summary>
  583. </member>
  584. <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.GetValues">
  585. <summary>
  586. Gets a collection containing the values in the dictionary.
  587. </summary>
  588. </member>
  589. <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.Assert(System.Boolean)">
  590. <summary>
  591. A helper method for asserts.
  592. </summary>
  593. </member>
  594. <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.GetResource(System.String)">
  595. <summary>
  596. A helper function to obtain the string for a particular resource key.
  597. </summary>
  598. <param name="key"></param>
  599. <returns></returns>
  600. </member>
  601. <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.OnSerializing(System.Runtime.Serialization.StreamingContext)">
  602. <summary>
  603. Get the data array to be serialized
  604. </summary>
  605. </member>
  606. <member name="M:System.Collections.Concurrent.ConcurrentDictionary`2.OnDeserialized(System.Runtime.Serialization.StreamingContext)">
  607. <summary>
  608. Construct the dictionary from a previously seiralized one
  609. </summary>
  610. </member>
  611. <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.Item(`0)">
  612. <summary>
  613. Gets or sets the value associated with the specified key.
  614. </summary>
  615. <param name="key">The key of the value to get or set.</param>
  616. <value>The value associated with the specified key. If the specified key is not found, a get
  617. operation throws a
  618. <see cref="T:Sytem.Collections.Generic.KeyNotFoundException"/>, and a set operation creates a new
  619. element with the specified key.</value>
  620. <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
  621. (Nothing in Visual Basic).</exception>
  622. <exception cref="T:System.Collections.Generic.KeyNotFoundException">The property is retrieved and
  623. <paramref name="key"/>
  624. does not exist in the collection.</exception>
  625. </member>
  626. <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.Count">
  627. <summary>
  628. Gets the number of key/value pairs contained in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.
  629. </summary>
  630. <exception cref="T:System.OverflowException">The dictionary contains too many
  631. elements.</exception>
  632. <value>The number of key/value paris contained in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>.</value>
  633. <remarks>Count has snapshot semantics and represents the number of items in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/>
  634. at the moment when Count was accessed.</remarks>
  635. </member>
  636. <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.IsEmpty">
  637. <summary>
  638. Gets a value that indicates whether the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> is empty.
  639. </summary>
  640. <value>true if the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2"/> is empty; otherwise,
  641. false.</value>
  642. </member>
  643. <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.Keys">
  644. <summary>
  645. Gets a collection containing the keys in the <see
  646. cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>.
  647. </summary>
  648. <value>An <see cref="T:System.Collections.Generic.ICollection{TKey}"/> containing the keys in the
  649. <see cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>.</value>
  650. </member>
  651. <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.Values">
  652. <summary>
  653. Gets a collection containing the values in the <see
  654. cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>.
  655. </summary>
  656. <value>An <see cref="T:System.Collections.Generic.ICollection{TValue}"/> containing the values in
  657. the
  658. <see cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>.</value>
  659. </member>
  660. <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#IsReadOnly">
  661. <summary>
  662. Gets a value indicating whether the dictionary is read-only.
  663. </summary>
  664. <value>true if the <see cref="T:System.Collections.Generic.ICollection{TKey,TValue}"/> is
  665. read-only; otherwise, false. For <see
  666. cref="T:System.Collections.Generic.Dictionary{TKey,TValue}"/>, this property always returns
  667. false.</value>
  668. </member>
  669. <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IDictionary#IsFixedSize">
  670. <summary>
  671. Gets a value indicating whether the <see
  672. cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/> has a fixed size.
  673. </summary>
  674. <value>true if the <see cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/> has a
  675. fixed size; otherwise, false. For <see
  676. cref="T:System.Collections.Generic.ConcurrentDictionary{TKey,TValue}"/>, this property always
  677. returns false.</value>
  678. </member>
  679. <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IDictionary#IsReadOnly">
  680. <summary>
  681. Gets a value indicating whether the <see
  682. cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/> is read-only.
  683. </summary>
  684. <value>true if the <see cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/> is
  685. read-only; otherwise, false. For <see
  686. cref="T:System.Collections.Generic.ConcurrentDictionary{TKey,TValue}"/>, this property always
  687. returns false.</value>
  688. </member>
  689. <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IDictionary#Keys">
  690. <summary>
  691. Gets an <see cref="T:System.Collections.ICollection"/> containing the keys of the <see
  692. cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/>.
  693. </summary>
  694. <value>An <see cref="T:System.Collections.ICollection"/> containing the keys of the <see
  695. cref="T:System.Collections.Generic.IDictionary{TKey,TValue}"/>.</value>
  696. </member>
  697. <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IDictionary#Values">
  698. <summary>
  699. Gets an <see cref="T:System.Collections.ICollection"/> containing the values in the <see
  700. cref="T:System.Collections.IDictionary"/>.
  701. </summary>
  702. <value>An <see cref="T:System.Collections.ICollection"/> containing the values in the <see
  703. cref="T:System.Collections.IDictionary"/>.</value>
  704. </member>
  705. <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#IDictionary#Item(System.Object)">
  706. <summary>
  707. Gets or sets the value associated with the specified key.
  708. </summary>
  709. <param name="key">The key of the value to get or set.</param>
  710. <value>The value associated with the specified key, or a null reference (Nothing in Visual Basic)
  711. if <paramref name="key"/> is not in the dictionary or <paramref name="key"/> is of a type that is
  712. not assignable to the key type <typeparamref name="TKey"/> of the <see
  713. cref="T:System.Collections.Generic.ConcurrentDictionary{TKey,TValue}"/>.</value>
  714. <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is a null reference
  715. (Nothing in Visual Basic).</exception>
  716. <exception cref="T:System.ArgumentException">
  717. A value is being assigned, and <paramref name="key"/> is of a type that is not assignable to the
  718. key type <typeparamref name="TKey"/> of the <see
  719. cref="T:System.Collections.Generic.ConcurrentDictionary{TKey,TValue}"/>. -or- A value is being
  720. assigned, and <paramref name="key"/> is of a type that is not assignable to the value type
  721. <typeparamref name="TValue"/> of the <see
  722. cref="T:System.Collections.Generic.ConcurrentDictionary{TKey,TValue}"/>
  723. </exception>
  724. </member>
  725. <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#ICollection#IsSynchronized">
  726. <summary>
  727. Gets a value indicating whether access to the <see cref="T:System.Collections.ICollection"/> is
  728. synchronized with the SyncRoot.
  729. </summary>
  730. <value>true if access to the <see cref="T:System.Collections.ICollection"/> is synchronized
  731. (thread safe); otherwise, false. For <see
  732. cref="T:System.Collections.Concurrent.ConcurrentDictionary{TKey,TValue}"/>, this property always
  733. returns false.</value>
  734. </member>
  735. <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.System#Collections#ICollection#SyncRoot">
  736. <summary>
  737. Gets an object that can be used to synchronize access to the <see
  738. cref="T:System.Collections.ICollection"/>. This property is not supported.
  739. </summary>
  740. <exception cref="T:System.NotSupportedException">The SyncRoot property is not supported.</exception>
  741. </member>
  742. <member name="P:System.Collections.Concurrent.ConcurrentDictionary`2.DefaultConcurrencyLevel">
  743. <summary>
  744. The number of concurrent writes for which to optimize by default.
  745. </summary>
  746. </member>
  747. <member name="T:System.Collections.Concurrent.ConcurrentDictionary`2.Node">
  748. <summary>
  749. A node in a singly-linked list representing a particular hash table bucket.
  750. </summary>
  751. </member>
  752. <member name="T:System.Collections.Concurrent.ConcurrentDictionary`2.DictionaryEnumerator">
  753. <summary>
  754. A private class to represent enumeration over the dictionary that implements the
  755. IDictionaryEnumerator interface.
  756. </summary>
  757. </member>
  758. <member name="T:System.Collections.Concurrent.ConcurrentQueue`1">
  759. <summary>
  760. Represents a thread-safe first-in, first-out collection of objects.
  761. </summary>
  762. <typeparam name="T">Specifies the type of elements in the queue.</typeparam>
  763. <remarks>
  764. All public and protected members of <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/> are thread-safe and may be used
  765. concurrently from multiple threads.
  766. </remarks>
  767. </member>
  768. <member name="T:System.Collections.Concurrent.IProducerConsumerCollection`1">
  769. <summary>
  770. Defines methods to manipulate thread-safe collections intended for producer/consumer usage.
  771. </summary>
  772. <typeparam name="T">Specifies the type of elements in the collection.</typeparam>
  773. <remarks>
  774. All implementations of this interface must enable all members of this interface
  775. to be used concurrently from multiple threads.
  776. </remarks>
  777. </member>
  778. <member name="M:System.Collections.Concurrent.IProducerConsumerCollection`1.CopyTo(`0[],System.Int32)">
  779. <summary>
  780. Copies the elements of the <see cref="T:System.Collections.Concurrent.IProducerConsumerCollection`1"/> to
  781. an
  782. <see cref="T:System.Array"/>, starting at a specified index.
  783. </summary>
  784. <param name="array">The one-dimensional <see cref="T:System.Array"/> that is the destination of
  785. the elements copied from the <see cref="T:System.Collections.Concurrent.IProducerConsumerCollection`1"/>.
  786. The array must have zero-based indexing.</param>
  787. <param name="index">The zero-based index in <paramref name="array"/> at which copying
  788. begins.</param>
  789. <exception cref="T:System.ArgumentNullException"><paramref name="array"/> is a null reference (Nothing in
  790. Visual Basic).</exception>
  791. <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="index"/> is less than
  792. zero.</exception>
  793. <exception cref="T:System.ArgumentException"><paramref name="index"/> is equal to or greater than the
  794. length of the <paramref name="array"/>
  795. -or- The number of elements in the source <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/> is greater than the
  796. available space from <paramref name="index"/> to the end of the destination <paramref name="array"/>.
  797. </exception>
  798. </member>
  799. <member name="M:System.Collections.Concurrent.IProducerConsumerCollection`1.TryAdd(`0)">
  800. <summary>
  801. Attempts to add an object to the <see cref="T:System.Collections.Concurrent.IProducerConsumerCollection`1"/>.
  802. </summary>
  803. <param name="item">The object to add to the <see cref="T:System.Collections.Concurrent.IProducerConsumerCollection`1"/>.</param>
  804. <returns>true if the object was added successfully; otherwise, false.</returns>
  805. <exception cref="T:System.ArgumentException">The <paramref name="item"/> was invalid for this collection.</exception>
  806. </member>
  807. <member name="M:System.Collections.Concurrent.IProducerConsumerCollection`1.TryTake(`0@)">
  808. <summary>
  809. Attempts to remove and return an object from the <see cref="T:System.Collections.Concurrent.IProducerConsumerCollection`1"/>.
  810. </summary>
  811. <param name="item">
  812. When this method returns, if the object was removed and returned successfully, <paramref name="item"/> contains the removed object. If no object was available to be removed, the value is
  813. unspecified.
  814. </param>
  815. <returns>true if an object was removed and returned successfully; otherwise, false.</returns>
  816. </member>
  817. <member name="M:System.Collections.Concurrent.IProducerConsumerCollection`1.ToArray">
  818. <summary>
  819. Copies the elements contained in the <see cref="T:System.Collections.Concurrent.IProducerConsumerCollection`1"/> to a new array.
  820. </summary>
  821. <returns>A new array containing the elements copied from the <see cref="T:System.Collections.Concurrent.IProducerConsumerCollection`1"/>.</returns>
  822. </member>
  823. <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.#ctor">
  824. <summary>
  825. Initializes a new instance of the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/> class.
  826. </summary>
  827. </member>
  828. <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.InitializeFromCollection(System.Collections.Generic.IEnumerable{`0})">
  829. <summary>
  830. Initializes the contents of the queue from an existing collection.
  831. </summary>
  832. <param name="collection">A collection from which to copy elements.</param>
  833. </member>
  834. <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.#ctor(System.Collections.Generic.IEnumerable{`0})">
  835. <summary>
  836. Initializes a new instance of the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/>
  837. class that contains elements copied from the specified collection
  838. </summary>
  839. <param name="collection">The collection whose elements are copied to the new <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/>.</param>
  840. <exception cref="T:System.ArgumentNullException">The <paramref name="collection"/> argument is
  841. null.</exception>
  842. </member>
  843. <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.OnSerializing(System.Runtime.Serialization.StreamingContext)">
  844. <summary>
  845. Get the data array to be serialized
  846. </summary>
  847. </member>
  848. <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.OnDeserialized(System.Runtime.Serialization.StreamingContext)">
  849. <summary>
  850. Construct the queue from a previously seiralized one
  851. </summary>
  852. </member>
  853. <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.System#Collections#ICollection#CopyTo(System.Array,System.Int32)">
  854. <summary>
  855. Copies the elements of the <see cref="T:System.Collections.ICollection"/> to an <see cref="T:System.Array"/>, starting at a particular
  856. <see cref="T:System.Array"/> index.
  857. </summary>
  858. <param name="array">The one-dimensional <see cref="T:System.Array">Array</see> that is the
  859. destination of the elements copied from the
  860. <see cref="T:System.Collections.Concurrent.ConcurrentBag"/>. The <see cref="T:System.Array">Array</see> must have zero-based indexing.</param>
  861. <param name="index">The zero-based index in <paramref name="array"/> at which copying
  862. begins.</param>
  863. <exception cref="T:System.ArgumentNullException"><paramref name="array"/> is a null reference (Nothing in
  864. Visual Basic).</exception>
  865. <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="index"/> is less than
  866. zero.</exception>
  867. <exception cref="T:System.ArgumentException">
  868. <paramref name="array"/> is multidimensional. -or-
  869. <paramref name="array"/> does not have zero-based indexing. -or-
  870. <paramref name="index"/> is equal to or greater than the length of the <paramref name="array"/>
  871. -or- The number of elements in the source <see cref="T:System.Collections.ICollection"/> is
  872. greater than the available space from <paramref name="index"/> to the end of the destination
  873. <paramref name="array"/>. -or- The type of the source <see cref="T:System.Collections.ICollection"/> cannot be cast automatically to the type of the
  874. destination <paramref name="array"/>.
  875. </exception>
  876. </member>
  877. <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.System#Collections#IEnumerable#GetEnumerator">
  878. <summary>
  879. Returns an enumerator that iterates through a collection.
  880. </summary>
  881. <returns>An <see cref="T:System.Collections.IEnumerator"/> that can be used to iterate through the collection.</returns>
  882. </member>
  883. <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.System#Collections#Concurrent#IProducerConsumerCollection{T}#TryAdd(`0)">
  884. <summary>
  885. Attempts to add an object to the <see cref="T:System.Collections.Concurrent.IProducerConsumerCollection{T}"/>.
  886. </summary>
  887. <param name="item">The object to add to the <see cref="T:System.Collections.Concurrent.IProducerConsumerCollection{T}"/>. The value can be a null
  888. reference (Nothing in Visual Basic) for reference types.
  889. </param>
  890. <returns>true if the object was added successfully; otherwise, false.</returns>
  891. <remarks>For <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/>, this operation will always add the object to the
  892. end of the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/>
  893. and return true.</remarks>
  894. </member>
  895. <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.System#Collections#Concurrent#IProducerConsumerCollection{T}#TryTake(`0@)">
  896. <summary>
  897. Attempts to remove and return an object from the <see cref="T:System.Collections.Concurrent.IProducerConsumerCollection{T}"/>.
  898. </summary>
  899. <param name="item">
  900. When this method returns, if the operation was successful, <paramref name="item"/> contains the
  901. object removed. If no object was available to be removed, the value is unspecified.
  902. </param>
  903. <returns>true if an element was removed and returned succesfully; otherwise, false.</returns>
  904. <remarks>For <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/>, this operation will attempt to remove the object
  905. from the beginning of the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/>.
  906. </remarks>
  907. </member>
  908. <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.ToArray">
  909. <summary>
  910. Copies the elements stored in the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/> to a new array.
  911. </summary>
  912. <returns>A new array containing a snapshot of elements copied from the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/>.</returns>
  913. </member>
  914. <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.ToList">
  915. <summary>
  916. Copies the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/> elements to a new <see cref="T:System.Collections.Generic.List{T}"/>.
  917. </summary>
  918. <returns>A new <see cref="T:System.Collections.Generic.List{T}"/> containing a snapshot of
  919. elements copied from the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/>.</returns>
  920. </member>
  921. <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.GetHeadTailPositions(System.Collections.Concurrent.ConcurrentQueue{`0}.Segment@,System.Collections.Concurrent.ConcurrentQueue{`0}.Segment@,System.Int32@,System.Int32@)">
  922. <summary>
  923. Store the position of the current head and tail positions.
  924. </summary>
  925. <param name="head">return the head segment</param>
  926. <param name="tail">return the tail segment</param>
  927. <param name="headLow">return the head offset</param>
  928. <param name="tailHigh">return the tail offset</param>
  929. </member>
  930. <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.CopyTo(`0[],System.Int32)">
  931. <summary>
  932. Copies the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/> elements to an existing one-dimensional <see cref="T:System.Array">Array</see>, starting at the specified array index.
  933. </summary>
  934. <param name="array">The one-dimensional <see cref="T:System.Array">Array</see> that is the
  935. destination of the elements copied from the
  936. <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/>. The <see cref="T:System.Array">Array</see> must have zero-based
  937. indexing.</param>
  938. <param name="index">The zero-based index in <paramref name="array"/> at which copying
  939. begins.</param>
  940. <exception cref="T:System.ArgumentNullException"><paramref name="array"/> is a null reference (Nothing in
  941. Visual Basic).</exception>
  942. <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="index"/> is less than
  943. zero.</exception>
  944. <exception cref="T:System.ArgumentException"><paramref name="index"/> is equal to or greater than the
  945. length of the <paramref name="array"/>
  946. -or- The number of elements in the source <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/> is greater than the
  947. available space from <paramref name="index"/> to the end of the destination <paramref name="array"/>.
  948. </exception>
  949. </member>
  950. <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.GetEnumerator">
  951. <summary>
  952. Returns an enumerator that iterates through the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/>.
  953. </summary>
  954. <returns>An enumerator for the contents of the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/>.</returns>
  955. <remarks>
  956. The enumeration represents a moment-in-time snapshot of the contents
  957. of the queue. It does not reflect any updates to the collection after
  958. <see cref="M:System.Collections.Concurrent.ConcurrentQueue`1.GetEnumerator"/> was called. The enumerator is safe to use
  959. concurrently with reads from and writes to the queue.
  960. </remarks>
  961. </member>
  962. <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.Enqueue(`0)">
  963. <summary>
  964. Adds an object to the end of the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/>.
  965. </summary>
  966. <param name="item">The object to add to the end of the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/>. The value can be a null reference
  967. (Nothing in Visual Basic) for reference types.
  968. </param>
  969. </member>
  970. <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.TryDequeue(`0@)">
  971. <summary>
  972. Attempts to remove and return the object at the beginning of the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/>.
  973. </summary>
  974. <param name="result">
  975. When this method returns, if the operation was successful, <paramref name="result"/> contains the
  976. object removed. If no object was available to be removed, the value is unspecified.
  977. </param>
  978. <returns>true if an element was removed and returned from the beggining of the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/>
  979. succesfully; otherwise, false.</returns>
  980. </member>
  981. <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.TryPeek(`0@)">
  982. <summary>
  983. Attempts to return an object from the beginning of the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/>
  984. without removing it.
  985. </summary>
  986. <param name="result">When this method returns, <paramref name="result"/> contains an object from
  987. the beginning of the <see cref="T:System.Collections.Concurrent.ConccurrentQueue{T}"/> or an
  988. unspecified value if the operation failed.</param>
  989. <returns>true if and object was returned successfully; otherwise, false.</returns>
  990. </member>
  991. <member name="P:System.Collections.Concurrent.ConcurrentQueue`1.System#Collections#ICollection#IsSynchronized">
  992. <summary>
  993. Gets a value indicating whether access to the <see cref="T:System.Collections.ICollection"/> is
  994. synchronized with the SyncRoot.
  995. </summary>
  996. <value>true if access to the <see cref="T:System.Collections.ICollection"/> is synchronized
  997. with the SyncRoot; otherwise, false. For <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/>, this property always
  998. returns false.</value>
  999. </member>
  1000. <member name="P:System.Collections.Concurrent.ConcurrentQueue`1.System#Collections#ICollection#SyncRoot">
  1001. <summary>
  1002. Gets an object that can be used to synchronize access to the <see
  1003. cref="T:System.Collections.ICollection"/>. This property is not supported.
  1004. </summary>
  1005. <exception cref="T:System.NotSupportedException">The SyncRoot property is not supported.</exception>
  1006. </member>
  1007. <member name="P:System.Collections.Concurrent.ConcurrentQueue`1.IsEmpty">
  1008. <summary>
  1009. Gets a value that indicates whether the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/> is empty.
  1010. </summary>
  1011. <value>true if the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/> is empty; otherwise, false.</value>
  1012. <remarks>
  1013. For determining whether the collection contains any items, use of this property is recommended
  1014. rather than retrieving the number of items from the <see cref="P:System.Collections.Concurrent.ConcurrentQueue`1.Count"/> property and comparing it
  1015. to 0. However, as this collection is intended to be accessed concurrently, it may be the case
  1016. that another thread will modify the collection after <see cref="P:System.Collections.Concurrent.ConcurrentQueue`1.IsEmpty"/> returns, thus invalidating
  1017. the result.
  1018. </remarks>
  1019. </member>
  1020. <member name="P:System.Collections.Concurrent.ConcurrentQueue`1.Count">
  1021. <summary>
  1022. Gets the number of elements contained in the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/>.
  1023. </summary>
  1024. <value>The number of elements contained in the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/>.</value>
  1025. <remarks>
  1026. For determining whether the collection contains any items, use of the <see cref="P:System.Collections.Concurrent.ConcurrentQueue`1.IsEmpty"/>
  1027. property is recommended rather than retrieving the number of items from the <see cref="P:System.Collections.Concurrent.ConcurrentQueue`1.Count"/>
  1028. property and comparing it to 0.
  1029. </remarks>
  1030. </member>
  1031. <member name="T:System.Collections.Concurrent.ConcurrentQueue`1.Segment">
  1032. <summary>
  1033. private class for ConcurrentQueue.
  1034. a queue is a linked list of small arrays, each node is called a segment.
  1035. A segment contains an array, a pointer to the next segment, and m_low, m_high indices recording
  1036. the first and last valid elements of the array.
  1037. </summary>
  1038. </member>
  1039. <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.Segment.#ctor(System.Int64)">
  1040. <summary>
  1041. Create and initialize a segment with the specified index.
  1042. </summary>
  1043. </member>
  1044. <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.Segment.UnsafeAdd(`0)">
  1045. <summary>
  1046. Add an element to the tail of the current segment
  1047. exclusively called by ConcurrentQueue.InitializedFromCollection
  1048. InitializeFromCollection is responsible to guaratee that there is no index overflow,
  1049. and there is no contention
  1050. </summary>
  1051. <param name="value"></param>
  1052. </member>
  1053. <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.Segment.UnsafeGrow">
  1054. <summary>
  1055. Create a new segment and append to the current one
  1056. Does not update the m_tail pointer
  1057. exclusively called by ConcurrentQueue.InitializedFromCollection
  1058. InitializeFromCollection is responsible to guaratee that there is no index overflow,
  1059. and there is no contention
  1060. </summary>
  1061. <returns>the reference to the new Segment</returns>
  1062. </member>
  1063. <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.Segment.Grow(System.Collections.Concurrent.ConcurrentQueue{`0}.Segment@)">
  1064. <summary>
  1065. Create a new segment and append to the current one
  1066. Update the m_tail pointer
  1067. This method is called when there is no contention
  1068. </summary>
  1069. </member>
  1070. <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.Segment.TryAppend(`0,System.Collections.Concurrent.ConcurrentQueue{`0}.Segment@)">
  1071. <summary>
  1072. Try to append an element at the end of this segment.
  1073. </summary>
  1074. <param name="value">the element to append</param>
  1075. <param name="tail">The tail.</param>
  1076. <returns>true if the element is appended, false if the current segment is full</returns>
  1077. <remarks>if appending the specified element succeeds, and after which the segment is full,
  1078. then grow the segment</remarks>
  1079. </member>
  1080. <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.Segment.TryRemove(`0@,System.Collections.Concurrent.ConcurrentQueue{`0}.Segment@)">
  1081. <summary>
  1082. try to remove an element from the head of current segment
  1083. </summary>
  1084. <param name="result">The result.</param>
  1085. <param name="head">The head.</param>
  1086. <returns>return false only if the current segment is empty</returns>
  1087. </member>
  1088. <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.Segment.TryPeek(`0@)">
  1089. <summary>
  1090. try to peek the current segment
  1091. </summary>
  1092. <param name="result">holds the return value of the element at the head position,
  1093. value set to default(T) if there is no such an element</param>
  1094. <returns>true if there are elements in the current segment, false otherwise</returns>
  1095. </member>
  1096. <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.Segment.ToList(System.Int32,System.Int32)">
  1097. <summary>
  1098. Convert part or all of the current segment into a List
  1099. </summary>
  1100. <param name="start">the start position</param>
  1101. <param name="end">the end position</param>
  1102. <returns>the result list </returns>
  1103. </member>
  1104. <member name="P:System.Collections.Concurrent.ConcurrentQueue`1.Segment.Next">
  1105. <summary>
  1106. return the next segment
  1107. </summary>
  1108. </member>
  1109. <member name="P:System.Collections.Concurrent.ConcurrentQueue`1.Segment.IsEmpty">
  1110. <summary>
  1111. return true if the current segment is empty (doesn't have any element available to dequeue,
  1112. false otherwise
  1113. </summary>
  1114. </member>
  1115. <member name="P:System.Collections.Concurrent.ConcurrentQueue`1.Segment.Low">
  1116. <summary>
  1117. return the position of the head of the current segment
  1118. </summary>
  1119. </member>
  1120. <member name="P:System.Collections.Concurrent.ConcurrentQueue`1.Segment.High">
  1121. <summary>
  1122. return the logical position of the tail of the current segment
  1123. </summary>
  1124. </member>
  1125. <member name="T:System.Collections.Concurrent.ConcurrentStack`1">
  1126. <summary>
  1127. Represents a thread-safe last-in, first-out collection of objects.
  1128. </summary>
  1129. <typeparam name="T">Specifies the type of elements in the stack.</typeparam>
  1130. <remarks>
  1131. All public and protected members of <see cref="T:System.Collections.Concurrent.ConcurrentStack`1"/> are thread-safe and may be used
  1132. concurrently from multiple threads.
  1133. </remarks>
  1134. </member>
  1135. <member name="M:System.Collections.Concurrent.ConcurrentStack`1.#ctor">
  1136. <summary>
  1137. Initializes a new instance of the <see cref="T:System.Collections.Concurrent.ConcurrentStack`1"/>
  1138. class.
  1139. </summary>
  1140. </member>
  1141. <member name="M:System.Collections.Concurrent.ConcurrentStack`1.#ctor(System.Collections.Generic.IEnumerable{`0})">
  1142. <summary>
  1143. Initializes a new instance of the <see cref="T:System.Collections.Concurrent.ConcurrentStack`1"/>
  1144. class that contains elements copied from the specified collection
  1145. </summary>
  1146. <param name="collection">The collection whose elements are copied to the new <see cref="T:System.Collections.Concurrent.ConcurrentStack`1"/>.</param>
  1147. <exception cref="T:System.ArgumentNullException">The <paramref name="collection"/> argument is
  1148. null.</exception>
  1149. </member>
  1150. <member name="M:System.Collections.Concurrent.ConcurrentStack`1.InitializeFromCollection(System.Collections.Generic.IEnumerable{`0})">
  1151. <summary>
  1152. Initializes the contents of the stack from an existing collection.
  1153. </summary>
  1154. <param name="collection">A collection from which to copy elements.</param>
  1155. </member>
  1156. <member name="M:System.Collections.Concurrent.ConcurrentStack`1.OnSerializing(System.Runtime.Serialization.StreamingContext)">
  1157. <summary>
  1158. Get the data array to be serialized
  1159. </summary>
  1160. </member>
  1161. <member name="M:System.Collections.Concurrent.ConcurrentStack`1.OnDeserialized(System.Runtime.Serialization.StreamingContext)">
  1162. <summary>
  1163. Construct the stack from a previously seiralized one
  1164. </summary>
  1165. </member>
  1166. <member name="M:System.Collections.Concurrent.ConcurrentStack`1.Clear">
  1167. <summary>
  1168. Removes all objects from the <see cref="T:System.Collections.Concurrent.ConcurrentStack`1"/>.
  1169. </summary>
  1170. </member>
  1171. <member name="M:System.Collections.Concurrent.ConcurrentStack`1.System#Collections#ICollection#CopyTo(System.Array,System.Int32)">
  1172. <summary>
  1173. Copies the elements of the <see cref="T:System.Collections.ICollection"/> to an <see cref="T:System.Array"/>, starting at a particular
  1174. <see cref="T:System.Array"/> index.
  1175. </summary>
  1176. <param name="array">The one-dimensional <see cref="T:System.Array"/> that is the destination of
  1177. the elements copied from the
  1178. <see cref="T:System.Collections.Concurrent.ConcurrentStack`1"/>. The <see cref="T:System.Array"/> must
  1179. have zero-based indexing.</param>
  1180. <param name="index">The zero-based index in <paramref name="array"/> at which copying
  1181. begins.</param>
  1182. <exception cref="T:System.ArgumentNullException"><paramref name="array"/> is a null reference (Nothing in
  1183. Visual Basic).</exception>
  1184. <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="index"/> is less than
  1185. zero.</exception>
  1186. <exception cref="T:System.ArgumentException">
  1187. <paramref name="array"/> is multidimensional. -or-
  1188. <paramref name="array"/> does not have zero-based indexing. -or-
  1189. <paramref name="index"/> is equal to or greater than the length of the <paramref name="array"/>
  1190. -or- The number of elements in the source <see cref="T:System.Collections.ICollection"/> is
  1191. greater than the available space from <paramref name="index"/> to the end of the destination
  1192. <paramref name="array"/>. -or- The type of the source <see cref="T:System.Collections.ICollection"/> cannot be cast automatically to the type of the
  1193. destination <paramref name="array"/>.
  1194. </exception>
  1195. </member>
  1196. <member name="M:System.Collections.Concurrent.ConcurrentStack`1.CopyTo(`0[],System.Int32)">
  1197. <summary>
  1198. Copies the <see cref="T:System.Collections.Concurrent.ConcurrentStack`1"/> elements to an existing one-dimensional <see cref="T:System.Array"/>, starting at the specified array index.
  1199. </summary>
  1200. <param name="array">The one-dimensional <see cref="T:System.Array"/> that is the destination of
  1201. the elements copied from the
  1202. <see cref="T:System.Collections.Concurrent.ConcurrentStack`1"/>. The <see cref="T:System.Array"/> must have zero-based
  1203. indexing.</param>
  1204. <param name="index">The zero-based index in <paramref name="array"/> at which copying
  1205. begins.</param>
  1206. <exception cref="T:System.ArgumentNullException"><paramref name="array"/> is a null reference (Nothing in
  1207. Visual Basic).</exception>
  1208. <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="index"/> is less than
  1209. zero.</exception>
  1210. <exception cref="T:System.ArgumentException"><paramref name="index"/> is equal to or greater than the
  1211. length of the <paramref name="array"/>
  1212. -or- The number of elements in the source <see cref="T:System.Collections.Concurrent.ConcurrentStack`1"/> is greater than the
  1213. available space from <paramref name="index"/> to the end of the destination <paramref name="array"/>.
  1214. </exception>
  1215. </member>
  1216. <member name="M:System.Collections.Concurrent.ConcurrentStack`1.Push(`0)">
  1217. <summary>
  1218. Inserts an object at the top of the <see cref="T:System.Collections.Concurrent.ConcurrentStack`1"/>.
  1219. </summary>
  1220. <param name="item">The object to push onto the <see cref="T:System.Collections.Concurrent.ConcurrentStack`1"/>. The value can be
  1221. a null reference (Nothing in Visual Basic) for reference types.
  1222. </param>
  1223. </member>
  1224. <member name="M:System.Collections.Concurrent.ConcurrentStack`1.PushRange(`0[])">
  1225. <summary>
  1226. Inserts multiple objects at the top of the <see cref="T:System.Collections.Concurrent.ConcurrentStack`1"/> atomically.
  1227. </summary>
  1228. <param name="items">The objects to push onto the <see cref="T:System.Collections.Concurrent.ConcurrentStack`1"/>.</param>
  1229. <exception cref="T:System.ArgumentNullException"><paramref name="items"/> is a null reference
  1230. (Nothing in Visual Basic).</exception>
  1231. <remarks>
  1232. When adding multiple items to the stack, using PushRange is a more efficient
  1233. mechanism than using <see cref="M:System.Collections.Concurrent.ConcurrentStack`1.Push(`0)"/> one item at a time. Additionally, PushRange
  1234. guarantees that all of the elements will be added atomically, meaning that no other threads will
  1235. be able to inject elements between the elements being pushed. Items at lower indices in
  1236. the <paramref name="items"/> array will be pushed before items at higher indices.
  1237. </remarks>
  1238. </member>
  1239. <member name="M:System.Collections.Concurrent.ConcurrentStack`1.PushRange(`0[],System.Int32,System.Int32)">
  1240. <summary>
  1241. Inserts multiple objects at the top of the <see cref="T:System.Collections.Concurrent.ConcurrentStack`1"/> atomically.
  1242. </summary>
  1243. <param name="items">The objects to push onto the <see cref="T:System.Collections.Concurrent.ConcurrentStack`1"/>.</param>
  1244. <param name="startIndex">The zero-based offset in <paramref name="items"/> at which to begin
  1245. inserting elements onto the top of the <see cref="T:System.Collections.Concurrent.ConcurrentStack`1"/>.</param>
  1246. <param name="count">The number of elements to be inserted onto the top of the <see cref="T:System.Collections.Concurrent.ConcurrentStack`1"/>.</param>
  1247. <exception cref="T:System.ArgumentNullException"><paramref name="items"/> is a null reference
  1248. (Nothing in Visual Basic).</exception>
  1249. <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="startIndex"/> or <paramref name="count"/> is negative. Or <paramref name="startIndex"/> is greater than or equal to the length
  1250. of <paramref name="items"/>.</exception>
  1251. <exception cref="T:System.ArgumentException"><paramref name="startIndex"/> + <paramref name="count"/> is
  1252. greater than the length of <paramref name="items"/>.</exception>
  1253. <remarks>
  1254. When adding multiple items to the stack, using PushRange is a more efficient
  1255. mechanism than using <see cref="M:System.Collections.Concurrent.ConcurrentStack`1.Push(`0)"/> one item at a time. Additionally, PushRange
  1256. guarantees that all of the elements will be added atomically, meaning that no other threads will
  1257. be able to inject elements between the elements being pushed. Items at lower indices in the
  1258. <paramref name="items"/> array will be pushed before items at higher indices.
  1259. </remarks>
  1260. </member>
  1261. <member name="M:System.Collections.Concurrent.ConcurrentStack`1.PushCore(System.Collections.Concurrent.ConcurrentStack{`0}.Node,System.Collections.Concurrent.ConcurrentStack{`0}.Node)">
  1262. <summary>
  1263. Push one or many nodes into the stack, if head and tails are equal then push one node to the stack other wise push the list between head
  1264. and tail to the stack
  1265. </summary>
  1266. <param name="head">The head pointer to the new list</param>
  1267. <param name="tail">The tail pointer to the new list</param>
  1268. </member>
  1269. <member name="M:System.Collections.Concurrent.ConcurrentStack`1.ValidatePushPopRangeInput(`0[],System.Int32,System.Int32)">
  1270. <summary>
  1271. Local helper function to validate the Pop Push range methods input
  1272. </summary>
  1273. </member>
  1274. <member name="M:System.Collections.Concurrent.ConcurrentStack`1.System#Collections#Concurrent#IProducerConsumerCollection{T}#TryAdd(`0)">
  1275. <summary>
  1276. Attempts to add an object to the <see cref="T:System.Collections.Concurrent.IProducerConsumerCollection{T}"/>.
  1277. </summary>
  1278. <param name="item">The object to add to the <see cref="T:System.Collections.Concurrent.IProducerConsumerCollection{T}"/>. The value can be a null
  1279. reference (Nothing in Visual Basic) for reference types.
  1280. </param>
  1281. <returns>true if the object was added successfully; otherwise, false.</returns>
  1282. <remarks>For <see cref="T:System.Collections.Concurrent.ConcurrentStack`1"/>, this operation
  1283. will always insert the object onto the top of the <see cref="T:System.Collections.Concurrent.ConcurrentStack`1"/>
  1284. and return true.</remarks>
  1285. </member>
  1286. <member name="M:System.Collections.Concurrent.ConcurrentStack`1.TryPeek(`0@)">
  1287. <summary>
  1288. Attempts to return an object from the top of the <see cref="T:System.Collections.Concurrent.ConcurrentStack`1"/>
  1289. without removing it.
  1290. </summary>
  1291. <param name="result">When this method returns, <paramref name="result"/> contains an object from
  1292. the top of the <see cref="T:System.Collections.Concurrent.ConccurrentStack{T}"/> or an
  1293. unspecified value if the operation failed.</param>
  1294. <returns>true if and object was returned successfully; otherwise, false.</returns>
  1295. </member>
  1296. <member name="M:System.Collections.Concurrent.ConcurrentStack`1.TryPop(`0@)">
  1297. <summary>
  1298. Attempts to pop and return the object at the top of the <see cref="T:System.Collections.Concurrent.ConcurrentStack`1"/>.
  1299. </summary>
  1300. <param name="result">
  1301. When this method returns, if the operation was successful, <paramref name="result"/> contains the
  1302. object removed. If no object was available to be removed, the value is unspecified.
  1303. </param>
  1304. <returns>true if an element was removed and returned from the top of the <see cref="T:System.Collections.Concurrent.ConcurrentStack`1"/>
  1305. succesfully; otherwise, false.</returns>
  1306. </member>
  1307. <member name="M:System.Collections.Concurrent.ConcurrentStack`1.TryPopRange(`0[])">
  1308. <summary>
  1309. Attempts to pop and return multiple objects from the top of the <see cref="T:System.Collections.Concurrent.ConcurrentStack`1"/>
  1310. atomically.
  1311. </summary>
  1312. <param name="items">
  1313. The <see cref="T:System.Array"/> to which objects popped from the top of the <see cref="T:System.Collections.Concurrent.ConcurrentStack`1"/> will be added.
  1314. </param>
  1315. <returns>The number of objects successfully popped from the top of the <see cref="T:System.Collections.Concurrent.ConcurrentStack`1"/> and inserted in
  1316. <paramref name="items"/>.</returns>
  1317. <exception cref="T:System.ArgumentNullException"><paramref name="items"/> is a null argument (Nothing
  1318. in Visual Basic).</exception>
  1319. <remarks>
  1320. When popping multiple items, if there is little contention on the stack, using
  1321. TryPopRange can be more efficient than using <see cref="M:System.Collections.Concurrent.ConcurrentStack`1.TryPop(`0@)"/>
  1322. once per item to be removed. Nodes fill the <paramref name="items"/>
  1323. with the first node to be popped at the startIndex, the second node to be popped
  1324. at startIndex + 1, and so on.
  1325. </remarks>
  1326. </member>
  1327. <member name="M:System.Collections.Concurrent.ConcurrentStack`1.TryPopRange(`0[],System.Int32,System.Int32)">
  1328. <summary>
  1329. Attempts to pop and return multiple objects from the top of the <see cref="T:System.Collections.Concurrent.ConcurrentStack`1"/>
  1330. atomically.
  1331. </summary>
  1332. <param name="items">
  1333. The <see cref="T:System.Array"/> to which objects popped from the top of the <see cref="T:System.Collections.Concurrent.ConcurrentStack`1"/> will be added.
  1334. </param>
  1335. <param name="startIndex">The zero-based offset in <paramref name="items"/> at which to begin
  1336. inserting elements from the top of the <see cref="T:System.Collections.Concurrent.ConcurrentStack`1"/>.</param>
  1337. <param name="count">The number of elements to be popped from top of the <see cref="T:System.Collections.Concurrent.ConcurrentStack`1"/> and inserted into <paramref name="items"/>.</param>
  1338. <exception cref="T:System.ArgumentNullException"><paramref name="items"/> is a null reference
  1339. (Nothing in Visual Basic).</exception>
  1340. <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="startIndex"/> or <paramref name="count"/> is negative. Or <paramref name="startIndex"/> is greater than or equal to the length
  1341. of <paramref name="items"/>.</exception>
  1342. <exception cref="T:System.ArgumentException"><paramref name="startIndex"/> + <paramref name="count"/> is
  1343. greater than the length of <paramref name="items"/>.</exception>
  1344. <remarks>
  1345. When popping multiple items, if there is little contention on the stack, using
  1346. TryPopRange can be more efficient than using <see cref="M:System.Collections.Concurrent.ConcurrentStack`1.TryPop(`0@)"/>
  1347. once per item to be removed. Nodes fill the <paramref name="items"/>
  1348. with the first node to be popped at the startIndex, the second node to be popped
  1349. at startIndex + 1, and so on.
  1350. </remarks>
  1351. </member>
  1352. <member name="M:System.Collections.Concurrent.ConcurrentStack`1.TryPopCore(`0@)">
  1353. <summary>
  1354. Local helper function to Pop an item from the stack, slow path
  1355. </summary>
  1356. <param name="result">The popped item</param>
  1357. <returns>True if succeeded, false otherwise</returns>
  1358. </member>
  1359. <member name="M:System.Collections.Concurrent.ConcurrentStack`1.TryPopCore(System.Int32,System.Collections.Concurrent.ConcurrentStack{`0}.Node@)">
  1360. <summary>
  1361. Slow path helper for TryPop. This method assumes an initial attempt to pop an element
  1362. has already occurred and failed, so it begins spinning right away.
  1363. </summary>
  1364. <param name="count">The number of items to pop.</param>
  1365. <param name="poppedHead">
  1366. When this method returns, if the pop succeeded, contains the removed object. If no object was
  1367. available to be removed, the value is unspecified. This parameter is passed uninitialized.
  1368. </param>
  1369. <returns>True if an element was removed and returned; otherwise, false.</returns>
  1370. </member>
  1371. <member name="M:System.Collections.Concurrent.ConcurrentStack`1.CopyRemovedItems(System.Collections.Concurrent.ConcurrentStack{`0}.Node,`0[],System.Int32,System.Int32)">
  1372. <summary>
  1373. Local helper function to copy the poped elements into a given collection
  1374. </summary>
  1375. <param name="head">The head of the list to be copied</param>
  1376. <param name="collection">The collection to place the popped items in</param>
  1377. <param name="startIndex">the beginning of index of where to place the popped items</param>
  1378. <param name="nodesCount">The number of nodes.</param>
  1379. </member>
  1380. <member name="M:System.Collections.Concurrent.ConcurrentStack`1.System#Collections#Concurrent#IProducerConsumerCollection{T}#TryTake(`0@)">
  1381. <summary>
  1382. Attempts to remove and return an object from the <see cref="T:System.Collections.Concurrent.IProducerConsumerCollection{T}"/>.
  1383. </summary>
  1384. <param name="item">
  1385. When this method returns, if the operation was successful, <paramref name="item"/> contains the
  1386. object removed. If no object was available to be removed, the value is unspecified.
  1387. </param>
  1388. <returns>true if an element was removed and returned succesfully; otherwise, false.</returns>
  1389. <remarks>For <see cref="T:System.Collections.Concurrent.ConcurrentStack`1"/>, this operation will attempt to pope the object at
  1390. the top of the <see cref="T:System.Collections.Concurrent.ConcurrentStack`1"/>.
  1391. </remarks>
  1392. </member>
  1393. <member name="M:System.Collections.Concurrent.ConcurrentStack`1.ToArray">
  1394. <summary>
  1395. Copies the items stored in the <see cref="T:System.Collections.Concurrent.ConcurrentStack`1"/> to a new array.
  1396. </summary>
  1397. <returns>A new array containing a snapshot of elements copied from the <see cref="T:System.Collections.Concurrent.ConcurrentStack`1"/>.</returns>
  1398. </member>
  1399. <member name="M:System.Collections.Concurrent.ConcurrentStack`1.ToList">
  1400. <summary>
  1401. Returns an array containing a snapshot of the list's contents, using
  1402. the target list node as the head of a region in the list.
  1403. </summary>
  1404. <returns>An array of the list's contents.</returns>
  1405. </member>
  1406. <member name="M:System.Collections.Concurrent.ConcurrentStack`1.GetEnumerator">
  1407. <summary>
  1408. Returns an enumerator that iterates through the <see cref="T:System.Collections.Concurrent.ConcurrentStack`1"/>.
  1409. </summary>
  1410. <returns>An enumerator for the <see cref="T:System.Collections.Concurrent.ConcurrentStack`1"/>.</returns>
  1411. <remarks>
  1412. The enumeration represents a moment-in-time snapshot of the contents
  1413. of the stack. It does not reflect any updates to the collection after
  1414. <see cref="M:System.Collections.Concurrent.ConcurrentStack`1.GetEnumerator"/> was called. The enumerator is safe to use
  1415. concurrently with reads from and writes to the stack.
  1416. </remarks>
  1417. </member>
  1418. <member name="M:System.Collections.Concurrent.ConcurrentStack`1.System#Collections#IEnumerable#GetEnumerator">
  1419. <summary>
  1420. Returns an enumerator that iterates through a collection.
  1421. </summary>
  1422. <returns>An <see cref="T:System.Collections.IEnumerator"/> that can be used to iterate through
  1423. the collection.</returns>
  1424. <remarks>
  1425. The enumeration represents a moment-in-time snapshot of the contents of the stack. It does not
  1426. reflect any updates to the collection after
  1427. <see cref="M:System.Collections.Concurrent.ConcurrentStack`1.GetEnumerator"/> was called. The enumerator is safe to use concurrently with reads
  1428. from and writes to the stack.
  1429. </remarks>
  1430. </member>
  1431. <member name="P:System.Collections.Concurrent.ConcurrentStack`1.IsEmpty">
  1432. <summary>
  1433. Gets a value that indicates whether the <see cref="T:System.Collections.Concurrent.ConcurrentStack`1"/> is empty.
  1434. </summary>
  1435. <value>true if the <see cref="T:System.Collections.Concurrent.ConcurrentStack`1"/> is empty; otherwise, false.</value>
  1436. <remarks>
  1437. For determining whether the collection contains any items, use of this property is recommended
  1438. rather than retrieving the number of items from the <see cref="P:System.Collections.Concurrent.ConcurrentStack`1.Count"/> property and comparing it
  1439. to 0. However, as this collection is intended to be accessed concurrently, it may be the case
  1440. that another thread will modify the collection after <see cref="P:System.Collections.Concurrent.ConcurrentStack`1.IsEmpty"/> returns, thus invalidating
  1441. the result.
  1442. </remarks>
  1443. </member>
  1444. <member name="P:System.Collections.Concurrent.ConcurrentStack`1.Count">
  1445. <summary>
  1446. Gets the number of elements contained in the <see cref="T:System.Collections.Concurrent.ConcurrentStack`1"/>.
  1447. </summary>
  1448. <value>The number of elements contained in the <see cref="T:System.Collections.Concurrent.ConcurrentStack`1"/>.</value>
  1449. <remarks>
  1450. For determining whether the collection contains any items, use of the <see cref="P:System.Collections.Concurrent.ConcurrentStack`1.IsEmpty"/>
  1451. property is recommended rather than retrieving the number of items from the <see cref="P:System.Collections.Concurrent.ConcurrentStack`1.Count"/>
  1452. property and comparing it to 0.
  1453. </remarks>
  1454. </member>
  1455. <member name="P:System.Collections.Concurrent.ConcurrentStack`1.System#Collections#ICollection#IsSynchronized">
  1456. <summary>
  1457. Gets a value indicating whether access to the <see cref="T:System.Collections.ICollection"/> is
  1458. synchronized with the SyncRoot.
  1459. </summary>
  1460. <value>true if access to the <see cref="T:System.Collections.ICollection"/> is synchronized
  1461. with the SyncRoot; otherwise, false. For <see cref="T:System.Collections.Concurrent.ConcurrentStack`1"/>, this property always
  1462. returns false.</value>
  1463. </member>
  1464. <member name="P:System.Collections.Concurrent.ConcurrentStack`1.System#Collections#ICollection#SyncRoot">
  1465. <summary>
  1466. Gets an object that can be used to synchronize access to the <see
  1467. cref="T:System.Collections.ICollection"/>. This property is not supported.
  1468. </summary>
  1469. <exception cref="T:System.NotSupportedException">The SyncRoot property is not supported</exception>
  1470. </member>
  1471. <member name="T:System.Collections.Concurrent.ConcurrentStack`1.Node">
  1472. <summary>
  1473. A simple (internal) node type used to store elements of concurrent stacks and queues.
  1474. </summary>
  1475. </member>
  1476. <member name="M:System.Collections.Concurrent.ConcurrentStack`1.Node.#ctor(`0)">
  1477. <summary>
  1478. Constructs a new node with the specified value and no next node.
  1479. </summary>
  1480. <param name="value">The value of the node.</param>
  1481. </member>
  1482. <member name="T:System.Collections.Concurrent.SystemCollectionsConcurrent_ProducerConsumerCollectionDebugView`1">
  1483. <summary>
  1484. A debugger view of the IProducerConsumerCollection that makes it simple to browse the
  1485. collection's contents at a point in time.
  1486. </summary>
  1487. <typeparam name="T">The type of elements stored within.</typeparam>
  1488. </member>
  1489. <member name="M:System.Collections.Concurrent.SystemCollectionsConcurrent_ProducerConsumerCollectionDebugView`1.#ctor(System.Collections.Concurrent.IProducerConsumerCollection{`0})">
  1490. <summary>
  1491. Constructs a new debugger view object for the provided collection object.
  1492. </summary>
  1493. <param name="collection">A collection to browse in the debugger.</param>
  1494. </member>
  1495. <member name="P:System.Collections.Concurrent.SystemCollectionsConcurrent_ProducerConsumerCollectionDebugView`1.Items">
  1496. <summary>
  1497. Returns a snapshot of the underlying collection's elements.
  1498. </summary>
  1499. </member>
  1500. <member name="T:System.Collections.Concurrent.OrderablePartitioner`1">
  1501. <summary>
  1502. Represents a particular manner of splitting an orderable data source into multiple partitions.
  1503. </summary>
  1504. <typeparam name="TSource">Type of the elements in the collection.</typeparam>
  1505. <remarks>
  1506. <para>
  1507. Each element in each partition has an integer index associated with it, which determines the relative
  1508. order of that element against elements in other partitions.
  1509. </para>
  1510. <para>
  1511. Inheritors of <see cref="T:System.Collections.Concurrent.OrderablePartitioner`1"/> must adhere to the following rules:
  1512. <ol>
  1513. <li>All indices must be unique, such that there may not be duplicate indices. If all indices are not
  1514. unique, the output ordering may be scrambled.</li>
  1515. <li>All indices must be non-negative. If any indices are negative, consumers of the implementation
  1516. may throw exceptions.</li>
  1517. <li><see cref="M:System.Collections.Concurrent.OrderablePartitioner`1.GetPartitions(System.Int32)"/> and <see cref="M:System.Collections.Concurrent.OrderablePartitioner`1.GetOrderablePartitions(System.Int32)"/> should throw a
  1518. <see cref="T:System.ArgumentOutOfRangeException"/> if the requested partition count is less than or
  1519. equal to zero.</li>
  1520. <li><see cref="M:System.Collections.Concurrent.OrderablePartitioner`1.GetPartitions(System.Int32)"/> and <see cref="M:System.Collections.Concurrent.OrderablePartitioner`1.GetOrderablePartitions(System.Int32)"/> should always return a number
  1521. of enumerables equal to the requested partition count. If the partitioner runs out of data and cannot
  1522. create as many partitions as requested, an empty enumerator should be returned for each of the
  1523. remaining partitions. If this rule is not followed, consumers of the implementation may throw a <see cref="T:System.InvalidOperationException"/>.</li>
  1524. <li><see cref="M:System.Collections.Concurrent.OrderablePartitioner`1.GetPartitions(System.Int32)"/>, <see cref="M:System.Collections.Concurrent.OrderablePartitioner`1.GetOrderablePartitions(System.Int32)"/>,
  1525. <see cref="M:System.Collections.Concurrent.OrderablePartitioner`1.GetDynamicPartitions"/>, and <see cref="M:System.Collections.Concurrent.OrderablePartitioner`1.GetOrderableDynamicPartitions"/>
  1526. should never return null. If null is returned, a consumer of the implementation may throw a
  1527. <see cref="T:System.InvalidOperationException"/>.</li>
  1528. <li><see cref="M:System.Collections.Concurrent.OrderablePartitioner`1.GetPartitions(System.Int32)"/>, <see cref="M:System.Collections.Concurrent.OrderablePartitioner`1.GetOrderablePartitions(System.Int32)"/>,
  1529. <see cref="M:System.Collections.Concurrent.OrderablePartitioner`1.GetDynamicPartitions"/>, and <see cref="M:System.Collections.Concurrent.OrderablePartitioner`1.GetOrderableDynamicPartitions"/>
  1530. should always return partitions that can fully and uniquely enumerate the input data source. All of
  1531. the data and only the data contained in the input source should be enumerated, with no duplication
  1532. that was not already in the input, unless specifically required by the particular partitioner's
  1533. design. If this is not followed, the output ordering may be scrambled.</li>
  1534. <li>If <see cref="P:System.Collections.Concurrent.OrderablePartitioner`1.KeysOrderedInEachPartition"/> returns true, each partition must return elements
  1535. with increasing key indices.</li>
  1536. <li>If <see cref="P:System.Collections.Concurrent.OrderablePartitioner`1.KeysOrderedAcrossPartitions"/> returns true, all the keys in partition numbered N
  1537. must be larger than all the keys in partition numbered N-1.</li>
  1538. <li>If <see cref="P:System.Collections.Concurrent.OrderablePartitioner`1.KeysNormalized"/> returns true, all indices must be monotonically increasing from
  1539. 0, though not necessarily within a single partition.</li>
  1540. </ol>
  1541. </para>
  1542. </remarks>
  1543. </member>
  1544. <member name="T:System.Collections.Concurrent.Partitioner`1">
  1545. <summary>
  1546. Represents a particular manner of splitting a data source into multiple partitions.
  1547. </summary>
  1548. <typeparam name="TSource">Type of the elements in the collection.</typeparam>
  1549. <remarks>
  1550. <para>
  1551. Inheritors of <see cref="T:System.Collections.Concurrent.Partitioner`1"/> must adhere to the following rules:
  1552. <ol>
  1553. <li><see cref="M:System.Collections.Concurrent.Partitioner`1.GetPartitions(System.Int32)"/> should throw a
  1554. <see cref="T:System.ArgumentOutOfRangeException"/> if the requested partition count is less than or
  1555. equal to zero.</li>
  1556. <li><see cref="M:System.Collections.Concurrent.Partitioner`1.GetPartitions(System.Int32)"/> should always return a number of enumerables equal to the requested
  1557. partition count. If the partitioner runs out of data and cannot create as many partitions as
  1558. requested, an empty enumerator should be returned for each of the remaining partitions. If this rule
  1559. is not followed, consumers of the implementation may throw a <see cref="T:System.InvalidOperationException"/>.</li>
  1560. <li><see cref="M:System.Collections.Concurrent.Partitioner`1.GetPartitions(System.Int32)"/> and <see cref="M:System.Collections.Concurrent.Partitioner`1.GetDynamicPartitions"/>
  1561. should never return null. If null is returned, a consumer of the implementation may throw a
  1562. <see cref="T:System.InvalidOperationException"/>.</li>
  1563. <li><see cref="M:System.Collections.Concurrent.Partitioner`1.GetPartitions(System.Int32)"/> and <see cref="M:System.Collections.Concurrent.Partitioner`1.GetDynamicPartitions"/> should always return
  1564. partitions that can fully and uniquely enumerate the input data source. All of the data and only the
  1565. data contained in the input source should be enumerated, with no duplication that was not already in
  1566. the input, unless specifically required by the particular partitioner's design. If this is not
  1567. followed, the output ordering may be scrambled.</li>
  1568. </ol>
  1569. </para>
  1570. </remarks>
  1571. </member>
  1572. <member name="M:System.Collections.Concurrent.Partitioner`1.GetPartitions(System.Int32)">
  1573. <summary>
  1574. Partitions the underlying collection into the given number of partitions.
  1575. </summary>
  1576. <param name="partitionCount">The number of partitions to create.</param>
  1577. <returns>A list containing <paramref name="partitionCount"/> enumerators.</returns>
  1578. </member>
  1579. <member name="M:System.Collections.Concurrent.Partitioner`1.GetDynamicPartitions">
  1580. <summary>
  1581. Creates an object that can partition the underlying collection into a variable number of
  1582. partitions.
  1583. </summary>
  1584. <remarks>
  1585. <para>
  1586. The returned object implements the <see cref="T:System.Collections.Generic.IEnumerable{TSource}"/> interface. Calling <see cref="M:System.Collections.Generic.IEnumerable`1.GetEnumerator">GetEnumerator</see> on the
  1587. object creates another partition over the sequence.
  1588. </para>
  1589. <para>
  1590. The <see cref="M:System.Collections.Concurrent.Partitioner`1.GetDynamicPartitions"/> method is only supported if the <see cref="P:System.Collections.Concurrent.Partitioner`1.SupportsDynamicPartitions"/>
  1591. property returns true.
  1592. </para>
  1593. </remarks>
  1594. <returns>An object that can create partitions over the underlying data source.</returns>
  1595. <exception cref="T:System.NotSupportedException">Dynamic partitioning is not supported by this
  1596. partitioner.</exception>
  1597. </member>
  1598. <member name="P:System.Collections.Concurrent.Partitioner`1.SupportsDynamicPartitions">
  1599. <summary>
  1600. Gets whether additional partitions can be created dynamically.
  1601. </summary>
  1602. <returns>
  1603. true if the <see cref="T:System.Collections.Concurrent.Partitioner`1"/> can create partitions dynamically as they are
  1604. requested; false if the <see cref="T:System.Collections.Concurrent.Partitioner`1"/> can only allocate
  1605. partitions statically.
  1606. </returns>
  1607. <remarks>
  1608. <para>
  1609. If a derived class does not override and implement <see cref="M:System.Collections.Concurrent.Partitioner`1.GetDynamicPartitions"/>,
  1610. <see cref="P:System.Collections.Concurrent.Partitioner`1.SupportsDynamicPartitions"/> should return false. The value of <see cref="P:System.Collections.Concurrent.Partitioner`1.SupportsDynamicPartitions"/> should not vary over the lifetime of this instance.
  1611. </para>
  1612. </remarks>
  1613. </member>
  1614. <member name="M:System.Collections.Concurrent.OrderablePartitioner`1.#ctor(System.Boolean,System.Boolean,System.Boolean)">
  1615. <summary>
  1616. Initializes a new instance of the <see cref="T:System.Collections.Concurrent.OrderablePartitioner`1"/> class with the
  1617. specified constraints on the index keys.
  1618. </summary>
  1619. <param name="keysOrderedInEachPartition">
  1620. Indicates whether the elements in each partition are yielded in the order of
  1621. increasing keys.
  1622. </param>
  1623. <param name="keysOrderedAcrossPartitions">
  1624. Indicates whether elements in an earlier partition always come before
  1625. elements in a later partition. If true, each element in partition 0 has a smaller order key than
  1626. any element in partition 1, each element in partition 1 has a smaller order key than any element
  1627. in partition 2, and so on.
  1628. </param>
  1629. <param name="keysNormalized">
  1630. Indicates whether keys are normalized. If true, all order keys are distinct
  1631. integers in the range [0 .. numberOfElements-1]. If false, order keys must still be dictinct, but
  1632. only their relative order is considered, not their absolute values.
  1633. </param>
  1634. </member>
  1635. <member name="M:System.Collections.Concurrent.OrderablePartitioner`1.GetOrderablePartitions(System.Int32)">
  1636. <summary>
  1637. Partitions the underlying collection into the specified number of orderable partitions.
  1638. </summary>
  1639. <remarks>
  1640. Each partition is represented as an enumerator over key-value pairs.
  1641. The value of the pair is the element itself, and the key is an integer which determines
  1642. the relative ordering of this element against other elements in the data source.
  1643. </remarks>
  1644. <param name="partitionCount">The number of partitions to create.</param>
  1645. <returns>A list containing <paramref name="partitionCount"/> enumerators.</returns>
  1646. </member>
  1647. <member name="M:System.Collections.Concurrent.OrderablePartitioner`1.GetOrderableDynamicPartitions">
  1648. <summary>
  1649. Creates an object that can partition the underlying collection into a variable number of
  1650. partitions.
  1651. </summary>
  1652. <remarks>
  1653. <para>
  1654. The returned object implements the <see cref="T:System.Collections.Generic.IEnumerable{TSource}"/> interface. Calling <see cref="M:System.Collections.Generic.IEnumerable`1.GetEnumerator">GetEnumerator</see> on the
  1655. object creates another partition over the sequence.
  1656. </para>
  1657. <para>
  1658. Each partition is represented as an enumerator over key-value pairs. The value in the pair is the element
  1659. itself, and the key is an integer which determines the relative ordering of this element against
  1660. other elements.
  1661. </para>
  1662. <para>
  1663. The <see cref="M:System.Collections.Concurrent.OrderablePartitioner`1.GetOrderableDynamicPartitions"/> method is only supported if the <see cref="P:System.Collections.Concurrent.Partitioner`1.SupportsDynamicPartitions">SupportsDynamicPartitions</see>
  1664. property returns true.
  1665. </para>
  1666. </remarks>
  1667. <returns>An object that can create partitions over the underlying data source.</returns>
  1668. <exception cref="T:System.NotSupportedException">Dynamic partitioning is not supported by this
  1669. partitioner.</exception>
  1670. </member>
  1671. <member name="M:System.Collections.Concurrent.OrderablePartitioner`1.GetPartitions(System.Int32)">
  1672. <summary>
  1673. Partitions the underlying collection into the given number of ordered partitions.
  1674. </summary>
  1675. <remarks>
  1676. The default implementation provides the same behavior as <see cref="M:System.Collections.Concurrent.OrderablePartitioner`1.GetOrderablePartitions(System.Int32)"/> except
  1677. that the returned set of partitions does not provide the keys for the elements.
  1678. </remarks>
  1679. <param name="partitionCount">The number of partitions to create.</param>
  1680. <returns>A list containing <paramref name="partitionCount"/> enumerators.</returns>
  1681. </member>
  1682. <member name="M:System.Collections.Concurrent.OrderablePartitioner`1.GetDynamicPartitions">
  1683. <summary>
  1684. Creates an object that can partition the underlying collection into a variable number of
  1685. partitions.
  1686. </summary>
  1687. <remarks>
  1688. <para>
  1689. The returned object implements the <see cref="T:System.Collections.Generic.IEnumerable{TSource}"/> interface. Calling <see cref="M:System.Collections.Generic.IEnumerable`1.GetEnumerator">GetEnumerator</see> on the
  1690. object creates another partition over the sequence.
  1691. </para>
  1692. <para>
  1693. The default implementation provides the same behavior as <see cref="M:System.Collections.Concurrent.OrderablePartitioner`1.GetOrderableDynamicPartitions"/> except
  1694. that the returned set of partitions does not provide the keys for the elements.
  1695. </para>
  1696. <para>
  1697. The <see cref="M:System.Collections.Concurrent.OrderablePartitioner`1.GetDynamicPartitions"/> method is only supported if the <see cref="P:System.Collections.Concurrent.Partitioner`1.SupportsDynamicPartitions"/>
  1698. property returns true.
  1699. </para>
  1700. </remarks>
  1701. <returns>An object that can create partitions over the underlying data source.</returns>
  1702. <exception cref="T:System.NotSupportedException">Dynamic partitioning is not supported by this
  1703. partitioner.</exception>
  1704. </member>
  1705. <member name="P:System.Collections.Concurrent.OrderablePartitioner`1.KeysOrderedInEachPartition">
  1706. <summary>
  1707. Gets whether elements in each partition are yielded in the order of increasing keys.
  1708. </summary>
  1709. </member>
  1710. <member name="P:System.Collections.Concurrent.OrderablePartitioner`1.KeysOrderedAcrossPartitions">
  1711. <summary>
  1712. Gets whether elements in an earlier partition always come before elements in a later partition.
  1713. </summary>
  1714. <remarks>
  1715. If <see cref="P:System.Collections.Concurrent.OrderablePartitioner`1.KeysOrderedAcrossPartitions"/> returns true, each element in partition 0 has a
  1716. smaller order key than any element in partition 1, each element in partition 1 has a smaller
  1717. order key than any element in partition 2, and so on.
  1718. </remarks>
  1719. </member>
  1720. <member name="P:System.Collections.Concurrent.OrderablePartitioner`1.KeysNormalized">
  1721. <summary>
  1722. Gets whether order keys are normalized.
  1723. </summary>
  1724. <remarks>
  1725. If <see cref="P:System.Collections.Concurrent.OrderablePartitioner`1.KeysNormalized"/> returns true, all order keys are distinct integers in the range
  1726. [0 .. numberOfElements-1]. If the property returns false, order keys must still be dictinct, but
  1727. only their relative order is considered, not their absolute values.
  1728. </remarks>
  1729. </member>
  1730. <member name="T:System.Collections.Concurrent.OrderablePartitioner`1.EnumerableDropIndices">
  1731. <summary>
  1732. Converts an enumerable over key-value pairs to an enumerable over values.
  1733. </summary>
  1734. </member>
  1735. <member name="T:System.Collections.Concurrent.Partitioner">
  1736. <summary>
  1737. Provides common partitioning strategies for arrays, lists, and enumerables.
  1738. </summary>
  1739. <remarks>
  1740. <para>
  1741. The static methods on <see cref="T:System.Collections.Concurrent.Partitioner"/> are all thread-safe and may be used concurrently
  1742. from multiple threads. However, while a created partitioner is in use, the underlying data source
  1743. should not be modified, whether from the same thread that's using a partitioner or from a separate
  1744. thread.
  1745. </para>
  1746. </remarks>
  1747. </member>
  1748. <member name="M:System.Collections.Concurrent.Partitioner.Create``1(System.Collections.Generic.IList{``0},System.Boolean)">
  1749. <summary>
  1750. Creates an orderable partitioner from an <see cref="T:System.Collections.Generic.IList`1"/>
  1751. instance.
  1752. </summary>
  1753. <typeparam name="TSource">Type of the elements in source list.</typeparam>
  1754. <param name="list">The list to be partitioned.</param>
  1755. <param name="loadBalance">
  1756. A Boolean value that indicates whether the created partitioner should dynamically
  1757. load balance between partitions rather than statically partition.
  1758. </param>
  1759. <returns>
  1760. An orderable partitioner based on the input list.
  1761. </returns>
  1762. </member>
  1763. <member name="M:System.Collections.Concurrent.Partitioner.Create``1(``0[],System.Boolean)">
  1764. <summary>
  1765. Creates an orderable partitioner from a <see cref="T:System.Array"/> instance.
  1766. </summary>
  1767. <typeparam name="TSource">Type of the elements in source array.</typeparam>
  1768. <param name="array">The array to be partitioned.</param>
  1769. <param name="loadBalance">
  1770. A Boolean value that indicates whether the created partitioner should dynamically load balance
  1771. between partitions rather than statically partition.
  1772. </param>
  1773. <returns>
  1774. An orderable partitioner based on the input array.
  1775. </returns>
  1776. </member>
  1777. <member name="M:System.Collections.Concurrent.Partitioner.Create``1(System.Collections.Generic.IEnumerable{``0})">
  1778. <summary>
  1779. Creates an orderable partitioner from a <see cref="T:System.Collections.Generic.IEnumerable`1"/> instance.
  1780. </summary>
  1781. <typeparam name="TSource">Type of the elements in source enumerable.</typeparam>
  1782. <param name="source">The enumerable to be partitioned.</param>
  1783. <returns>
  1784. An orderable partitioner based on the input array.
  1785. </returns>
  1786. <remarks>
  1787. The ordering used in the created partitioner is determined by the natural order of the elements
  1788. as retrieved from the source enumerable.
  1789. </remarks>
  1790. </member>
  1791. <member name="T:System.Collections.Concurrent.Partitioner.DynamicPartitionEnumerator_Abstract`2">
  1792. <summary>
  1793. DynamicPartitionEnumerator_Abstract defines the enumerator for each partition for the dynamic load-balance
  1794. partitioning algorithm.
  1795. - Partition is an enumerator of KeyValuePairs, each corresponding to an item in the data source:
  1796. the key is the index in the source collection; the value is the item itself.
  1797. - a set of such partitions share a reader over data source. The type of the reader is specified by
  1798. TSourceReader.
  1799. - each partition requests a contiguous chunk of elements at a time from the source data. The chunk
  1800. size is initially 1, and doubles every time until it reaches the maximum chunk size.
  1801. The implementation for GrabNextChunk() method has two versions: one for data source of IndexRange
  1802. types (IList and the array), one for data source of IEnumerable.
  1803. - The method "Reset" is not supported for any partitioning algorithm.
  1804. - The implementation for MoveNext() method is same for all dynanmic partitioners, so we provide it
  1805. in this abstract class.
  1806. </summary>
  1807. <typeparam name="TSource">Type of the elements in the data source</typeparam>
  1808. <typeparam name="TSourceReader">Type of the reader on the data source</typeparam>
  1809. </member>
  1810. <member name="M:System.Collections.Concurrent.Partitioner.DynamicPartitionEnumerator_Abstract`2.GrabNextChunk(System.Int32)">
  1811. <summary>
  1812. Abstract method to request a contiguous chunk of elements from the source collection
  1813. </summary>
  1814. <param name="requestedChunkSize">specified number of elements requested</param>
  1815. <returns>
  1816. true if we successfully reserved at least one element (up to #=requestedChunkSize)
  1817. false if all elements in the source collection have been reserved.
  1818. </returns>
  1819. </member>
  1820. <member name="M:System.Collections.Concurrent.Partitioner.DynamicPartitionEnumerator_Abstract`2.Dispose">
  1821. <summary>
  1822. Dispose is abstract, and depends on the type of the source data:
  1823. - For source data type IList and Array, the type of the shared reader is just the dataitself.
  1824. We don't do anything in Dispose method for IList and Array.
  1825. - For source data type IEnumerable, the type of the shared reader is an enumerator we created.
  1826. Thus we need to dispose this shared reader enumerator, when there is no more active partitions
  1827. left.
  1828. </summary>
  1829. </member>
  1830. <member name="M:System.Collections.Concurrent.Partitioner.DynamicPartitionEnumerator_Abstract`2.Reset">
  1831. <summary>
  1832. Reset on partitions is not supported
  1833. </summary>
  1834. </member>
  1835. <member name="M:System.Collections.Concurrent.Partitioner.DynamicPartitionEnumerator_Abstract`2.MoveNext">
  1836. <summary>
  1837. Moves to the next element if any.
  1838. Try current chunk first, if the current chunk do not have any elements left, then we
  1839. attempt to grab a chunk from the source collection.
  1840. </summary>
  1841. <returns>
  1842. true if successfully moving to the next position;
  1843. false otherwise, if and only if there is no more elements left in the current chunk
  1844. AND the source collection is exhausted.
  1845. </returns>
  1846. </member>
  1847. <member name="P:System.Collections.Concurrent.Partitioner.DynamicPartitionEnumerator_Abstract`2.HasNoElementsLeft">
  1848. <summary>
  1849. Abstract property, returns whether or not the shared reader has already read the last
  1850. element of the source data
  1851. </summary>
  1852. </member>
  1853. <member name="P:System.Collections.Concurrent.Partitioner.DynamicPartitionEnumerator_Abstract`2.Current">
  1854. <summary>
  1855. Get the current element in the current partition. Property required by IEnumerator interface
  1856. This property is abstract because the implementation is different depending on the type
  1857. of the source data: IList, Array or IEnumerable
  1858. </summary>
  1859. </member>
  1860. <member name="P:System.Collections.Concurrent.Partitioner.DynamicPartitionEnumerator_Abstract`2.System#Collections#IEnumerator#Current">
  1861. <summary>
  1862. Get the current element in the current partition. Property required by IEnumerator interface
  1863. </summary>
  1864. </member>
  1865. <member name="T:System.Collections.Concurrent.Partitioner.DynamicPartitionerForIEnumerable`1">
  1866. <summary>
  1867. Inherits from DynamicPartitioners
  1868. Provides customized implementation of GetOrderableDynamicPartitions_Factory method, to return an instance
  1869. of EnumerableOfPartitionsForIEnumerator defined internally
  1870. </summary>
  1871. <typeparam name="TSource">Type of elements in the source data</typeparam>
  1872. </member>
  1873. <member name="M:System.Collections.Concurrent.Partitioner.DynamicPartitionerForIEnumerable`1.GetOrderablePartitions(System.Int32)">
  1874. <summary>
  1875. Overrides OrderablePartitioner.GetOrderablePartitions.
  1876. Partitions the underlying collection into the given number of orderable partitions.
  1877. </summary>
  1878. <param name="partitionCount">number of partitions requested</param>
  1879. <returns>A list containing <paramref name="partitionCount"/> enumerators.</returns>
  1880. </member>
  1881. <member name="M:System.Collections.Concurrent.Partitioner.DynamicPartitionerForIEnumerable`1.GetOrderableDynamicPartitions">
  1882. <summary>
  1883. Overrides OrderablePartitioner.GetOrderableDyanmicPartitions
  1884. </summary>
  1885. <returns>a enumerable collection of orderable partitions</returns>
  1886. </member>
  1887. <member name="P:System.Collections.Concurrent.Partitioner.DynamicPartitionerForIEnumerable`1.SupportsDynamicPartitions">
  1888. <summary>
  1889. Whether additional partitions can be created dynamically.
  1890. </summary>
  1891. </member>
  1892. <member name="T:System.Collections.Concurrent.Partitioner.DynamicPartitionerForIEnumerable`1.InternalPartitionEnumerable">
  1893. <summary>
  1894. Provides customized implementation for source data of IEnumerable
  1895. Different from the counterpart for IList/Array, this enumerable maintains several additional fields
  1896. shared by the partitions it owns, including a boolean "m_hasNoElementsLef", a shared lock, and a
  1897. shared count "m_activePartitionCount"
  1898. </summary>
  1899. </member>
  1900. <member name="T:System.Collections.Concurrent.Partitioner.DynamicPartitionerForIEnumerable`1.InternalPartitionEnumerator">
  1901. <summary>
  1902. Inherits from DynamicPartitionEnumerator_Abstract directly
  1903. Provides customized implementation for: GrabNextChunk, HasNoElementsLeft, Current, Dispose
  1904. </summary>
  1905. </member>
  1906. <member name="M:System.Collections.Concurrent.Partitioner.DynamicPartitionerForIEnumerable`1.InternalPartitionEnumerator.GrabNextChunk(System.Int32)">
  1907. <summary>
  1908. Reserves a contiguous range of elements from source data
  1909. </summary>
  1910. <param name="requestedChunkSize">specified number of elements requested</param>
  1911. <returns>
  1912. true if we successfully reserved at least one element (up to #=requestedChunkSize)
  1913. false if all elements in the source collection have been reserved.
  1914. </returns>
  1915. </member>
  1916. <member name="M:System.Collections.Concurrent.Partitioner.DynamicPartitionerForIEnumerable`1.InternalPartitionEnumerator.Dispose">
  1917. <summary>
  1918. If the current partition is to be disposed, we decrement the number of active partitions
  1919. for the shared reader.
  1920. If the number of active partitions becomes 0, we need to dispose the shared reader we created
  1921. </summary>
  1922. </member>
  1923. <member name="P:System.Collections.Concurrent.Partitioner.DynamicPartitionerForIEnumerable`1.InternalPartitionEnumerator.HasNoElementsLeft">
  1924. <summary>
  1925. Returns whether or not the shared reader has already read the last
  1926. element of the source data
  1927. </summary>
  1928. <remarks>
  1929. We cannot call m_sharedReader.MoveNext(), to see if it hits the last element
  1930. or not, because we can't undo MoveNext(). Thus we need to maintain a shared
  1931. boolean value m_hasNoElementsLeft across all partitions
  1932. </remarks>
  1933. </member>
  1934. <member name="T:System.Collections.Concurrent.Partitioner.DynamicPartitionerForIndexRange_Abstract`2">
  1935. <summary>
  1936. Dynamic load-balance partitioner. This class is abstract and to be derived from by
  1937. the customized partitioner classes for IList, Array, and IEnumerable
  1938. </summary>
  1939. <typeparam name="TSource">Type of the elements in the source data</typeparam>
  1940. <typeparam name="TCollection"> Type of the source data collection</typeparam>
  1941. </member>
  1942. <member name="M:System.Collections.Concurrent.Partitioner.DynamicPartitionerForIndexRange_Abstract`2.#ctor(`1)">
  1943. <summary>
  1944. Constructs a new orderable partitioner
  1945. </summary>
  1946. <param name="data">source data collection</param>
  1947. </member>
  1948. <member name="M:System.Collections.Concurrent.Partitioner.DynamicPartitionerForIndexRange_Abstract`2.GetOrderableDynamicPartitions_Factory(`1)">
  1949. <summary>
  1950. Partition the source data and create an enumerable over the resulting partitions.
  1951. </summary>
  1952. <param name="data">the source data collection</param>
  1953. <returns>an enumerable of partitions of </returns>
  1954. </member>
  1955. <member name="M:System.Collections.Concurrent.Partitioner.DynamicPartitionerForIndexRange_Abstract`2.GetOrderablePartitions(System.Int32)">
  1956. <summary>
  1957. Overrides OrderablePartitioner.GetOrderablePartitions.
  1958. Partitions the underlying collection into the given number of orderable partitions.
  1959. </summary>
  1960. <param name="partitionCount">number of partitions requested</param>
  1961. <returns>A list containing <paramref name="partitionCount"/> enumerators.</returns>
  1962. </member>
  1963. <member name="M:System.Collections.Concurrent.Partitioner.DynamicPartitionerForIndexRange_Abstract`2.GetOrderableDynamicPartitions">
  1964. <summary>
  1965. Overrides OrderablePartitioner.GetOrderableDyanmicPartitions
  1966. </summary>
  1967. <returns>a enumerable collection of orderable partitions</returns>
  1968. </member>
  1969. <member name="P:System.Collections.Concurrent.Partitioner.DynamicPartitionerForIndexRange_Abstract`2.SupportsDynamicPartitions">
  1970. <summary>
  1971. Whether additional partitions can be created dynamically.
  1972. </summary>
  1973. </member>
  1974. <member name="T:System.Collections.Concurrent.Partitioner.DynamicPartitionEnumeratorForIndexRange_Abstract`2">
  1975. <summary>
  1976. Defines dynamic partition for source data of IList and Array.
  1977. This class inherits DynamicPartitionEnumerator_Abstract
  1978. - implements GrabNextChunk, HasNoElementsLeft, and Dispose methods for IList and Array
  1979. - Current property still remains abstract, implementation is different for IList and Array
  1980. - introduces another abstract method SourceCount, which returns the number of elements in
  1981. the source data. Implementation differs for IList and Array
  1982. </summary>
  1983. <typeparam name="TSource">Type of the elements in the data source</typeparam>
  1984. <typeparam name="TSourceReader">Type of the reader on the source data</typeparam>
  1985. </member>
  1986. <member name="M:System.Collections.Concurrent.Partitioner.DynamicPartitionEnumeratorForIndexRange_Abstract`2.GrabNextChunk(System.Int32)">
  1987. <summary>
  1988. Reserves a contiguous range of elements from source data
  1989. </summary>
  1990. <param name="requestedChunkSize">specified number of elements requested</param>
  1991. <returns>
  1992. true if we successfully reserved at least one element (up to #=requestedChunkSize)
  1993. false if all elements in the source collection have been reserved.
  1994. </returns>
  1995. </member>
  1996. <member name="M:System.Collections.Concurrent.Partitioner.DynamicPartitionEnumeratorForIndexRange_Abstract`2.Dispose">
  1997. <summary>
  1998. For source data type IList and Array, the type of the shared reader is just the data itself.
  1999. We don't do anything in Dispose method for IList and Array.
  2000. </summary>
  2001. </member>
  2002. <member name="P:System.Collections.Concurrent.Partitioner.DynamicPartitionEnumeratorForIndexRange_Abstract`2.SourceCount">
  2003. <summary>
  2004. Get the number of elements from the source reader.
  2005. It calls IList.Count or Array.Length
  2006. </summary>
  2007. </member>
  2008. <member name="P:System.Collections.Concurrent.Partitioner.DynamicPartitionEnumeratorForIndexRange_Abstract`2.HasNoElementsLeft">
  2009. <summary>
  2010. Returns whether or not the shared reader has already read the last
  2011. element of the source data
  2012. </summary>
  2013. </member>
  2014. <member name="T:System.Collections.Concurrent.Partitioner.DynamicPartitionerForIList`1">
  2015. <summary>
  2016. Inherits from DynamicPartitioners
  2017. Provides customized implementation of GetOrderableDynamicPartitions_Factory method, to return an instance
  2018. of EnumerableOfPartitionsForIList defined internally
  2019. </summary>
  2020. <typeparam name="TSource">Type of elements in the source data</typeparam>
  2021. </member>
  2022. <member name="T:System.Collections.Concurrent.Partitioner.DynamicPartitionerForIList`1.InternalPartitionEnumerable">
  2023. <summary>
  2024. Inherits from PartitionList_Abstract
  2025. Provides customized implementation for source data of IList
  2026. </summary>
  2027. </member>
  2028. <member name="T:System.Collections.Concurrent.Partitioner.DynamicPartitionerForIList`1.InternalPartitionEnumerator">
  2029. <summary>
  2030. Inherits from DynamicPartitionEnumeratorForIndexRange_Abstract
  2031. Provides customized implementation of SourceCount property and Current property for IList
  2032. </summary>
  2033. </member>
  2034. <member name="P:System.Collections.Concurrent.Partitioner.DynamicPartitionerForIList`1.InternalPartitionEnumerator.Current">
  2035. <summary>
  2036. return a KeyValuePair of the current element and its key
  2037. </summary>
  2038. </member>
  2039. <member name="T:System.Collections.Concurrent.Partitioner.DynamicPartitionerForArray`1">
  2040. <summary>
  2041. Inherits from DynamicPartitioners
  2042. Provides customized implementation of GetOrderableDynamicPartitions_Factory method, to return an instance
  2043. of EnumerableOfPartitionsForArray defined internally
  2044. </summary>
  2045. <typeparam name="TSource">Type of elements in the source data</typeparam>
  2046. </member>
  2047. <member name="T:System.Collections.Concurrent.Partitioner.DynamicPartitionerForArray`1.InternalPartitionEnumerable">
  2048. <summary>
  2049. Inherits from PartitionList_Abstract
  2050. Provides customized implementation for source data of Array
  2051. </summary>
  2052. </member>
  2053. <member name="T:System.Collections.Concurrent.Partitioner.DynamicPartitionerForArray`1.InternalPartitionEnumerator">
  2054. <summary>
  2055. Inherits from DynamicPartitionEnumeratorForIndexRange_Abstract
  2056. Provides customized implementation of SourceCount property and Current property for Array
  2057. </summary>
  2058. </member>
  2059. <member name="T:System.Collections.Concurrent.Partitioner.StaticIndexRangePartitioner`2">
  2060. <summary>
  2061. Static partitioning over IList.
  2062. - dynamic and load-balance
  2063. - Keys are ordered within each partition
  2064. - Keys are ordered across partitions
  2065. - Keys are normalized
  2066. - Number of partitions is fixed once specified, and the elements of the source data are
  2067. distributed to each partition as evenly as possible.
  2068. </summary>
  2069. <typeparam name="TSource">type of the elements</typeparam>
  2070. <typeparam name="TCollection">Type of the source data collection</typeparam>
  2071. </member>
  2072. <member name="M:System.Collections.Concurrent.Partitioner.StaticIndexRangePartitioner`2.CreatePartition(System.Int32,System.Int32)">
  2073. <summary>
  2074. Abstract method to create a partition that covers a range over source data,
  2075. starting from "startIndex", ending at "endIndex"
  2076. </summary>
  2077. <param name="startIndex">start index of the current partition on the source data</param>
  2078. <param name="endIndex">end index of the current partition on the source data</param>
  2079. <returns>a partition enumerator over the specified range</returns>
  2080. </member>
  2081. <member name="M:System.Collections.Concurrent.Partitioner.StaticIndexRangePartitioner`2.GetOrderablePartitions(System.Int32)">
  2082. <summary>
  2083. Overrides OrderablePartitioner.GetOrderablePartitions
  2084. Return a list of partitions, each of which enumerate a fixed part of the source data
  2085. The elements of the source data are distributed to each partition as evenly as possible.
  2086. Specifically, if the total number of elements is N, and number of partitions is x, and N = a*x +b,
  2087. where a is the quotient, and b is the remainder. Then the first b partitions each has a + 1 elements,
  2088. and the last x-b partitions each has a elements.
  2089. For example, if N=10, x =3, then
  2090. partition 0 ranges [0,3],
  2091. partition 1 ranges [4,6],
  2092. partition 2 ranges [7,9].
  2093. This also takes care of the situation of (x&gt;N), the last x-N partitions are empty enumerators.
  2094. An empty enumerator is indicated by
  2095. (m_startIndex == list.Count &amp;&amp; m_endIndex == list.Count -1)
  2096. </summary>
  2097. <param name="partitionCount">specified number of partitions</param>
  2098. <returns>a list of partitions</returns>
  2099. </member>
  2100. <member name="P:System.Collections.Concurrent.Partitioner.StaticIndexRangePartitioner`2.SourceCount">
  2101. <summary>
  2102. Abstract method to return the number of elements in the source data
  2103. </summary>
  2104. </member>
  2105. <member name="T:System.Collections.Concurrent.Partitioner.StaticIndexRangePartition`1">
  2106. <summary>
  2107. Static Partition for IList/Array.
  2108. This class implements all methods required by IEnumerator interface, except for the Current property.
  2109. Current Property is different for IList and Array. Arrays calls 'ldelem' instructions for faster element
  2110. retrieval.
  2111. </summary>
  2112. </member>
  2113. <member name="M:System.Collections.Concurrent.Partitioner.StaticIndexRangePartition`1.#ctor(System.Int32,System.Int32)">
  2114. <summary>
  2115. Constructs an instance of StaticIndexRangePartition
  2116. </summary>
  2117. <param name="startIndex">the start index in the source collection for the current partition </param>
  2118. <param name="endIndex">the end index in the source collection for the current partition</param>
  2119. </member>
  2120. <member name="M:System.Collections.Concurrent.Partitioner.StaticIndexRangePartition`1.Dispose">
  2121. <summary>
  2122. We don't dispose the source for IList and array
  2123. </summary>
  2124. </member>
  2125. <member name="M:System.Collections.Concurrent.Partitioner.StaticIndexRangePartition`1.MoveNext">
  2126. <summary>
  2127. Moves to the next item
  2128. Before the first MoveNext is called: m_offset == m_startIndex-1;
  2129. </summary>
  2130. <returns>true if successful, false if there is no item left</returns>
  2131. </member>
  2132. <member name="P:System.Collections.Concurrent.Partitioner.StaticIndexRangePartition`1.Current">
  2133. <summary>
  2134. Current Property is different for IList and Array. Arrays calls 'ldelem' instructions for faster
  2135. element retrieval.
  2136. </summary>
  2137. </member>
  2138. <member name="T:System.Collections.Concurrent.Partitioner.StaticIndexRangePartitionerForIList`1">
  2139. <summary>
  2140. Inherits from StaticIndexRangePartitioner
  2141. Provides customized implementation of SourceCount and CreatePartition
  2142. </summary>
  2143. <typeparam name="TSource"></typeparam>
  2144. </member>
  2145. <member name="T:System.Collections.Concurrent.Partitioner.StaticIndexRangePartitionForIList`1">
  2146. <summary>
  2147. Inherits from StaticIndexRangePartition
  2148. Provides customized implementation of Current property
  2149. </summary>
  2150. <typeparam name="TSource"></typeparam>
  2151. </member>
  2152. <member name="T:System.Collections.Concurrent.Partitioner.StaticIndexRangePartitionerForArray`1">
  2153. <summary>
  2154. Inherits from StaticIndexRangePartitioner
  2155. Provides customized implementation of SourceCount and CreatePartition for Array
  2156. </summary>
  2157. </member>
  2158. <member name="T:System.Collections.Concurrent.Partitioner.StaticIndexRangePartitionForArray`1">
  2159. <summary>
  2160. Inherits from StaticIndexRangePartitioner
  2161. Provides customized implementation of SourceCount and CreatePartition
  2162. </summary>
  2163. </member>
  2164. <member name="T:System.Collections.Concurrent.Partitioner.Shared`1">
  2165. <summary>
  2166. A very simple primitive that allows us to share a value across multiple threads.
  2167. </summary>
  2168. <typeparam name="TSource"></typeparam>
  2169. </member>
  2170. <member name="T:System.AggregateException">
  2171. <summary>Represents one or more errors that occur during application execution.</summary>
  2172. <remarks>
  2173. <see cref="T:System.AggregateException"/> is used to consolidate multiple failures into a single, throwable
  2174. exception object.
  2175. </remarks>
  2176. </member>
  2177. <member name="M:System.AggregateException.#ctor">
  2178. <summary>
  2179. Initializes a new instance of the <see cref="T:System.AggregateException"/> class.
  2180. </summary>
  2181. </member>
  2182. <member name="M:System.AggregateException.#ctor(System.String)">
  2183. <summary>
  2184. Initializes a new instance of the <see cref="T:System.AggregateException"/> class with
  2185. a specified error message.
  2186. </summary>
  2187. <param name="message">The error message that explains the reason for the exception.</param>
  2188. </member>
  2189. <member name="M:System.AggregateException.#ctor(System.String,System.Exception)">
  2190. <summary>
  2191. Initializes a new instance of the <see cref="T:System.AggregateException"/> class with a specified error
  2192. message and a reference to the inner exception that is the cause of this exception.
  2193. </summary>
  2194. <param name="message">The error message that explains the reason for the exception.</param>
  2195. <param name="innerException">The exception that is the cause of the current exception.</param>
  2196. <exception cref="T:System.ArgumentNullException">The <paramref name="innerException"/> argument
  2197. is null.</exception>
  2198. </member>
  2199. <member name="M:System.AggregateException.#ctor(System.Collections.Generic.IEnumerable{System.Exception})">
  2200. <summary>
  2201. Initializes a new instance of the <see cref="T:System.AggregateException"/> class with
  2202. references to the inner exceptions that are the cause of this exception.
  2203. </summary>
  2204. <param name="innerExceptions">The exceptions that are the cause of the current exception.</param>
  2205. <exception cref="T:System.ArgumentNullException">The <paramref name="innerExceptions"/> argument
  2206. is null.</exception>
  2207. <exception cref="T:System.ArgumentException">An element of <paramref name="innerExceptions"/> is
  2208. null.</exception>
  2209. </member>
  2210. <member name="M:System.AggregateException.#ctor(System.Exception[])">
  2211. <summary>
  2212. Initializes a new instance of the <see cref="T:System.AggregateException"/> class with
  2213. references to the inner exceptions that are the cause of this exception.
  2214. </summary>
  2215. <param name="innerExceptions">The exceptions that are the cause of the current exception.</param>
  2216. <exception cref="T:System.ArgumentNullException">The <paramref name="innerExceptions"/> argument
  2217. is null.</exception>
  2218. <exception cref="T:System.ArgumentException">An element of <paramref name="innerExceptions"/> is
  2219. null.</exception>
  2220. </member>
  2221. <member name="M:System.AggregateException.#ctor(System.String,System.Collections.Generic.IEnumerable{System.Exception})">
  2222. <summary>
  2223. Initializes a new instance of the <see cref="T:System.AggregateException"/> class with a specified error
  2224. message and references to the inner exceptions that are the cause of this exception.
  2225. </summary>
  2226. <param name="message">The error message that explains the reason for the exception.</param>
  2227. <param name="innerExceptions">The exceptions that are the cause of the current exception.</param>
  2228. <exception cref="T:System.ArgumentNullException">The <paramref name="innerExceptions"/> argument
  2229. is null.</exception>
  2230. <exception cref="T:System.ArgumentException">An element of <paramref name="innerExceptions"/> is
  2231. null.</exception>
  2232. </member>
  2233. <member name="M:System.AggregateException.#ctor(System.String,System.Exception[])">
  2234. <summary>
  2235. Initializes a new instance of the <see cref="T:System.AggregateException"/> class with a specified error
  2236. message and references to the inner exceptions that are the cause of this exception.
  2237. </summary>
  2238. <param name="message">The error message that explains the reason for the exception.</param>
  2239. <param name="innerExceptions">The exceptions that are the cause of the current exception.</param>
  2240. <exception cref="T:System.ArgumentNullException">The <paramref name="innerExceptions"/> argument
  2241. is null.</exception>
  2242. <exception cref="T:System.ArgumentException">An element of <paramref name="innerExceptions"/> is
  2243. null.</exception>
  2244. </member>
  2245. <member name="M:System.AggregateException.#ctor(System.String,System.Collections.Generic.IList{System.Exception})">
  2246. <summary>
  2247. Allocates a new aggregate exception with the specified message and list of inner exceptions.
  2248. </summary>
  2249. <param name="message">The error message that explains the reason for the exception.</param>
  2250. <param name="innerExceptions">The exceptions that are the cause of the current exception.</param>
  2251. <exception cref="T:System.ArgumentNullException">The <paramref name="innerExceptions"/> argument
  2252. is null.</exception>
  2253. <exception cref="T:System.ArgumentException">An element of <paramref name="innerExceptions"/> is
  2254. null.</exception>
  2255. </member>
  2256. <member name="M:System.AggregateException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
  2257. <summary>
  2258. Initializes a new instance of the <see cref="T:System.AggregateException"/> class with serialized data.
  2259. </summary>
  2260. <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds
  2261. the serialized object data about the exception being thrown.</param>
  2262. <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that
  2263. contains contextual information about the source or destination. </param>
  2264. <exception cref="T:System.ArgumentNullException">The <paramref name="info"/> argument is null.</exception>
  2265. <exception cref="T:System.Runtime.Serialization.SerializationException">The exception could not be deserialized correctly.</exception>
  2266. </member>
  2267. <member name="M:System.AggregateException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
  2268. <summary>
  2269. Sets the <see cref="T:System.Runtime.Serialization.SerializationInfo"/> with information about
  2270. the exception.
  2271. </summary>
  2272. <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds
  2273. the serialized object data about the exception being thrown.</param>
  2274. <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that
  2275. contains contextual information about the source or destination. </param>
  2276. <exception cref="T:System.ArgumentNullException">The <paramref name="info"/> argument is null.</exception>
  2277. </member>
  2278. <member name="M:System.AggregateException.GetBaseException">
  2279. <summary>
  2280. Returns the <see cref="T:System.AggregateException"/> that is the root cause of this exception.
  2281. </summary>
  2282. </member>
  2283. <member name="M:System.AggregateException.Handle(System.Func{System.Exception,System.Boolean})">
  2284. <summary>
  2285. Invokes a handler on each <see cref="T:System.Exception"/> contained by this <see cref="T:System.AggregateException"/>.
  2286. </summary>
  2287. <param name="predicate">The predicate to execute for each exception. The predicate accepts as an
  2288. argument the <see cref="T:System.Exception"/> to be processed and returns a Boolean to indicate
  2289. whether the exception was handled.</param>
  2290. <remarks>
  2291. Each invocation of the <paramref name="predicate"/> returns true or false to indicate whether the
  2292. <see cref="T:System.Exception"/> was handled. After all invocations, if any exceptions went
  2293. unhandled, all unhandled exceptions will be put into a new <see cref="T:System.AggregateException"/>
  2294. which will be thrown. Otherwise, the <see cref="M:System.AggregateException.Handle(System.Func{System.Exception,System.Boolean})"/> method simply returns. If any
  2295. invocations of the <paramref name="predicate"/> throws an exception, it will halt the processing
  2296. of any more exceptions and immediately propagate the thrown exception as-is.
  2297. </remarks>
  2298. <exception cref="T:System.AggregateException">An exception contained by this <see cref="T:System.AggregateException"/> was not handled.</exception>
  2299. <exception cref="T:System.ArgumentNullException">The <paramref name="predicate"/> argument is
  2300. null.</exception>
  2301. </member>
  2302. <member name="M:System.AggregateException.Flatten">
  2303. <summary>
  2304. Flattens an <see cref="T:System.AggregateException"/> instances into a single, new instance.
  2305. </summary>
  2306. <returns>A new, flattened <see cref="T:System.AggregateException"/>.</returns>
  2307. <remarks>
  2308. If any inner exceptions are themselves instances of
  2309. <see cref="T:System.AggregateException"/>, this method will recursively flatten all of them. The
  2310. inner exceptions returned in the new <see cref="T:System.AggregateException"/>
  2311. will be the union of all of the the inner exceptions from exception tree rooted at the provided
  2312. <see cref="T:System.AggregateException"/> instance.
  2313. </remarks>
  2314. </member>
  2315. <member name="M:System.AggregateException.ToString">
  2316. <summary>
  2317. Creates and returns a string representation of the current <see cref="T:System.AggregateException"/>.
  2318. </summary>
  2319. <returns>A string representation of the current exception.</returns>
  2320. </member>
  2321. <member name="P:System.AggregateException.InnerExceptions">
  2322. <summary>
  2323. Gets a read-only collection of the <see cref="T:System.Exception"/> instances that caused the
  2324. current exception.
  2325. </summary>
  2326. </member>
  2327. <member name="T:System.Func_`6">
  2328. <summary>
  2329. Encapsulates a method that has five parameters and returns a value of the type specified by the TResult parameter.
  2330. </summary>
  2331. </member>
  2332. <member name="T:System.Threading.CancellationToken">
  2333. <summary>
  2334. Propogates notification that operations should be canceled.
  2335. </summary>
  2336. <remarks>
  2337. <para>
  2338. A <see cref="T:System.Threading.CancellationToken"/> may be created directly in an unchangeable canceled or non-canceled state
  2339. using the CancellationToken's constructors. However, to have a CancellationToken that can change
  2340. from a non-canceled to a canceled state,
  2341. <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> must be used.
  2342. CancellationTokenSource exposes the associated CancellationToken that may be canceled by the source through its
  2343. <see cref="P:System.Threading.CancellationTokenSource.Token">Token</see> property.
  2344. </para>
  2345. <para>
  2346. Once canceled, a token may not transition to a non-canceled state, and a token whose
  2347. <see cref="P:System.Threading.CancellationToken.CanBeCanceled"/> is false will never change to one that can be canceled.
  2348. </para>
  2349. <para>
  2350. All members of this struct are thread-safe and may be used concurrently from multiple threads.
  2351. </para>
  2352. </remarks>
  2353. </member>
  2354. <member name="M:System.Threading.CancellationToken.#ctor(System.Threading.CancellationTokenSource)">
  2355. <summary>
  2356. Internal constructor only a CancellationTokenSource should create a CancellationToken
  2357. </summary>
  2358. </member>
  2359. <member name="M:System.Threading.CancellationToken.#ctor(System.Boolean)">
  2360. <summary>
  2361. Initializes the <see cref="T:System.Threading.CancellationToken">CancellationToken</see>.
  2362. </summary>
  2363. <param name="canceled">
  2364. The canceled state for the token.
  2365. </param>
  2366. <remarks>
  2367. Tokens created with this constructor will remain in the canceled state specified
  2368. by the <paramref name="canceled"/> parameter. If <paramref name="canceled"/> is false,
  2369. both <see cref="P:System.Threading.CancellationToken.CanBeCanceled"/> and <see cref="P:System.Threading.CancellationToken.IsCancellationRequested"/> will be false.
  2370. If <paramref name="canceled"/> is true,
  2371. both <see cref="P:System.Threading.CancellationToken.CanBeCanceled"/> and <see cref="P:System.Threading.CancellationToken.IsCancellationRequested"/> will be true.
  2372. </remarks>
  2373. </member>
  2374. <member name="M:System.Threading.CancellationToken.Register(System.Action)">
  2375. <summary>
  2376. Registers a delegate that will be called when this <see cref="T:System.Threading.CancellationToken">CancellationToken</see> is canceled.
  2377. </summary>
  2378. <remarks>
  2379. <para>
  2380. If this token is already in the canceled state, the
  2381. delegate will be run immediately and synchronously. Any exception the delegate generates will be
  2382. propogated out of this method call.
  2383. </para>
  2384. <para>
  2385. The current <see cref="T:System.Threading.ExecutionContext">ExecutionContext</see>, if one exists, will be captured
  2386. along with the delegate and will be used when executing it.
  2387. </para>
  2388. </remarks>
  2389. <param name="callback">The delegate to be executed when the <see cref="T:System.Threading.CancellationToken">CancellationToken</see> is canceled.</param>
  2390. <returns>The <see cref="T:System.Threading.CancellationTokenRegistration"/> instance that can
  2391. be used to deregister the callback.</returns>
  2392. <exception cref="T:System.ArgumentNullException"><paramref name="callback"/> is null.</exception>
  2393. <exception cref="T:System.ObjectDisposedException">The associated <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
  2394. </member>
  2395. <member name="M:System.Threading.CancellationToken.Register(System.Action,System.Boolean)">
  2396. <summary>
  2397. Registers a delegate that will be called when this
  2398. <see cref="T:System.Threading.CancellationToken">CancellationToken</see> is canceled.
  2399. </summary>
  2400. <remarks>
  2401. <para>
  2402. If this token is already in the canceled state, the
  2403. delegate will be run immediately and synchronously. Any exception the delegate generates will be
  2404. propogated out of this method call.
  2405. </para>
  2406. <para>
  2407. The current <see cref="T:System.Threading.ExecutionContext">ExecutionContext</see>, if one exists, will be captured
  2408. along with the delegate and will be used when executing it.
  2409. </para>
  2410. </remarks>
  2411. <param name="callback">The delegate to be executed when the <see cref="T:System.Threading.CancellationToken">CancellationToken</see> is canceled.</param>
  2412. <param name="useSynchronizationContext">A Boolean value that indicates whether to capture
  2413. the current <see cref="T:System.Threading.SynchronizationContext">SynchronizationContext</see> and use it
  2414. when invoking the <paramref name="callback"/>.</param>
  2415. <returns>The <see cref="T:System.Threading.CancellationTokenRegistration"/> instance that can
  2416. be used to deregister the callback.</returns>
  2417. <exception cref="T:System.ArgumentNullException"><paramref name="callback"/> is null.</exception>
  2418. <exception cref="T:System.ObjectDisposedException">The associated <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
  2419. </member>
  2420. <member name="M:System.Threading.CancellationToken.Register(System.Action{System.Object},System.Object)">
  2421. <summary>
  2422. Registers a delegate that will be called when this
  2423. <see cref="T:System.Threading.CancellationToken">CancellationToken</see> is canceled.
  2424. </summary>
  2425. <remarks>
  2426. <para>
  2427. If this token is already in the canceled state, the
  2428. delegate will be run immediately and synchronously. Any exception the delegate generates will be
  2429. propogated out of this method call.
  2430. </para>
  2431. <para>
  2432. The current <see cref="T:System.Threading.ExecutionContext">ExecutionContext</see>, if one exists, will be captured
  2433. along with the delegate and will be used when executing it.
  2434. </para>
  2435. </remarks>
  2436. <param name="callback">The delegate to be executed when the <see cref="T:System.Threading.CancellationToken">CancellationToken</see> is canceled.</param>
  2437. <param name="state">The state to pass to the <paramref name="callback"/> when the delegate is invoked. This may be null.</param>
  2438. <returns>The <see cref="T:System.Threading.CancellationTokenRegistration"/> instance that can
  2439. be used to deregister the callback.</returns>
  2440. <exception cref="T:System.ArgumentNullException"><paramref name="callback"/> is null.</exception>
  2441. <exception cref="T:System.ObjectDisposedException">The associated <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
  2442. </member>
  2443. <member name="M:System.Threading.CancellationToken.Register(System.Action{System.Object},System.Object,System.Boolean)">
  2444. <summary>
  2445. Registers a delegate that will be called when this
  2446. <see cref="T:System.Threading.CancellationToken">CancellationToken</see> is canceled.
  2447. </summary>
  2448. <remarks>
  2449. <para>
  2450. If this token is already in the canceled state, the
  2451. delegate will be run immediately and synchronously. Any exception the delegate generates will be
  2452. propogated out of this method call.
  2453. </para>
  2454. <para>
  2455. The current <see cref="T:System.Threading.ExecutionContext">ExecutionContext</see>, if one exists,
  2456. will be captured along with the delegate and will be used when executing it.
  2457. </para>
  2458. </remarks>
  2459. <param name="callback">The delegate to be executed when the <see cref="T:System.Threading.CancellationToken">CancellationToken</see> is canceled.</param>
  2460. <param name="state">The state to pass to the <paramref name="callback"/> when the delegate is invoked. This may be null.</param>
  2461. <param name="useSynchronizationContext">A Boolean value that indicates whether to capture
  2462. the current <see cref="T:System.Threading.SynchronizationContext">SynchronizationContext</see> and use it
  2463. when invoking the <paramref name="callback"/>.</param>
  2464. <returns>The <see cref="T:System.Threading.CancellationTokenRegistration"/> instance that can
  2465. be used to deregister the callback.</returns>
  2466. <exception cref="T:System.ArgumentNullException"><paramref name="callback"/> is null.</exception>
  2467. <exception cref="T:System.ObjectDisposedException">The associated <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
  2468. </member>
  2469. <member name="M:System.Threading.CancellationToken.Equals(System.Threading.CancellationToken)">
  2470. <summary>
  2471. Determines whether the current <see cref="T:System.Threading.CancellationToken">CancellationToken</see> instance is equal to the
  2472. specified token.
  2473. </summary>
  2474. <param name="other">The other <see cref="T:System.Threading.CancellationToken">CancellationToken</see> to which to compare this
  2475. instance.</param>
  2476. <returns>True if the instances are equal; otherwise, false. Two tokens are equal if they are associated
  2477. with the same <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> or if they were both constructed
  2478. from public CancellationToken constructors and their <see cref="P:System.Threading.CancellationToken.IsCancellationRequested"/> values are equal.</returns>
  2479. </member>
  2480. <member name="M:System.Threading.CancellationToken.Equals(System.Object)">
  2481. <summary>
  2482. Determines whether the current <see cref="T:System.Threading.CancellationToken">CancellationToken</see> instance is equal to the
  2483. specified <see cref="T:System.Object"/>.
  2484. </summary>
  2485. <param name="other">The other object to which to compare this instance.</param>
  2486. <returns>True if <paramref name="other"/> is a <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  2487. and if the two instances are equal; otherwise, false. Two tokens are equal if they are associated
  2488. with the same <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> or if they were both constructed
  2489. from public CancellationToken constructors and their <see cref="P:System.Threading.CancellationToken.IsCancellationRequested"/> values are equal.</returns>
  2490. <exception cref="T:System.ObjectDisposedException">An associated <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
  2491. </member>
  2492. <member name="M:System.Threading.CancellationToken.GetHashCode">
  2493. <summary>
  2494. Serves as a hash function for a <see cref="T:System.Threading.CancellationToken">CancellationToken</see>.
  2495. </summary>
  2496. <returns>A hash code for the current <see cref="T:System.Threading.CancellationToken">CancellationToken</see> instance.</returns>
  2497. </member>
  2498. <member name="M:System.Threading.CancellationToken.op_Equality(System.Threading.CancellationToken,System.Threading.CancellationToken)">
  2499. <summary>
  2500. Determines whether two <see cref="T:System.Threading.CancellationToken">CancellationToken</see> instances are equal.
  2501. </summary>
  2502. <param name="left">The first instance.</param>
  2503. <param name="right">The second instance.</param>
  2504. <returns>True if the instances are equal; otherwise, false.</returns>
  2505. <exception cref="T:System.ObjectDisposedException">An associated <see
  2506. cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
  2507. </member>
  2508. <member name="M:System.Threading.CancellationToken.op_Inequality(System.Threading.CancellationToken,System.Threading.CancellationToken)">
  2509. <summary>
  2510. Determines whether two <see cref="T:System.Threading.CancellationToken">CancellationToken</see> instances are not equal.
  2511. </summary>
  2512. <param name="left">The first instance.</param>
  2513. <param name="right">The second instance.</param>
  2514. <returns>True if the instances are not equal; otherwise, false.</returns>
  2515. <exception cref="T:System.ObjectDisposedException">An associated <see
  2516. cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
  2517. </member>
  2518. <member name="M:System.Threading.CancellationToken.ThrowIfCancellationRequested">
  2519. <summary>
  2520. Throws a <see cref="T:System.OperationCanceledException">OperationCanceledException</see> if
  2521. this token has had cancellation requested.
  2522. </summary>
  2523. <remarks>
  2524. This method provides functionality equivalent to:
  2525. <code>
  2526. if (token.IsCancellationRequested)
  2527. throw new OperationCanceledException(token);
  2528. </code>
  2529. </remarks>
  2530. <exception cref="T:System.OperationCanceledException">The token has had cancellation requested.</exception>
  2531. <exception cref="T:System.ObjectDisposedException">The associated <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
  2532. </member>
  2533. <member name="P:System.Threading.CancellationToken.None">
  2534. <summary>
  2535. Returns an empty CancellationToken value.
  2536. </summary>
  2537. <remarks>
  2538. The <see cref="T:System.Threading.CancellationToken"/> value returned by this property will be non-cancelable by default.
  2539. </remarks>
  2540. </member>
  2541. <member name="P:System.Threading.CancellationToken.IsCancellationRequested">
  2542. <summary>
  2543. Gets whether cancellation has been requested for this token.
  2544. </summary>
  2545. <value>Whether cancellation has been requested for this token.</value>
  2546. <remarks>
  2547. <para>
  2548. This property indicates whether cancellation has been requested for this token,
  2549. either through the token initially being construted in a canceled state, or through
  2550. calling <see cref="M:System.Threading.CancellationTokenSource.Cancel">Cancel</see>
  2551. on the token's associated <see cref="T:System.Threading.CancellationTokenSource"/>.
  2552. </para>
  2553. <para>
  2554. If this property is true, it only guarantees that cancellation has been requested.
  2555. It does not guarantee that every registered handler
  2556. has finished executing, nor that cancellation requests have finished propagating
  2557. to all registered handlers. Additional synchronization may be required,
  2558. particularly in situations where related objects are being canceled concurrently.
  2559. </para>
  2560. </remarks>
  2561. </member>
  2562. <member name="P:System.Threading.CancellationToken.CanBeCanceled">
  2563. <summary>
  2564. Gets whether this token is capable of being in the canceled state.
  2565. </summary>
  2566. <remarks>
  2567. If CanBeCanceled returns false, it is guaranteed that the token will never transition
  2568. into a canceled state, meaning that <see cref="P:System.Threading.CancellationToken.IsCancellationRequested"/> will never
  2569. return true.
  2570. </remarks>
  2571. </member>
  2572. <member name="P:System.Threading.CancellationToken.WaitHandle">
  2573. <summary>
  2574. Gets a <see cref="T:System.Threading.WaitHandle"/> that is signaled when the token is canceled.</summary>
  2575. <remarks>
  2576. Accessing this property causes a <see cref="T:System.Threading.WaitHandle">WaitHandle</see>
  2577. to be instantiated. It is preferable to only use this property when necessary, and to then
  2578. dispose the associated <see cref="T:System.Threading.CancellationTokenSource"/> instance at the earliest opportunity (disposing
  2579. the source will dispose of this allocated handle). The handle should not be closed or disposed directly.
  2580. </remarks>
  2581. <exception cref="T:System.ObjectDisposedException">The associated <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> has been disposed.</exception>
  2582. </member>
  2583. <member name="T:System.Threading.CancellationTokenRegistration">
  2584. <summary>
  2585. Represents a callback delegate that has been registered with a <see cref="T:System.Threading.CancellationToken">CancellationToken</see>.
  2586. </summary>
  2587. <remarks>
  2588. To unregister a callback, dispose the corresponding Registration instance.
  2589. </remarks>
  2590. </member>
  2591. <member name="M:System.Threading.CancellationTokenRegistration.TryDeregister">
  2592. <summary>
  2593. Attempts to deregister the item. If it's already being run, this may fail.
  2594. Entails a full memory fence.
  2595. </summary>
  2596. <returns>True if the callback was found and deregistered, false otherwise.</returns>
  2597. </member>
  2598. <member name="M:System.Threading.CancellationTokenRegistration.Dispose">
  2599. <summary>
  2600. Disposes of the registration and unregisters the target callback from the associated
  2601. <see cref="T:System.Threading.CancellationToken">CancellationToken</see>.
  2602. If the target callback is currently executing this method will wait until it completes, except
  2603. in the degenerate cases where a callback method deregisters itself.
  2604. </summary>
  2605. </member>
  2606. <member name="M:System.Threading.CancellationTokenRegistration.op_Equality(System.Threading.CancellationTokenRegistration,System.Threading.CancellationTokenRegistration)">
  2607. <summary>
  2608. Determines whether two <see
  2609. cref="T:System.Threading.CancellationTokenRegistration">CancellationTokenRegistration</see>
  2610. instances are equal.
  2611. </summary>
  2612. <param name="left">The first instance.</param>
  2613. <param name="right">The second instance.</param>
  2614. <returns>True if the instances are equal; otherwise, false.</returns>
  2615. </member>
  2616. <member name="M:System.Threading.CancellationTokenRegistration.op_Inequality(System.Threading.CancellationTokenRegistration,System.Threading.CancellationTokenRegistration)">
  2617. <summary>
  2618. Determines whether two <see cref="T:System.Threading.CancellationTokenRegistration">CancellationTokenRegistration</see> instances are not equal.
  2619. </summary>
  2620. <param name="left">The first instance.</param>
  2621. <param name="right">The second instance.</param>
  2622. <returns>True if the instances are not equal; otherwise, false.</returns>
  2623. </member>
  2624. <member name="M:System.Threading.CancellationTokenRegistration.Equals(System.Object)">
  2625. <summary>
  2626. Determines whether the current <see cref="T:System.Threading.CancellationTokenRegistration">CancellationTokenRegistration</see> instance is equal to the
  2627. specified <see cref="T:System.Object"/>.
  2628. </summary>
  2629. <param name="obj">The other object to which to compare this instance.</param>
  2630. <returns>True, if both this and <paramref name="obj"/> are equal. False, otherwise.
  2631. Two <see cref="T:System.Threading.CancellationTokenRegistration">CancellationTokenRegistration</see> instances are equal if
  2632. they both refer to the output of a single call to the same Register method of a
  2633. <see cref="T:System.Threading.CancellationToken">CancellationToken</see>.
  2634. </returns>
  2635. </member>
  2636. <member name="M:System.Threading.CancellationTokenRegistration.Equals(System.Threading.CancellationTokenRegistration)">
  2637. <summary>
  2638. Determines whether the current <see cref="T:System.Threading.CancellationToken">CancellationToken</see> instance is equal to the
  2639. specified <see cref="T:System.Object"/>.
  2640. </summary>
  2641. <param name="other">The other <see cref="T:System.Threading.CancellationTokenRegistration">CancellationTokenRegistration</see> to which to compare this instance.</param>
  2642. <returns>True, if both this and <paramref name="other"/> are equal. False, otherwise.
  2643. Two <see cref="T:System.Threading.CancellationTokenRegistration">CancellationTokenRegistration</see> instances are equal if
  2644. they both refer to the output of a single call to the same Register method of a
  2645. <see cref="T:System.Threading.CancellationToken">CancellationToken</see>.
  2646. </returns>
  2647. </member>
  2648. <member name="M:System.Threading.CancellationTokenRegistration.GetHashCode">
  2649. <summary>
  2650. Serves as a hash function for a <see cref="T:System.Threading.CancellationTokenRegistration">CancellationTokenRegistration.</see>.
  2651. </summary>
  2652. <returns>A hash code for the current <see cref="T:System.Threading.CancellationTokenRegistration">CancellationTokenRegistration</see> instance.</returns>
  2653. </member>
  2654. <member name="T:System.Threading.CancellationTokenSource">
  2655. <summary>
  2656. Signals to a <see cref="T:System.Threading.CancellationToken"/> that it should be canceled.
  2657. </summary>
  2658. <remarks>
  2659. <para>
  2660. <see cref="T:System.Threading.CancellationTokenSource"/> is used to instantiate a <see cref="T:System.Threading.CancellationToken"/>
  2661. (via the source's <see cref="P:System.Threading.CancellationTokenSource.Token">Token</see> property)
  2662. that can be handed to operations that wish to be notified of cancellation or that can be used to
  2663. register asynchronous operations for cancellation. That token may have cancellation requested by
  2664. calling to the source's <see cref="M:System.Threading.CancellationTokenSource.Cancel">Cancel</see>
  2665. method.
  2666. </para>
  2667. <para>
  2668. All members of this class, except <see cref="M:System.Threading.CancellationTokenSource.Dispose">Dispose</see>, are thread-safe and may be used
  2669. concurrently from multiple threads.
  2670. </para>
  2671. </remarks>
  2672. </member>
  2673. <member name="F:System.Threading.CancellationTokenSource.m_threadIDExecutingCallbacks">
  2674. The ID of the thread currently executing the main body of CTS.Cancel()
  2675. this helps us to know if a call to ctr.Dispose() is running 'within' a cancellation callback.
  2676. This is updated as we move between the main thread calling cts.Cancel() and any syncContexts that are used to
  2677. actually run the callbacks.
  2678. </member>
  2679. <member name="M:System.Threading.CancellationTokenSource.#ctor">
  2680. <summary>
  2681. Initializes the <see cref="T:System.Threading.CancellationTokenSource"/>.
  2682. </summary>
  2683. </member>
  2684. <member name="M:System.Threading.CancellationTokenSource.Cancel">
  2685. <summary>
  2686. Communicates a request for cancellation.
  2687. </summary>
  2688. <remarks>
  2689. <para>
  2690. The associated <see cref="T:System.Threading.CancellationToken"/> will be
  2691. notified of the cancellation and will transition to a state where
  2692. <see cref="P:System.Threading.CancellationToken.IsCancellationRequested">IsCancellationRequested</see> returns true.
  2693. Any callbacks or cancelable operations
  2694. registered with the <see cref="T:System.Threading.CancellationToken"/> will be executed.
  2695. </para>
  2696. <para>
  2697. Cancelable operations and callbacks registered with the token should not throw exceptions.
  2698. However, this overload of Cancel will aggregate any exceptions thrown into a <see cref="T:System.AggregateException"/>,
  2699. such that one callback throwing an exception will not prevent other registered callbacks from being executed.
  2700. </para>
  2701. <para>
  2702. The <see cref="T:System.Threading.ExecutionContext"/> that was captured when each callback was registered
  2703. will be reestablished when the callback is invoked.
  2704. </para>
  2705. </remarks>
  2706. <exception cref="T:System.AggregateException">An aggregate exception containing all the exceptions thrown
  2707. by the registered callbacks on the associated <see cref="T:System.Threading.CancellationToken"/>.</exception>
  2708. <exception cref="T:System.ObjectDisposedException">This <see cref="T:System.Threading.CancellationTokenSource"/> has been disposed.</exception>
  2709. </member>
  2710. <member name="M:System.Threading.CancellationTokenSource.Cancel(System.Boolean)">
  2711. <summary>
  2712. Communicates a request for cancellation.
  2713. </summary>
  2714. <remarks>
  2715. <para>
  2716. The associated <see cref="T:System.Threading.CancellationToken"/> will be
  2717. notified of the cancellation and will transition to a state where
  2718. <see cref="P:System.Threading.CancellationToken.IsCancellationRequested">IsCancellationRequested</see> returns true.
  2719. Any callbacks or cancelable operations
  2720. registered with the <see cref="T:System.Threading.CancellationToken"/> will be executed.
  2721. </para>
  2722. <para>
  2723. Cancelable operations and callbacks registered with the token should not throw exceptions.
  2724. If <paramref name="throwOnFirstException"/> is true, an exception will immediately propagate out of the
  2725. call to Cancel, preventing the remaining callbacks and cancelable operations from being processed.
  2726. If <paramref name="throwOnFirstException"/> is false, this overload will aggregate any
  2727. exceptions thrown into a <see cref="T:System.AggregateException"/>,
  2728. such that one callback throwing an exception will not prevent other registered callbacks from being executed.
  2729. </para>
  2730. <para>
  2731. The <see cref="T:System.Threading.ExecutionContext"/> that was captured when each callback was registered
  2732. will be reestablished when the callback is invoked.
  2733. </para>
  2734. </remarks>
  2735. <param name="throwOnFirstException">Specifies whether exceptions should immediately propagate.</param>
  2736. <exception cref="T:System.AggregateException">An aggregate exception containing all the exceptions thrown
  2737. by the registered callbacks on the associated <see cref="T:System.Threading.CancellationToken"/>.</exception>
  2738. <exception cref="T:System.ObjectDisposedException">This <see cref="T:System.Threading.CancellationTokenSource"/> has been disposed.</exception>
  2739. </member>
  2740. <member name="M:System.Threading.CancellationTokenSource.Dispose">
  2741. <summary>
  2742. Releases the resources used by this <see cref="T:System.Threading.CancellationTokenSource" />.
  2743. </summary>
  2744. <remarks>
  2745. This method is not thread-safe for any other concurrent calls.
  2746. </remarks>
  2747. </member>
  2748. <member name="M:System.Threading.CancellationTokenSource.ThrowIfDisposed">
  2749. <summary>
  2750. Throws an exception if the source has been disposed.
  2751. </summary>
  2752. </member>
  2753. <member name="M:System.Threading.CancellationTokenSource.InternalGetStaticSource(System.Boolean)">
  2754. <summary>
  2755. InternalGetStaticSource()
  2756. </summary>
  2757. <param name="set">Whether the source should be set.</param>
  2758. <returns>A static source to be shared among multiple tokens.</returns>
  2759. </member>
  2760. <member name="M:System.Threading.CancellationTokenSource.InternalRegister(System.Action{System.Object},System.Object,System.Threading.SynchronizationContext,System.Threading.ExecutionContext)">
  2761. <summary>
  2762. Registers a callback object. If cancellation has already occurred, the
  2763. callback will have been run by the time this method returns.
  2764. </summary>
  2765. </member>
  2766. <member name="M:System.Threading.CancellationTokenSource.NotifyCancellation(System.Boolean)">
  2767. <summary>
  2768. </summary>
  2769. </member>
  2770. <member name="M:System.Threading.CancellationTokenSource.ExecuteCallbackHandlers(System.Boolean)">
  2771. <summary>
  2772. Invoke the Canceled event.
  2773. </summary>
  2774. <remarks>
  2775. The handlers are invoked synchronously in LIFO order.
  2776. </remarks>
  2777. </member>
  2778. <member name="M:System.Threading.CancellationTokenSource.CreateLinkedTokenSource(System.Threading.CancellationToken,System.Threading.CancellationToken)">
  2779. <summary>
  2780. Creates a <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> that will be in the canceled state
  2781. when any of the source tokens are in the canceled state.
  2782. </summary>
  2783. <param name="token1">The first <see cref="T:System.Threading.CancellationToken">CancellationToken</see> to observe.</param>
  2784. <param name="token2">The second <see cref="T:System.Threading.CancellationToken">CancellationToken</see> to observe.</param>
  2785. <returns>A <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> that is linked
  2786. to the source tokens.</returns>
  2787. <exception cref="T:System.ObjectDisposedException">A <see
  2788. cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> associated with
  2789. one of the source tokens has been disposed.</exception>
  2790. </member>
  2791. <member name="M:System.Threading.CancellationTokenSource.CreateLinkedTokenSource(System.Threading.CancellationToken[])">
  2792. <summary>
  2793. Creates a <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> that will be in the canceled state
  2794. when any of the source tokens are in the canceled state.
  2795. </summary>
  2796. <param name="tokens">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see> instances to observe.</param>
  2797. <returns>A <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> that is linked
  2798. to the source tokens.</returns>
  2799. <exception cref="T:System.ArgumentNullException"><paramref name="tokens"/> is null.</exception>
  2800. <exception cref="T:System.ObjectDisposedException">A <see
  2801. cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> associated with
  2802. one of the source tokens has been disposed.</exception>
  2803. </member>
  2804. <member name="P:System.Threading.CancellationTokenSource.IsCancellationRequested">
  2805. <summary>
  2806. Gets whether cancellation has been requested for this <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see>.
  2807. </summary>
  2808. <value>Whether cancellation has been requested for this <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see>.</value>
  2809. <remarks>
  2810. <para>
  2811. This property indicates whether cancellation has been requested for this token source, such as
  2812. due to a call to its
  2813. <see cref="M:System.Threading.CancellationTokenSource.Cancel">Cancel</see> method.
  2814. </para>
  2815. <para>
  2816. If this property returns true, it only guarantees that cancellation has been requested. It does not
  2817. guarantee that every handler registered with the corresponding token has finished executing, nor
  2818. that cancellation requests have finished propagating to all registered handlers. Additional
  2819. synchronization may be required, particularly in situations where related objects are being
  2820. canceled concurrently.
  2821. </para>
  2822. </remarks>
  2823. </member>
  2824. <member name="P:System.Threading.CancellationTokenSource.IsCancellationCompleted">
  2825. <summary>
  2826. A simple helper to determine whether cancellation has finished.
  2827. </summary>
  2828. </member>
  2829. <member name="P:System.Threading.CancellationTokenSource.IsDisposed">
  2830. <summary>
  2831. A simple helper to determine whether disposal has occured.
  2832. </summary>
  2833. </member>
  2834. <member name="P:System.Threading.CancellationTokenSource.ThreadIDExecutingCallbacks">
  2835. <summary>
  2836. The ID of the thread that is running callbacks.
  2837. </summary>
  2838. </member>
  2839. <member name="P:System.Threading.CancellationTokenSource.Token">
  2840. <summary>
  2841. Gets the <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  2842. associated with this <see cref="T:System.Threading.CancellationTokenSource"/>.
  2843. </summary>
  2844. <value>The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  2845. associated with this <see cref="T:System.Threading.CancellationTokenSource"/>.</value>
  2846. <exception cref="T:System.ObjectDisposedException">The token source has been
  2847. disposed.</exception>
  2848. </member>
  2849. <member name="P:System.Threading.CancellationTokenSource.CanBeCanceled">
  2850. <summary>
  2851. </summary>
  2852. </member>
  2853. <member name="P:System.Threading.CancellationTokenSource.WaitHandle">
  2854. <summary>
  2855. </summary>
  2856. </member>
  2857. <member name="P:System.Threading.CancellationTokenSource.ExecutingCallback">
  2858. <summary>
  2859. The currently executing callback
  2860. </summary>
  2861. </member>
  2862. <member name="T:System.Threading.CancellationCallbackInfo">
  2863. <summary>
  2864. A helper class for collating the various bits of information required to execute
  2865. cancellation callbacks.
  2866. </summary>
  2867. </member>
  2868. <member name="M:System.Threading.CancellationCallbackInfo.ExecuteCallback">
  2869. <summary>
  2870. InternalExecuteCallbackSynchronously_GeneralPath
  2871. This will be called on the target synchronization context, however, we still need to restore the required execution context
  2872. </summary>
  2873. </member>
  2874. <member name="T:System.Threading.SparselyPopulatedArray`1">
  2875. <summary>
  2876. A sparsely populated array. Elements can be sparse and some null, but this allows for
  2877. lock-free additions and growth, and also for constant time removal (by nulling out).
  2878. </summary>
  2879. <typeparam name="T">The kind of elements contained within.</typeparam>
  2880. </member>
  2881. <member name="M:System.Threading.SparselyPopulatedArray`1.#ctor(System.Int32)">
  2882. <summary>
  2883. Allocates a new array with the given initial size.
  2884. </summary>
  2885. <param name="initialSize">How many array slots to pre-allocate.</param>
  2886. </member>
  2887. <member name="M:System.Threading.SparselyPopulatedArray`1.Add(`0)">
  2888. <summary>
  2889. Adds an element in the first available slot, beginning the search from the tail-to-head.
  2890. If no slots are available, the array is grown. The method doesn't return until successful.
  2891. </summary>
  2892. <param name="element">The element to add.</param>
  2893. <returns>Information about where the add happened, to enable O(1) deregistration.</returns>
  2894. </member>
  2895. <member name="P:System.Threading.SparselyPopulatedArray`1.Head">
  2896. <summary>
  2897. The head of the doubly linked list.
  2898. </summary>
  2899. </member>
  2900. <member name="P:System.Threading.SparselyPopulatedArray`1.Tail">
  2901. <summary>
  2902. The tail of the doubly linked list.
  2903. </summary>
  2904. </member>
  2905. <member name="T:System.Threading.SparselyPopulatedArrayAddInfo`1">
  2906. <summary>
  2907. A struct to hold a link to the exact spot in an array an element was inserted, enabling
  2908. constant time removal later on.
  2909. </summary>
  2910. </member>
  2911. <member name="T:System.Threading.SparselyPopulatedArrayFragment`1">
  2912. <summary>
  2913. A fragment of a sparsely populated array, doubly linked.
  2914. </summary>
  2915. <typeparam name="T">The kind of elements contained within.</typeparam>
  2916. </member>
  2917. <member name="T:System.Threading.CountdownEvent">
  2918. <summary>
  2919. Represents a synchronization primitive that is signaled when its count reaches zero.
  2920. </summary>
  2921. <remarks>
  2922. All public and protected members of <see cref="T:System.Threading.CountdownEvent"/> are thread-safe and may be used
  2923. concurrently from multiple threads, with the exception of Dispose, which
  2924. must only be used when all other operations on the <see cref="T:System.Threading.CountdownEvent"/> have
  2925. completed, and Reset, which should only be used when no other threads are
  2926. accessing the event.
  2927. </remarks>
  2928. </member>
  2929. <member name="M:System.Threading.CountdownEvent.#ctor(System.Int32)">
  2930. <summary>
  2931. Initializes a new instance of <see cref="T:System.Threading.CountdownEvent"/> class with the
  2932. specified count.
  2933. </summary>
  2934. <param name="initialCount">The number of signals required to set the <see
  2935. cref="T:System.Threading.CountdownEvent"/>.</param>
  2936. <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="initialCount"/> is less
  2937. than 0.</exception>
  2938. </member>
  2939. <member name="M:System.Threading.CountdownEvent.Dispose">
  2940. <summary>
  2941. Releases all resources used by the current instance of <see cref="T:System.Threading.CountdownEvent"/>.
  2942. </summary>
  2943. <remarks>
  2944. Unlike most of the members of <see cref="T:System.Threading.CountdownEvent"/>, <see cref="M:System.Threading.CountdownEvent.Dispose"/> is not
  2945. thread-safe and may not be used concurrently with other members of this instance.
  2946. </remarks>
  2947. </member>
  2948. <member name="M:System.Threading.CountdownEvent.Dispose(System.Boolean)">
  2949. <summary>
  2950. When overridden in a derived class, releases the unmanaged resources used by the
  2951. <see cref="T:System.Threading.CountdownEvent"/>, and optionally releases the managed resources.
  2952. </summary>
  2953. <param name="disposing">true to release both managed and unmanaged resources; false to release
  2954. only unmanaged resources.</param>
  2955. <remarks>
  2956. Unlike most of the members of <see cref="T:System.Threading.CountdownEvent"/>, <see cref="M:System.Threading.CountdownEvent.Dispose"/> is not
  2957. thread-safe and may not be used concurrently with other members of this instance.
  2958. </remarks>
  2959. </member>
  2960. <member name="M:System.Threading.CountdownEvent.Signal">
  2961. <summary>
  2962. Registers a signal with the <see cref="T:System.Threading.CountdownEvent"/>, decrementing its
  2963. count.
  2964. </summary>
  2965. <returns>true if the signal caused the count to reach zero and the event was set; otherwise,
  2966. false.</returns>
  2967. <exception cref="T:System.InvalidOperationException">The current instance is already set.
  2968. </exception>
  2969. <exception cref="T:System.ObjectDisposedException">The current instance has already been
  2970. disposed.</exception>
  2971. </member>
  2972. <member name="M:System.Threading.CountdownEvent.Signal(System.Int32)">
  2973. <summary>
  2974. Registers multiple signals with the <see cref="T:System.Threading.CountdownEvent"/>,
  2975. decrementing its count by the specified amount.
  2976. </summary>
  2977. <param name="signalCount">The number of signals to register.</param>
  2978. <returns>true if the signals caused the count to reach zero and the event was set; otherwise,
  2979. false.</returns>
  2980. <exception cref="T:System.InvalidOperationException">
  2981. The current instance is already set. -or- Or <paramref name="signalCount"/> is greater than <see cref="P:System.Threading.CountdownEvent.CurrentCount"/>.
  2982. </exception>
  2983. <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="signalCount"/> is less
  2984. than 1.</exception>
  2985. <exception cref="T:System.ObjectDisposedException">The current instance has already been
  2986. disposed.</exception>
  2987. </member>
  2988. <member name="M:System.Threading.CountdownEvent.AddCount">
  2989. <summary>
  2990. Increments the <see cref="T:System.Threading.CountdownEvent"/>'s current count by one.
  2991. </summary>
  2992. <exception cref="T:System.InvalidOperationException">The current instance is already
  2993. set.</exception>
  2994. <exception cref="T:System.InvalidOperationException"><see cref="P:System.Threading.CountdownEvent.CurrentCount"/> is equal to <see cref="T:System.Int32.MaxValue"/>.</exception>
  2995. <exception cref="T:System.ObjectDisposedException">
  2996. The current instance has already been disposed.
  2997. </exception>
  2998. </member>
  2999. <member name="M:System.Threading.CountdownEvent.TryAddCount">
  3000. <summary>
  3001. Attempts to increment the <see cref="T:System.Threading.CountdownEvent"/>'s current count by one.
  3002. </summary>
  3003. <returns>true if the increment succeeded; otherwise, false. If <see cref="P:System.Threading.CountdownEvent.CurrentCount"/> is
  3004. already at zero. this will return false.</returns>
  3005. <exception cref="T:System.InvalidOperationException"><see cref="P:System.Threading.CountdownEvent.CurrentCount"/> is equal to <see cref="T:System.Int32.MaxValue"/>.</exception>
  3006. <exception cref="T:System.ObjectDisposedException">The current instance has already been
  3007. disposed.</exception>
  3008. </member>
  3009. <member name="M:System.Threading.CountdownEvent.AddCount(System.Int32)">
  3010. <summary>
  3011. Increments the <see cref="T:System.Threading.CountdownEvent"/>'s current count by a specified
  3012. value.
  3013. </summary>
  3014. <param name="signalCount">The value by which to increase <see cref="P:System.Threading.CountdownEvent.CurrentCount"/>.</param>
  3015. <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="signalCount"/> is less than
  3016. 0.</exception>
  3017. <exception cref="T:System.InvalidOperationException">The current instance is already
  3018. set.</exception>
  3019. <exception cref="T:System.InvalidOperationException"><see cref="P:System.Threading.CountdownEvent.CurrentCount"/> is equal to <see cref="T:System.Int32.MaxValue"/>.</exception>
  3020. <exception cref="T:System.ObjectDisposedException">The current instance has already been
  3021. disposed.</exception>
  3022. </member>
  3023. <member name="M:System.Threading.CountdownEvent.TryAddCount(System.Int32)">
  3024. <summary>
  3025. Attempts to increment the <see cref="T:System.Threading.CountdownEvent"/>'s current count by a
  3026. specified value.
  3027. </summary>
  3028. <param name="signalCount">The value by which to increase <see cref="P:System.Threading.CountdownEvent.CurrentCount"/>.</param>
  3029. <returns>true if the increment succeeded; otherwise, false. If <see cref="P:System.Threading.CountdownEvent.CurrentCount"/> is
  3030. already at zero this will return false.</returns>
  3031. <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="signalCount"/> is less
  3032. than 0.</exception>
  3033. <exception cref="T:System.InvalidOperationException">The current instance is already
  3034. set.</exception>
  3035. <exception cref="T:System.InvalidOperationException"><see cref="P:System.Threading.CountdownEvent.CurrentCount"/> is equal to <see cref="T:System.Int32.MaxValue"/>.</exception>
  3036. <exception cref="T:System.ObjectDisposedException">The current instance has already been
  3037. disposed.</exception>
  3038. </member>
  3039. <member name="M:System.Threading.CountdownEvent.Reset">
  3040. <summary>
  3041. Resets the <see cref="P:System.Threading.CountdownEvent.CurrentCount"/> to the value of <see cref="P:System.Threading.CountdownEvent.InitialCount"/>.
  3042. </summary>
  3043. <remarks>
  3044. Unlike most of the members of <see cref="T:System.Threading.CountdownEvent"/>, Reset is not
  3045. thread-safe and may not be used concurrently with other members of this instance.
  3046. </remarks>
  3047. <exception cref="T:System.ObjectDisposedException">The current instance has already been
  3048. disposed..</exception>
  3049. </member>
  3050. <member name="M:System.Threading.CountdownEvent.Reset(System.Int32)">
  3051. <summary>
  3052. Resets the <see cref="P:System.Threading.CountdownEvent.CurrentCount"/> to a specified value.
  3053. </summary>
  3054. <param name="count">The number of signals required to set the <see cref="T:System.Threading.CountdownEvent"/>.</param>
  3055. <remarks>
  3056. Unlike most of the members of <see cref="T:System.Threading.CountdownEvent"/>, Reset is not
  3057. thread-safe and may not be used concurrently with other members of this instance.
  3058. </remarks>
  3059. <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="count"/> is
  3060. less than 0.</exception>
  3061. <exception cref="T:System.ObjectDisposedException">The current instance has alread been disposed.</exception>
  3062. </member>
  3063. <member name="M:System.Threading.CountdownEvent.Wait">
  3064. <summary>
  3065. Blocks the current thread until the <see cref="T:System.Threading.CountdownEvent"/> is set.
  3066. </summary>
  3067. <remarks>
  3068. The caller of this method blocks indefinitely until the current instance is set. The caller will
  3069. return immediately if the event is currently in a set state.
  3070. </remarks>
  3071. <exception cref="T:System.ObjectDisposedException">The current instance has already been
  3072. disposed.</exception>
  3073. </member>
  3074. <member name="M:System.Threading.CountdownEvent.Wait(System.Threading.CancellationToken)">
  3075. <summary>
  3076. Blocks the current thread until the <see cref="T:System.Threading.CountdownEvent"/> is set, while
  3077. observing a <see cref="T:System.Threading.CancellationToken"/>.
  3078. </summary>
  3079. <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to
  3080. observe.</param>
  3081. <remarks>
  3082. The caller of this method blocks indefinitely until the current instance is set. The caller will
  3083. return immediately if the event is currently in a set state. If the
  3084. <see cref="T:System.Threading.CancellationToken">CancellationToken</see> being observed
  3085. is canceled during the wait operation, an <see cref="T:System.OperationCanceledException"/>
  3086. will be thrown.
  3087. </remarks>
  3088. <exception cref="T:System.OperationCanceledException"><paramref name="cancellationToken"/> has been
  3089. canceled.</exception>
  3090. <exception cref="T:System.ObjectDisposedException">The current instance has already been
  3091. disposed.</exception>
  3092. </member>
  3093. <member name="M:System.Threading.CountdownEvent.Wait(System.TimeSpan)">
  3094. <summary>
  3095. Blocks the current thread until the <see cref="T:System.Threading.CountdownEvent"/> is set, using a
  3096. <see cref="T:System.TimeSpan"/> to measure the time interval.
  3097. </summary>
  3098. <param name="timeout">A <see cref="T:System.TimeSpan"/> that represents the number of
  3099. milliseconds to wait, or a <see cref="T:System.TimeSpan"/> that represents -1 milliseconds to
  3100. wait indefinitely.</param>
  3101. <returns>true if the <see cref="T:System.Threading.CountdownEvent"/> was set; otherwise,
  3102. false.</returns>
  3103. <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="timeout"/> is a negative
  3104. number other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater
  3105. than <see cref="F:System.Int32.MaxValue"/>.</exception>
  3106. <exception cref="T:System.ObjectDisposedException">The current instance has already been
  3107. disposed.</exception>
  3108. </member>
  3109. <member name="M:System.Threading.CountdownEvent.Wait(System.TimeSpan,System.Threading.CancellationToken)">
  3110. <summary>
  3111. Blocks the current thread until the <see cref="T:System.Threading.CountdownEvent"/> is set, using
  3112. a <see cref="T:System.TimeSpan"/> to measure the time interval, while observing a
  3113. <see cref="T:System.Threading.CancellationToken"/>.
  3114. </summary>
  3115. <param name="timeout">A <see cref="T:System.TimeSpan"/> that represents the number of
  3116. milliseconds to wait, or a <see cref="T:System.TimeSpan"/> that represents -1 milliseconds to
  3117. wait indefinitely.</param>
  3118. <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to
  3119. observe.</param>
  3120. <returns>true if the <see cref="T:System.Threading.CountdownEvent"/> was set; otherwise,
  3121. false.</returns>
  3122. <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="timeout"/> is a negative
  3123. number other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater
  3124. than <see cref="F:System.Int32.MaxValue"/>.</exception>
  3125. <exception cref="T:System.ObjectDisposedException">The current instance has already been
  3126. disposed.</exception>
  3127. <exception cref="T:System.OperationCanceledException"><paramref name="cancellationToken"/> has
  3128. been canceled.</exception>
  3129. </member>
  3130. <member name="M:System.Threading.CountdownEvent.Wait(System.Int32)">
  3131. <summary>
  3132. Blocks the current thread until the <see cref="T:System.Threading.CountdownEvent"/> is set, using a
  3133. 32-bit signed integer to measure the time interval.
  3134. </summary>
  3135. <param name="millisecondsTimeout">The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/>(-1) to wait indefinitely.</param>
  3136. <returns>true if the <see cref="T:System.Threading.CountdownEvent"/> was set; otherwise,
  3137. false.</returns>
  3138. <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="millisecondsTimeout"/> is a
  3139. negative number other than -1, which represents an infinite time-out.</exception>
  3140. <exception cref="T:System.ObjectDisposedException">The current instance has already been
  3141. disposed.</exception>
  3142. </member>
  3143. <member name="M:System.Threading.CountdownEvent.Wait(System.Int32,System.Threading.CancellationToken)">
  3144. <summary>
  3145. Blocks the current thread until the <see cref="T:System.Threading.CountdownEvent"/> is set, using a
  3146. 32-bit signed integer to measure the time interval, while observing a
  3147. <see cref="T:System.Threading.CancellationToken"/>.
  3148. </summary>
  3149. <param name="millisecondsTimeout">The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/>(-1) to wait indefinitely.</param>
  3150. <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to
  3151. observe.</param>
  3152. <returns>true if the <see cref="T:System.Threading.CountdownEvent"/> was set; otherwise,
  3153. false.</returns>
  3154. <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="millisecondsTimeout"/> is a
  3155. negative number other than -1, which represents an infinite time-out.</exception>
  3156. <exception cref="T:System.ObjectDisposedException">The current instance has already been
  3157. disposed.</exception>
  3158. <exception cref="T:System.OperationCanceledException"><paramref name="cancellationToken"/> has
  3159. been canceled.</exception>
  3160. </member>
  3161. <member name="M:System.Threading.CountdownEvent.ThrowIfDisposed">
  3162. <summary>
  3163. Throws an exception if the latch has been disposed.
  3164. </summary>
  3165. </member>
  3166. <member name="P:System.Threading.CountdownEvent.CurrentCount">
  3167. <summary>
  3168. Gets the number of remaining signals required to set the event.
  3169. </summary>
  3170. <value>
  3171. The number of remaining signals required to set the event.
  3172. </value>
  3173. </member>
  3174. <member name="P:System.Threading.CountdownEvent.InitialCount">
  3175. <summary>
  3176. Gets the numbers of signals initially required to set the event.
  3177. </summary>
  3178. <value>
  3179. The number of signals initially required to set the event.
  3180. </value>
  3181. </member>
  3182. <member name="P:System.Threading.CountdownEvent.IsSet">
  3183. <summary>
  3184. Determines whether the event is set.
  3185. </summary>
  3186. <value>true if the event is set; otherwise, false.</value>
  3187. </member>
  3188. <member name="P:System.Threading.CountdownEvent.WaitHandle">
  3189. <summary>
  3190. Gets a <see cref="T:System.Threading.WaitHandle"/> that is used to wait for the event to be set.
  3191. </summary>
  3192. <value>A <see cref="T:System.Threading.WaitHandle"/> that is used to wait for the event to be set.</value>
  3193. <exception cref="T:System.ObjectDisposedException">The current instance has already been disposed.</exception>
  3194. <remarks>
  3195. <see cref="P:System.Threading.CountdownEvent.WaitHandle"/> should only be used if it's needed for integration with code bases
  3196. that rely on having a WaitHandle. If all that's needed is to wait for the <see cref="T:System.Threading.CountdownEvent"/>
  3197. to be set, the <see cref="M:System.Threading.CountdownEvent.Wait"/> method should be preferred.
  3198. </remarks>
  3199. </member>
  3200. <member name="T:System.Threading.ManualResetEventSlim">
  3201. <summary>
  3202. Provides a slimmed down version of <see cref="T:System.Threading.ManualResetEvent"/>.
  3203. </summary>
  3204. <remarks>
  3205. All public and protected members of <see cref="T:System.Threading.ManualResetEventSlim"/> are thread-safe and may be used
  3206. concurrently from multiple threads, with the exception of Dispose, which
  3207. must only be used when all other operations on the <see cref="T:System.Threading.ManualResetEventSlim"/> have
  3208. completed, and Reset, which should only be used when no other threads are
  3209. accessing the event.
  3210. </remarks>
  3211. </member>
  3212. <member name="M:System.Threading.ManualResetEventSlim.#ctor">
  3213. <summary>
  3214. Initializes a new instance of the <see cref="T:System.Threading.ManualResetEventSlim"/>
  3215. class with an initial state of nonsignaled.
  3216. </summary>
  3217. </member>
  3218. <member name="M:System.Threading.ManualResetEventSlim.#ctor(System.Boolean)">
  3219. <summary>
  3220. Initializes a new instance of the <see cref="T:System.Threading.ManualResetEventSlim"/>
  3221. class with a Boolen value indicating whether to set the intial state to signaled.
  3222. </summary>
  3223. <param name="initialState">true to set the initial state signaled; false to set the initial state
  3224. to nonsignaled.</param>
  3225. </member>
  3226. <member name="M:System.Threading.ManualResetEventSlim.#ctor(System.Boolean,System.Int32)">
  3227. <summary>
  3228. Initializes a new instance of the <see cref="T:System.Threading.ManualResetEventSlim"/>
  3229. class with a Boolen value indicating whether to set the intial state to signaled and a specified
  3230. spin count.
  3231. </summary>
  3232. <param name="initialState">true to set the initial state to signaled; false to set the initial state
  3233. to nonsignaled.</param>
  3234. <param name="spinCount">The number of spin waits that will occur before falling back to a true
  3235. wait.</param>
  3236. <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="spinCount"/> is less than
  3237. 0 or greater than the maximum allowed value.</exception>
  3238. </member>
  3239. <member name="M:System.Threading.ManualResetEventSlim.Initialize(System.Boolean,System.Int32)">
  3240. <summary>
  3241. Initializes the internal state of the event.
  3242. </summary>
  3243. <param name="initialState">Whether the event is set initially or not.</param>
  3244. <param name="spinCount">The spin count that decides when the event will block.</param>
  3245. </member>
  3246. <member name="M:System.Threading.ManualResetEventSlim.EnsureLockObjectCreated">
  3247. <summary>
  3248. Helper to ensure the lock object is created before first use.
  3249. </summary>
  3250. </member>
  3251. <member name="M:System.Threading.ManualResetEventSlim.LazyInitializeEvent">
  3252. <summary>
  3253. This method lazily initializes the event object. It uses CAS to guarantee that
  3254. many threads racing to call this at once don't result in more than one event
  3255. being stored and used. The event will be signaled or unsignaled depending on
  3256. the state of the thin-event itself, with synchronization taken into account.
  3257. </summary>
  3258. <returns>True if a new event was created and stored, false otherwise.</returns>
  3259. </member>
  3260. <member name="M:System.Threading.ManualResetEventSlim.Set">
  3261. <summary>
  3262. Sets the state of the event to signaled, which allows one or more threads waiting on the event to
  3263. proceed.
  3264. </summary>
  3265. </member>
  3266. <member name="M:System.Threading.ManualResetEventSlim.Set(System.Boolean)">
  3267. <summary>
  3268. Private helper to actually perform the Set.
  3269. </summary>
  3270. <param name="duringCancellation">Indicates whether we are calling Set() during cancellation.</param>
  3271. <exception cref="T:System.OperationCanceledException">The object has been canceled.</exception>
  3272. </member>
  3273. <member name="M:System.Threading.ManualResetEventSlim.Reset">
  3274. <summary>
  3275. Sets the state of the event to nonsignaled, which causes threads to block.
  3276. </summary>
  3277. <remarks>
  3278. Unlike most of the members of <see cref="T:System.Threading.ManualResetEventSlim"/>, <see cref="M:System.Threading.ManualResetEventSlim.Reset"/> is not
  3279. thread-safe and may not be used concurrently with other members of this instance.
  3280. </remarks>
  3281. </member>
  3282. <member name="M:System.Threading.ManualResetEventSlim.Wait">
  3283. <summary>
  3284. Blocks the current thread until the current <see cref="T:System.Threading.ManualResetEventSlim"/> is set.
  3285. </summary>
  3286. <exception cref="T:System.InvalidOperationException">
  3287. The maximum number of waiters has been exceeded.
  3288. </exception>
  3289. <remarks>
  3290. The caller of this method blocks indefinitely until the current instance is set. The caller will
  3291. return immediately if the event is currently in a set state.
  3292. </remarks>
  3293. </member>
  3294. <member name="M:System.Threading.ManualResetEventSlim.Wait(System.Threading.CancellationToken)">
  3295. <summary>
  3296. Blocks the current thread until the current <see cref="T:System.Threading.ManualResetEventSlim"/> receives a signal,
  3297. while observing a <see cref="T:System.Threading.CancellationToken"/>.
  3298. </summary>
  3299. <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to
  3300. observe.</param>
  3301. <exception cref="T:System.InvalidOperationException">
  3302. The maximum number of waiters has been exceeded.
  3303. </exception>
  3304. <exception cref="T:System.OperationCanceledExcepton"><paramref name="cancellationToken"/> was
  3305. canceled.</exception>
  3306. <remarks>
  3307. The caller of this method blocks indefinitely until the current instance is set. The caller will
  3308. return immediately if the event is currently in a set state.
  3309. </remarks>
  3310. </member>
  3311. <member name="M:System.Threading.ManualResetEventSlim.Wait(System.TimeSpan)">
  3312. <summary>
  3313. Blocks the current thread until the current <see cref="T:System.Threading.ManualResetEventSlim"/> is set, using a
  3314. <see cref="T:System.TimeSpan"/> to measure the time interval.
  3315. </summary>
  3316. <param name="timeout">A <see cref="T:System.TimeSpan"/> that represents the number of milliseconds
  3317. to wait, or a <see cref="T:System.TimeSpan"/> that represents -1 milliseconds to wait indefinitely.
  3318. </param>
  3319. <returns>true if the <see cref="T:System.Threading.ManualResetEventSlim"/> was set; otherwise,
  3320. false.</returns>
  3321. <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="timeout"/> is a negative
  3322. number other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater
  3323. than <see cref="F:System.Int32.MaxValue"/>.</exception>
  3324. <exception cref="T:System.InvalidOperationException">
  3325. The maximum number of waiters has been exceeded.
  3326. </exception>
  3327. </member>
  3328. <member name="M:System.Threading.ManualResetEventSlim.Wait(System.TimeSpan,System.Threading.CancellationToken)">
  3329. <summary>
  3330. Blocks the current thread until the current <see cref="T:System.Threading.ManualResetEventSlim"/> is set, using a
  3331. <see cref="T:System.TimeSpan"/> to measure the time interval, while observing a <see cref="T:System.Threading.CancellationToken"/>.
  3332. </summary>
  3333. <param name="timeout">A <see cref="T:System.TimeSpan"/> that represents the number of milliseconds
  3334. to wait, or a <see cref="T:System.TimeSpan"/> that represents -1 milliseconds to wait indefinitely.
  3335. </param>
  3336. <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to
  3337. observe.</param>
  3338. <returns>true if the <see cref="T:System.Threading.ManualResetEventSlim"/> was set; otherwise,
  3339. false.</returns>
  3340. <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="timeout"/> is a negative
  3341. number other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater
  3342. than <see cref="F:System.Int32.MaxValue"/>.</exception>
  3343. <exception cref="T:System.Threading.OperationCanceledException"><paramref name="cancellationToken"/> was canceled.</exception>
  3344. <exception cref="T:System.InvalidOperationException">
  3345. The maximum number of waiters has been exceeded.
  3346. </exception>
  3347. </member>
  3348. <member name="M:System.Threading.ManualResetEventSlim.Wait(System.Int32)">
  3349. <summary>
  3350. Blocks the current thread until the current <see cref="T:System.Threading.ManualResetEventSlim"/> is set, using a
  3351. 32-bit signed integer to measure the time interval.
  3352. </summary>
  3353. <param name="millisecondsTimeout">The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/>(-1) to wait indefinitely.</param>
  3354. <returns>true if the <see cref="T:System.Threading.ManualResetEventSlim"/> was set; otherwise,
  3355. false.</returns>
  3356. <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="millisecondsTimeout"/> is a
  3357. negative number other than -1, which represents an infinite time-out.</exception>
  3358. <exception cref="T:System.InvalidOperationException">
  3359. The maximum number of waiters has been exceeded.
  3360. </exception>
  3361. </member>
  3362. <member name="M:System.Threading.ManualResetEventSlim.Wait(System.Int32,System.Threading.CancellationToken)">
  3363. <summary>
  3364. Blocks the current thread until the current <see cref="T:System.Threading.ManualResetEventSlim"/> is set, using a
  3365. 32-bit signed integer to measure the time interval, while observing a <see cref="T:System.Threading.CancellationToken"/>.
  3366. </summary>
  3367. <param name="millisecondsTimeout">The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/>(-1) to wait indefinitely.</param>
  3368. <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to
  3369. observe.</param>
  3370. <returns>true if the <see cref="T:System.Threading.ManualResetEventSlim"/> was set; otherwise,
  3371. false.</returns>
  3372. <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="millisecondsTimeout"/> is a
  3373. negative number other than -1, which represents an infinite time-out.</exception>
  3374. <exception cref="T:System.InvalidOperationException">
  3375. The maximum number of waiters has been exceeded.
  3376. </exception>
  3377. <exception cref="T:System.Threading.OperationCanceledException"><paramref name="cancellationToken"/> was canceled.</exception>
  3378. </member>
  3379. <member name="M:System.Threading.ManualResetEventSlim.Dispose">
  3380. <summary>
  3381. Releases all resources used by the current instance of <see cref="T:System.Threading.ManualResetEventSlim"/>.
  3382. </summary>
  3383. <remarks>
  3384. Unlike most of the members of <see cref="T:System.Threading.ManualResetEventSlim"/>, <see cref="M:System.Threading.ManualResetEventSlim.Dispose"/> is not
  3385. thread-safe and may not be used concurrently with other members of this instance.
  3386. </remarks>
  3387. </member>
  3388. <member name="M:System.Threading.ManualResetEventSlim.Dispose(System.Boolean)">
  3389. <summary>
  3390. When overridden in a derived class, releases the unmanaged resources used by the
  3391. <see cref="T:System.Threading.ManualResetEventSlim"/>, and optionally releases the managed resources.
  3392. </summary>
  3393. <param name="disposing">true to release both managed and unmanaged resources;
  3394. false to release only unmanaged resources.</param>
  3395. <remarks>
  3396. Unlike most of the members of <see cref="T:System.Threading.ManualResetEventSlim"/>, <see cref="M:System.Threading.ManualResetEventSlim.Dispose(System.Boolean)"/> is not
  3397. thread-safe and may not be used concurrently with other members of this instance.
  3398. </remarks>
  3399. </member>
  3400. <member name="M:System.Threading.ManualResetEventSlim.ThrowIfDisposed">
  3401. <summary>
  3402. Throw ObjectDisposedException if the MRES is disposed
  3403. </summary>
  3404. </member>
  3405. <member name="F:System.Threading.ManualResetEventSlim.s_cancellationTokenCallback">
  3406. <summary>
  3407. Private helper method to wake up waiters when a cancellationToken gets canceled.
  3408. </summary>
  3409. </member>
  3410. <member name="M:System.Threading.ManualResetEventSlim.UpdateStateAtomically(System.Int32,System.Int32)">
  3411. <summary>
  3412. Private helper method for updating parts of a bit-string state value.
  3413. Mainly called from the IsSet and Waiters properties setters
  3414. </summary>
  3415. <remarks>
  3416. Note: the parameter types must be int as CompareExchange cannot take a Uint
  3417. </remarks>
  3418. <param name="newBits">The new value</param>
  3419. <param name="updateBitsMask">The mask used to set the bits</param>
  3420. </member>
  3421. <member name="M:System.Threading.ManualResetEventSlim.ExtractStatePortionAndShiftRight(System.Int32,System.Int32,System.Int32)">
  3422. <summary>
  3423. Private helper method - performs Mask and shift, particular helpful to extract a field from a packed word.
  3424. eg ExtractStatePortionAndShiftRight(0x12345678, 0xFF000000, 24) => 0x12, ie extracting the top 8-bits as a simple integer
  3425. ?? is there a common place to put this rather than being private to MRES?
  3426. </summary>
  3427. <param name="state"></param>
  3428. <param name="mask"></param>
  3429. <param name="rightBitShiftCount"></param>
  3430. <returns></returns>
  3431. </member>
  3432. <member name="M:System.Threading.ManualResetEventSlim.ExtractStatePortion(System.Int32,System.Int32)">
  3433. <summary>
  3434. Performs a Mask operation, but does not perform the shift.
  3435. This is acceptable for boolean values for which the shift is unnecessary
  3436. eg (val &amp; Mask) != 0 is an appropriate way to extract a boolean rather than using
  3437. ((val &amp; Mask) &gt;&gt; shiftAmount) == 1
  3438. ?? is there a common place to put this rather than being private to MRES?
  3439. </summary>
  3440. <param name="state"></param>
  3441. <param name="mask"></param>
  3442. </member>
  3443. <member name="M:System.Threading.ManualResetEventSlim.UpdateTimeOut(System.Int64,System.Int32)">
  3444. <summary>
  3445. Helper function to measure and update the wait time
  3446. </summary>
  3447. <param name="startTimeTicks"> The first time (in Ticks) observed when the wait started.</param>
  3448. <param name="originalWaitMillisecondsTimeout">The orginal wait timeoutout in milliseconds.</param>
  3449. <returns>The new wait time in milliseconds, -1 if the time expired, -2 if overflow in counters
  3450. has occurred.</returns>
  3451. </member>
  3452. <member name="P:System.Threading.ManualResetEventSlim.WaitHandle">
  3453. <summary>
  3454. Gets the underlying <see cref="T:System.Threading.WaitHandle"/> object for this <see cref="T:System.Threading.ManualResetEventSlim"/>.
  3455. </summary>
  3456. <value>The underlying <see cref="T:System.Threading.WaitHandle"/> event object fore this <see cref="T:System.Threading.ManualResetEventSlim"/>.</value>
  3457. <remarks>
  3458. Accessing this property forces initialization of an underlying event object if one hasn't
  3459. already been created. To simply wait on this <see cref="T:System.Threading.ManualResetEventSlim"/>,
  3460. the public Wait methods should be preferred.
  3461. </remarks>
  3462. </member>
  3463. <member name="P:System.Threading.ManualResetEventSlim.IsSet">
  3464. <summary>
  3465. Gets whether the event is set.
  3466. </summary>
  3467. <value>true if the event has is set; otherwise, false.</value>
  3468. </member>
  3469. <member name="P:System.Threading.ManualResetEventSlim.SpinCount">
  3470. <summary>
  3471. Gets the number of spin waits that will be occur before falling back to a true wait.
  3472. </summary>
  3473. </member>
  3474. <member name="P:System.Threading.ManualResetEventSlim.Waiters">
  3475. <summary>
  3476. How many threads are waiting.
  3477. </summary>
  3478. </member>
  3479. <member name="T:System.Lazy`1">
  3480. <summary>
  3481. Provides support for lazy initialization.
  3482. </summary>
  3483. <typeparam name="T">Specifies the type of element being laziliy initialized.</typeparam>
  3484. <remarks>
  3485. <para>
  3486. By default, all public and protected members of <see cref="T:System.Lazy`1"/> are thread-safe and may be used
  3487. concurrently from multiple threads. These thread-safety guarantees may be removed optionally and per instance
  3488. using parameters to the type's constructors.
  3489. </para>
  3490. </remarks>
  3491. </member>
  3492. <member name="M:System.Lazy`1.#ctor">
  3493. <summary>
  3494. Initializes a new instance of the <see cref="T:System.Threading.Lazy{T}"/> class that
  3495. uses <typeparamref name="T"/>'s default constructor for lazy initialization.
  3496. </summary>
  3497. <remarks>
  3498. An instance created with this constructor may be used concurrently from multiple threads.
  3499. </remarks>
  3500. </member>
  3501. <member name="M:System.Lazy`1.#ctor(System.Func{`0})">
  3502. <summary>
  3503. Initializes a new instance of the <see cref="T:System.Threading.Lazy{T}"/> class that uses a
  3504. specified initialization function.
  3505. </summary>
  3506. <param name="valueFactory">
  3507. The <see cref="T:System.Func{T}"/> invoked to produce the lazily-initialized value when it is
  3508. needed.
  3509. </param>
  3510. <exception cref="T:System.ArgumentNullException"><paramref name="valueFactory"/> is a null
  3511. reference (Nothing in Visual Basic).</exception>
  3512. <remarks>
  3513. An instance created with this constructor may be used concurrently from multiple threads.
  3514. </remarks>
  3515. </member>
  3516. <member name="M:System.Lazy`1.#ctor(System.Boolean)">
  3517. <summary>
  3518. Initializes a new instance of the <see cref="T:System.Threading.Lazy{T}"/>
  3519. class that uses <typeparamref name="T"/>'s default constructor and a specified thread-safety mode.
  3520. </summary>
  3521. <param name="isThreadSafe">true if this instance should be usable by multiple threads concurrently; false if the instance will only be used by one thread at a time.
  3522. </param>
  3523. </member>
  3524. <member name="M:System.Lazy`1.#ctor(System.Threading.LazyThreadSafetyMode)">
  3525. <summary>
  3526. Initializes a new instance of the <see cref="T:System.Threading.Lazy{T}"/>
  3527. class that uses <typeparamref name="T"/>'s default constructor and a specified thread-safety mode.
  3528. </summary>
  3529. <param name="mode">The lazy thread-safety mode mode</param>
  3530. <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="mode"/> mode contains an invalid valuee</exception>
  3531. </member>
  3532. <member name="M:System.Lazy`1.#ctor(System.Func{`0},System.Boolean)">
  3533. <summary>
  3534. Initializes a new instance of the <see cref="T:System.Threading.Lazy{T}"/> class
  3535. that uses a specified initialization function and a specified thread-safety mode.
  3536. </summary>
  3537. <param name="valueFactory">
  3538. The <see cref="T:System.Func{T}"/> invoked to produce the lazily-initialized value when it is needed.
  3539. </param>
  3540. <param name="isThreadSafe">true if this instance should be usable by multiple threads concurrently; false if the instance will only be used by one thread at a time.
  3541. </param>
  3542. <exception cref="T:System.ArgumentNullException"><paramref name="valueFactory"/> is
  3543. a null reference (Nothing in Visual Basic).</exception>
  3544. </member>
  3545. <member name="M:System.Lazy`1.#ctor(System.Func{`0},System.Threading.LazyThreadSafetyMode)">
  3546. <summary>
  3547. Initializes a new instance of the <see cref="T:System.Threading.Lazy{T}"/> class
  3548. that uses a specified initialization function and a specified thread-safety mode.
  3549. </summary>
  3550. <param name="valueFactory">
  3551. The <see cref="T:System.Func{T}"/> invoked to produce the lazily-initialized value when it is needed.
  3552. </param>
  3553. <param name="mode">The lazy thread-safety mode.</param>
  3554. <exception cref="T:System.ArgumentNullException"><paramref name="valueFactory"/> is
  3555. a null reference (Nothing in Visual Basic).</exception>
  3556. <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="mode"/> mode contains an invalid value.</exception>
  3557. </member>
  3558. <member name="M:System.Lazy`1.GetObjectFromMode(System.Threading.LazyThreadSafetyMode)">
  3559. <summary>
  3560. Static helper function that returns an object based on the given mode. it also throws an exception if the mode is invalid
  3561. </summary>
  3562. </member>
  3563. <member name="M:System.Lazy`1.OnSerializing(System.Runtime.Serialization.StreamingContext)">
  3564. <summary>Forces initialization during serialization.</summary>
  3565. <param name="context">The StreamingContext for the serialization operation.</param>
  3566. </member>
  3567. <member name="M:System.Lazy`1.ToString">
  3568. <summary>Creates and returns a string representation of this instance.</summary>
  3569. <returns>The result of calling <see cref="M:System.Object.ToString"/> on the <see cref="P:System.Lazy`1.Value"/>.</returns>
  3570. <exception cref="T:System.NullReferenceException">
  3571. The <see cref="P:System.Lazy`1.Value"/> is null.
  3572. </exception>
  3573. </member>
  3574. <member name="M:System.Lazy`1.LazyInitValue">
  3575. <summary>
  3576. local helper method to initialize the value
  3577. </summary>
  3578. <returns>The inititialized T value</returns>
  3579. </member>
  3580. <member name="M:System.Lazy`1.CreateValue">
  3581. <summary>Creates an instance of T using m_valueFactory in case its not null or use reflection to create a new T()</summary>
  3582. <returns>An instance of Boxed.</returns>
  3583. </member>
  3584. <member name="P:System.Lazy`1.ValueForDebugDisplay">
  3585. <summary>Gets the value of the Lazy&lt;T&gt; for debugging display purposes.</summary>
  3586. </member>
  3587. <member name="P:System.Lazy`1.Mode">
  3588. <summary>
  3589. Gets a value indicating whether this instance may be used concurrently from multiple threads.
  3590. </summary>
  3591. </member>
  3592. <member name="P:System.Lazy`1.IsValueFaulted">
  3593. <summary>
  3594. Gets whether the value creation is faulted or not
  3595. </summary>
  3596. </member>
  3597. <member name="P:System.Lazy`1.IsValueCreated">
  3598. <summary>Gets a value indicating whether the <see cref="T:System.Lazy{T}"/> has been initialized.
  3599. </summary>
  3600. <value>true if the <see cref="T:System.Lazy{T}"/> instance has been initialized;
  3601. otherwise, false.</value>
  3602. <remarks>
  3603. The initialization of a <see cref="T:System.Lazy{T}"/> instance may result in either
  3604. a value being produced or an exception being thrown. If an exception goes unhandled during initialization,
  3605. <see cref="P:System.Lazy`1.IsValueCreated"/> will return false.
  3606. </remarks>
  3607. </member>
  3608. <!-- Badly formed XML comment ignored for member "P:System.Lazy`1.Value" -->
  3609. <member name="T:System.Lazy`1.Boxed">
  3610. <summary>
  3611. wrapper class to box the initialized value, this is mainly created to avoid boxing/unboxing the value each time the value is called in case T is
  3612. a value type
  3613. </summary>
  3614. </member>
  3615. <member name="T:System.Lazy`1.LazyInternalExceptionHolder">
  3616. <summary>
  3617. Wrapper class to wrap the excpetion thrown by the value factory
  3618. </summary>
  3619. </member>
  3620. <member name="T:System.System_LazyDebugView`1">
  3621. <summary>A debugger view of the Lazy&lt;T&gt; to surface additional debugging properties and
  3622. to ensure that the Lazy&lt;T&gt; does not become initialized if it was not already.</summary>
  3623. </member>
  3624. <member name="M:System.System_LazyDebugView`1.#ctor(System.Lazy{`0})">
  3625. <summary>Constructs a new debugger view object for the provided Lazy object.</summary>
  3626. <param name="lazy">A Lazy object to browse in the debugger.</param>
  3627. </member>
  3628. <member name="P:System.System_LazyDebugView`1.IsValueCreated">
  3629. <summary>Returns whether the Lazy object is initialized or not.</summary>
  3630. </member>
  3631. <member name="P:System.System_LazyDebugView`1.Value">
  3632. <summary>Returns the value of the Lazy object.</summary>
  3633. </member>
  3634. <member name="P:System.System_LazyDebugView`1.Mode">
  3635. <summary>Returns the execution mode of the Lazy object</summary>
  3636. </member>
  3637. <member name="P:System.System_LazyDebugView`1.IsValueFaulted">
  3638. <summary>Returns the execution mode of the Lazy object</summary>
  3639. </member>
  3640. <member name="T:System.Threading.LazyThreadSafetyMode">
  3641. <summary>
  3642. Specifies how a <see cref="T:System.Threading.Lazy{T}"/> instance should synchronize access among multiple threads.
  3643. </summary>
  3644. </member>
  3645. <member name="F:System.Threading.LazyThreadSafetyMode.None">
  3646. <summary>
  3647. This mode makes no guarantees around the thread-safety of the <see cref="T:System.Threading.Lazy{T}"/> instance. If used from multiple threads, the behavior of the <see cref="T:System.Threading.Lazy{T}"/> is undefined.
  3648. This mode should be used when a <see cref="T:System.Threading.Lazy{T}"/> is guaranteed to never be initialized from more than one thread simultaneously and high performance is crucial.
  3649. If valueFactory throws an exception when the <see cref="T:System.Threading.Lazy{T}"/> is initialized, the exception will be cached and returned on subsequent accesses to Value. Also, if valueFactory recursively
  3650. accesses Value on this <see cref="T:System.Threading.Lazy{T}"/> instance, a <see cref="T:System.InvalidOperationException"/> will be thrown.
  3651. </summary>
  3652. </member>
  3653. <member name="F:System.Threading.LazyThreadSafetyMode.PublicationOnly">
  3654. <summary>
  3655. When multiple threads attempt to simultaneously initialize a <see cref="T:System.Threading.Lazy{T}"/> instance, this mode allows each thread to execute the
  3656. valueFactory but only the first thread to complete initialization will be allowed to set the final value of the <see cref="T:System.Threading.Lazy{T}"/>.
  3657. Once initialized successfully, any future calls to Value will return the cached result. If valueFactory throws an exception on any thread, that exception will be
  3658. propagated out of Value. If any thread executes valueFactory without throwing an exception and, therefore, successfully sets the value, that value will be returned on
  3659. subsequent accesses to Value from any thread. If no thread succeeds in setting the value, IsValueCreated will remain false and subsequent accesses to Value will result in
  3660. the valueFactory delegate re-executing. Also, if valueFactory recursively accesses Value on this <see cref="T:System.Threading.Lazy{T}"/> instance, an exception will NOT be thrown.
  3661. </summary>
  3662. </member>
  3663. <member name="F:System.Threading.LazyThreadSafetyMode.ExecutionAndPublication">
  3664. <summary>
  3665. This mode uses locks to ensure that only a single thread can initialize a <see cref="T:System.Threading.Lazy{T}"/> instance in a thread-safe manner. In general,
  3666. taken if this mode is used in conjunction with a <see cref="T:System.Threading.Lazy{T}"/> valueFactory delegate that uses locks internally, a deadlock can occur if not
  3667. handled carefully. If valueFactory throws an exception when the<see cref="T:System.Threading.Lazy{T}"/> is initialized, the exception will be cached and returned on
  3668. subsequent accesses to Value. Also, if valueFactory recursively accesses Value on this <see cref="T:System.Threading.Lazy{T}"/> instance, a <see cref="T:System.InvalidOperationException"/> will be thrown.
  3669. </summary>
  3670. </member>
  3671. <member name="T:System.Threading.LazyInitializer">
  3672. <summary>
  3673. Provides lazy initialization routines.
  3674. </summary>
  3675. <remarks>
  3676. These routines avoid needing to allocate a dedicated, lazy-initialization instance, instead using
  3677. references to ensure targets have been initialized as they are accessed.
  3678. </remarks>
  3679. </member>
  3680. <member name="M:System.Threading.LazyInitializer.EnsureInitialized``1(``0@)">
  3681. <summary>
  3682. Initializes a target reference type with the type's default constructor if the target has not
  3683. already been initialized.
  3684. </summary>
  3685. <typeparam name="T">The refence type of the reference to be initialized.</typeparam>
  3686. <param name="target">A reference of type <typeparamref name="T"/> to initialize if it has not
  3687. already been initialized.</param>
  3688. <returns>The initialized reference of type <typeparamref name="T"/>.</returns>
  3689. <exception cref="T:System.MissingMemberException">Type <typeparamref name="T"/> does not have a default
  3690. constructor.</exception>
  3691. <exception cref="T:System.MemberAccessException">
  3692. Permissions to access the constructor of type <typeparamref name="T"/> were missing.
  3693. </exception>
  3694. <remarks>
  3695. <para>
  3696. This method may only be used on reference types. To ensure initialization of value
  3697. types, see other overloads of EnsureInitialized.
  3698. </para>
  3699. <para>
  3700. This method may be used concurrently by multiple threads to initialize <paramref name="target"/>.
  3701. In the event that multiple threads access this method concurrently, multiple instances of <typeparamref name="T"/>
  3702. may be created, but only one will be stored into <paramref name="target"/>. In such an occurrence, this method will not dispose of the
  3703. objects that were not stored. If such objects must be disposed, it is up to the caller to determine
  3704. if an object was not used and to then dispose of the object appropriately.
  3705. </para>
  3706. </remarks>
  3707. </member>
  3708. <member name="M:System.Threading.LazyInitializer.EnsureInitialized``1(``0@,System.Func{``0})">
  3709. <summary>
  3710. Initializes a target reference type using the specified function if it has not already been
  3711. initialized.
  3712. </summary>
  3713. <typeparam name="T">The reference type of the reference to be initialized.</typeparam>
  3714. <param name="target">The reference of type <typeparamref name="T"/> to initialize if it has not
  3715. already been initialized.</param>
  3716. <param name="valueFactory">The <see cref="T:System.Func{T}"/> invoked to initialize the
  3717. reference.</param>
  3718. <returns>The initialized reference of type <typeparamref name="T"/>.</returns>
  3719. <exception cref="T:System.MissingMemberException">Type <typeparamref name="T"/> does not have a
  3720. default constructor.</exception>
  3721. <exception cref="T:System.InvalidOperationException"><paramref name="valueFactory"/> returned
  3722. null.</exception>
  3723. <remarks>
  3724. <para>
  3725. This method may only be used on reference types, and <paramref name="valueFactory"/> may
  3726. not return a null reference (Nothing in Visual Basic). To ensure initialization of value types or
  3727. to allow null reference types, see other overloads of EnsureInitialized.
  3728. </para>
  3729. <para>
  3730. This method may be used concurrently by multiple threads to initialize <paramref name="target"/>.
  3731. In the event that multiple threads access this method concurrently, multiple instances of <typeparamref name="T"/>
  3732. may be created, but only one will be stored into <paramref name="target"/>. In such an occurrence, this method will not dispose of the
  3733. objects that were not stored. If such objects must be disposed, it is up to the caller to determine
  3734. if an object was not used and to then dispose of the object appropriately.
  3735. </para>
  3736. </remarks>
  3737. </member>
  3738. <member name="M:System.Threading.LazyInitializer.EnsureInitializedCore``1(``0@,System.Func{``0})">
  3739. <summary>
  3740. Initialize the target using the given delegate (slow path).
  3741. </summary>
  3742. <typeparam name="T">The reference type of the reference to be initialized.</typeparam>
  3743. <param name="target">The variable that need to be initialized</param>
  3744. <param name="valueFactory">The delegate that will be executed to initialize the target</param>
  3745. <returns>The initialized variable</returns>
  3746. </member>
  3747. <member name="M:System.Threading.LazyInitializer.EnsureInitialized``1(``0@,System.Boolean@,System.Object@)">
  3748. <summary>
  3749. Initializes a target reference or value type with its default constructor if it has not already
  3750. been initialized.
  3751. </summary>
  3752. <typeparam name="T">The type of the reference to be initialized.</typeparam>
  3753. <param name="target">A reference or value of type <typeparamref name="T"/> to initialize if it
  3754. has not already been initialized.</param>
  3755. <param name="initialized">A reference to a boolean that determines whether the target has already
  3756. been initialized.</param>
  3757. <param name="syncLock">A reference to an object used as the mutually exclusive lock for initializing
  3758. <paramref name="target"/>.</param>
  3759. <returns>The initialized value of type <typeparamref name="T"/>.</returns>
  3760. </member>
  3761. <member name="M:System.Threading.LazyInitializer.EnsureInitialized``1(``0@,System.Boolean@,System.Object@,System.Func{``0})">
  3762. <summary>
  3763. Initializes a target reference or value type with a specified function if it has not already been
  3764. initialized.
  3765. </summary>
  3766. <typeparam name="T">The type of the reference to be initialized.</typeparam>
  3767. <param name="target">A reference or value of type <typeparamref name="T"/> to initialize if it
  3768. has not already been initialized.</param>
  3769. <param name="initialized">A reference to a boolean that determines whether the target has already
  3770. been initialized.</param>
  3771. <param name="syncLock">A reference to an object used as the mutually exclusive lock for initializing
  3772. <paramref name="target"/>.</param>
  3773. <param name="valueFactory">The <see cref="T:System.Func{T}"/> invoked to initialize the
  3774. reference or value.</param>
  3775. <returns>The initialized value of type <typeparamref name="T"/>.</returns>
  3776. </member>
  3777. <member name="M:System.Threading.LazyInitializer.EnsureInitializedCore``1(``0@,System.Boolean@,System.Object@,System.Func{``0})">
  3778. <summary>
  3779. Ensure the target is initialized and return the value (slow path). This overload permits nulls
  3780. and also works for value type targets. Uses the supplied function to create the value.
  3781. </summary>
  3782. <typeparam name="T">The type of target.</typeparam>
  3783. <param name="target">A reference to the target to be initialized.</param>
  3784. <param name="initialized">A reference to a location tracking whether the target has been initialized.</param>
  3785. <param name="syncLock">A reference to a location containing a mutual exclusive lock.</param>
  3786. <param name="valueFactory">
  3787. The <see cref="T:System.Func{T}"/> to invoke in order to produce the lazily-initialized value.
  3788. </param>
  3789. <returns>The initialized object.</returns>
  3790. </member>
  3791. <member name="T:System.Threading.ThreadLocalGlobalCounter">
  3792. <summary>
  3793. A seprate non generic class that contains a global counter for fast path instances for all Ts that has been created, and adds an upper limit for all instances
  3794. that uses the fast path, if this limit has been reached, all new instances will use the slow path
  3795. </summary>
  3796. </member>
  3797. <member name="T:System.Threading.ThreadLocal`1">
  3798. <summary>
  3799. Provides thread-local storage of data.
  3800. </summary>
  3801. <typeparam name="T">Specifies the type of data stored per-thread.</typeparam>
  3802. <remarks>
  3803. <para>
  3804. With the exception of <see cref="M:System.Threading.ThreadLocal`1.Dispose"/>, all public and protected members of
  3805. <see cref="T:System.Threading.ThreadLocal`1"/> are thread-safe and may be used
  3806. concurrently from multiple threads.
  3807. </para>
  3808. </remarks>
  3809. </member>
  3810. <member name="M:System.Threading.ThreadLocal`1.#ctor">
  3811. <summary>
  3812. Initializes the <see cref="T:System.Threading.ThreadLocal`1"/> instance.
  3813. </summary>
  3814. </member>
  3815. <member name="M:System.Threading.ThreadLocal`1.#ctor(System.Func{`0})">
  3816. <summary>
  3817. Initializes the <see cref="T:System.Threading.ThreadLocal`1"/> instance with the
  3818. specified <paramref name="valueFactory"/> function.
  3819. </summary>
  3820. <param name="valueFactory">
  3821. The <see cref="T:System.Func{T}"/> invoked to produce a lazily-initialized value when
  3822. an attempt is made to retrieve <see cref="P:System.Threading.ThreadLocal`1.Value"/> without it having been previously initialized.
  3823. </param>
  3824. <exception cref="T:System.ArgumentNullException">
  3825. <paramref name="valueFactory"/> is a null reference (Nothing in Visual Basic).
  3826. </exception>
  3827. </member>
  3828. <member name="M:System.Threading.ThreadLocal`1.Finalize">
  3829. <summary>
  3830. Releases the resources used by this <see cref="T:System.Threading.ThreadLocal{T}" /> instance.
  3831. </summary>
  3832. </member>
  3833. <member name="M:System.Threading.ThreadLocal`1.Dispose">
  3834. <summary>
  3835. Releases the resources used by this <see cref="T:System.Threading.ThreadLocal{T}" /> instance.
  3836. </summary>
  3837. <remarks>
  3838. Unlike most of the members of <see cref="T:System.Threading.ThreadLocal{T}"/>, this method is not thread-safe.
  3839. </remarks>
  3840. </member>
  3841. <member name="M:System.Threading.ThreadLocal`1.Dispose(System.Boolean)">
  3842. <summary>
  3843. Releases the resources used by this <see cref="T:System.Threading.ThreadLocal{T}"/> instance.
  3844. </summary>
  3845. <param name="disposing">
  3846. A Boolean value that indicates whether this method is being called due to a call to <see cref="M:System.Threading.ThreadLocal`1.Dispose"/>.
  3847. </param>
  3848. <remarks>
  3849. Unlike most of the members of <see cref="T:System.Threading.ThreadLocal{T}"/>, this method is not thread-safe.
  3850. </remarks>
  3851. </member>
  3852. <member name="M:System.Threading.ThreadLocal`1.FindNextTypeIndex">
  3853. <summary>
  3854. Tries to get a unique index for the current instance of type T, it first tries to get it from the pool if it is not empty, otherwise it
  3855. increments the global counter if it is still below the maximum, otherwise it fails and returns -1
  3856. </summary>
  3857. <returns>True if there is an index available, false otherwise</returns>
  3858. </member>
  3859. <member name="M:System.Threading.ThreadLocal`1.GetTypesFromIndex">
  3860. <summary>
  3861. Gets an array of types that will be used as generic parameters for the GenericHolder class
  3862. </summary>
  3863. <returns>The types array</returns>
  3864. </member>
  3865. <member name="M:System.Threading.ThreadLocal`1.ToString">
  3866. <summary>Creates and returns a string representation of this instance for the current thread.</summary>
  3867. <returns>The result of calling <see cref="M:System.Object.ToString"/> on the <see cref="P:System.Threading.ThreadLocal`1.Value"/>.</returns>
  3868. <exception cref="T:System.NullReferenceException">
  3869. The <see cref="P:System.Threading.ThreadLocal`1.Value"/> for the current thread is a null reference (Nothing in Visual Basic).
  3870. </exception>
  3871. <exception cref="T:System.InvalidOperationException">
  3872. The initialization function referenced <see cref="P:System.Threading.ThreadLocal`1.Value"/> in an improper manner.
  3873. </exception>
  3874. <exception cref="T:System.ObjectDisposedException">
  3875. The <see cref="T:System.Threading.ThreadLocal`1"/> instance has been disposed.
  3876. </exception>
  3877. <remarks>
  3878. Calling this method forces initialization for the current thread, as is the
  3879. case with accessing <see cref="P:System.Threading.ThreadLocal`1.Value"/> directly.
  3880. </remarks>
  3881. </member>
  3882. <member name="M:System.Threading.ThreadLocal`1.CreateValue">
  3883. <summary>
  3884. Private helper function to lazily create the value using the calueSelector if specified in the constructor or the default parameterless constructor
  3885. </summary>
  3886. <returns>Returns the boxed object</returns>
  3887. </member>
  3888. <member name="P:System.Threading.ThreadLocal`1.Value">
  3889. <summary>
  3890. Gets or sets the value of this instance for the current thread.
  3891. </summary>
  3892. <exception cref="T:System.InvalidOperationException">
  3893. The initialization function referenced <see cref="P:System.Threading.ThreadLocal`1.Value"/> in an improper manner.
  3894. </exception>
  3895. <exception cref="T:System.ObjectDisposedException">
  3896. The <see cref="T:System.Threading.ThreadLocal`1"/> instance has been disposed.
  3897. </exception>
  3898. <remarks>
  3899. If this instance was not previously initialized for the current thread,
  3900. accessing <see cref="P:System.Threading.ThreadLocal`1.Value"/> will attempt to initialize it. If an initialization function was
  3901. supplied during the construction, that initialization will happen by invoking the function
  3902. to retrieve the initial value for <see cref="P:System.Threading.ThreadLocal`1.Value"/>. Otherwise, the default value of
  3903. <typeparamref name="T"/> will be used.
  3904. </remarks>
  3905. </member>
  3906. <member name="P:System.Threading.ThreadLocal`1.IsValueCreated">
  3907. <summary>
  3908. Gets whether <see cref="P:System.Threading.ThreadLocal`1.Value"/> is initialized on the current thread.
  3909. </summary>
  3910. <exception cref="T:System.ObjectDisposedException">
  3911. The <see cref="T:System.Threading.ThreadLocal`1"/> instance has been disposed.
  3912. </exception>
  3913. </member>
  3914. <member name="P:System.Threading.ThreadLocal`1.ValueForDebugDisplay">
  3915. <summary>Gets the value of the ThreadLocal&lt;T&gt; for debugging display purposes. It takes care of getting
  3916. the value for the current thread in the ThreadLocal mode.</summary>
  3917. </member>
  3918. <member name="T:System.Threading.ThreadLocal`1.HolderBase">
  3919. <summary>
  3920. The base abstract class for the holder
  3921. </summary>
  3922. </member>
  3923. <member name="T:System.Threading.ThreadLocal`1.TLSHolder">
  3924. <summary>
  3925. The TLS holder representation
  3926. </summary>
  3927. </member>
  3928. <member name="T:System.Threading.ThreadLocal`1.GenericHolder`3">
  3929. <summary>
  3930. The generic holder representation
  3931. </summary>
  3932. <typeparam name="U">Dummy param</typeparam>
  3933. <typeparam name="V">Dummy param</typeparam>
  3934. <typeparam name="W">Dummy param</typeparam>
  3935. </member>
  3936. <member name="T:System.Threading.ThreadLocal`1.Boxed">
  3937. <summary>
  3938. wrapper to the actual value
  3939. </summary>
  3940. </member>
  3941. <member name="T:System.Threading.SystemThreading_ThreadLocalDebugView`1">
  3942. <summary>A debugger view of the ThreadLocal&lt;T&gt; to surface additional debugging properties and
  3943. to ensure that the ThreadLocal&lt;T&gt; does not become initialized if it was not already.</summary>
  3944. </member>
  3945. <member name="M:System.Threading.SystemThreading_ThreadLocalDebugView`1.#ctor(System.Threading.ThreadLocal{`0})">
  3946. <summary>Constructs a new debugger view object for the provided ThreadLocal object.</summary>
  3947. <param name="tlocal">A ThreadLocal object to browse in the debugger.</param>
  3948. </member>
  3949. <member name="P:System.Threading.SystemThreading_ThreadLocalDebugView`1.IsValueCreated">
  3950. <summary>Returns whether the ThreadLocal object is initialized or not.</summary>
  3951. </member>
  3952. <member name="P:System.Threading.SystemThreading_ThreadLocalDebugView`1.Value">
  3953. <summary>Returns the value of the ThreadLocal object.</summary>
  3954. </member>
  3955. <member name="T:System.Threading.SemaphoreSlim">
  3956. <summary>
  3957. Limits the number of threads that can access a resource or pool of resources concurrently.
  3958. </summary>
  3959. <remarks>
  3960. <para>
  3961. The <see cref="T:System.Threading.SemaphoreSlim"/> provides a lightweight semaphore class that doesn't
  3962. use Windows kernel semaphores.
  3963. </para>
  3964. <para>
  3965. All public and protected members of <see cref="T:System.Threading.SemaphoreSlim"/> are thread-safe and may be used
  3966. concurrently from multiple threads, with the exception of Dispose, which
  3967. must only be used when all other operations on the <see cref="T:System.Threading.SemaphoreSlim"/> have
  3968. completed.
  3969. </para>
  3970. </remarks>
  3971. </member>
  3972. <member name="M:System.Threading.SemaphoreSlim.#ctor(System.Int32)">
  3973. <summary>
  3974. Initializes a new instance of the <see cref="T:System.Threading.SemaphoreSlim"/> class, specifying
  3975. the initial number of requests that can be granted concurrently.
  3976. </summary>
  3977. <param name="initialCount">The initial number of requests for the semaphore that can be granted
  3978. concurrently.</param>
  3979. <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="initialCount"/>
  3980. is less than 0.</exception>
  3981. </member>
  3982. <member name="M:System.Threading.SemaphoreSlim.#ctor(System.Int32,System.Int32)">
  3983. <summary>
  3984. Initializes a new instance of the <see cref="T:System.Threading.SemaphoreSlim"/> class, specifying
  3985. the initial and maximum number of requests that can be granted concurrently.
  3986. </summary>
  3987. <param name="initialCount">The initial number of requests for the semaphore that can be granted
  3988. concurrently.</param>
  3989. <param name="maxCount">The maximum number of requests for the semaphore that can be granted
  3990. concurrently.</param>
  3991. <exception cref="T:System.ArgumentOutOfRangeException"> <paramref name="initialCount"/>
  3992. is less than 0. -or-
  3993. <paramref name="initialCount"/> is greater than <paramref name="maxCount"/>. -or-
  3994. <paramref name="maxCount"/> is less than 0.</exception>
  3995. </member>
  3996. <member name="M:System.Threading.SemaphoreSlim.Wait">
  3997. <summary>
  3998. Blocks the current thread until it can enter the <see cref="T:System.Threading.SemaphoreSlim"/>.
  3999. </summary>
  4000. <exception cref="T:System.ObjectDisposedException">The current instance has already been
  4001. disposed.</exception>
  4002. </member>
  4003. <member name="M:System.Threading.SemaphoreSlim.Wait(System.Threading.CancellationToken)">
  4004. <summary>
  4005. Blocks the current thread until it can enter the <see cref="T:System.Threading.SemaphoreSlim"/>, while observing a
  4006. <see cref="T:System.Threading.CancellationToken"/>.
  4007. </summary>
  4008. <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> token to
  4009. observe.</param>
  4010. <exception cref="T:System.OperationCanceledException"><paramref name="cancellationToken"/> was
  4011. canceled.</exception>
  4012. <exception cref="T:System.ObjectDisposedException">The current instance has already been
  4013. disposed.</exception>
  4014. </member>
  4015. <member name="M:System.Threading.SemaphoreSlim.Wait(System.TimeSpan)">
  4016. <summary>
  4017. Blocks the current thread until it can enter the <see cref="T:System.Threading.SemaphoreSlim"/>, using a <see cref="T:System.TimeSpan"/> to measure the time interval.
  4018. </summary>
  4019. <param name="timeout">A <see cref="T:System.TimeSpan"/> that represents the number of milliseconds
  4020. to wait, or a <see cref="T:System.TimeSpan"/> that represents -1 milliseconds to wait indefinitely.
  4021. </param>
  4022. <returns>true if the current thread successfully entered the <see cref="T:System.Threading.SemaphoreSlim"/>;
  4023. otherwise, false.</returns>
  4024. <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="timeout"/> is a negative
  4025. number other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater
  4026. than <see cref="F:System.Int32.MaxValue"/>.</exception>
  4027. </member>
  4028. <member name="M:System.Threading.SemaphoreSlim.Wait(System.TimeSpan,System.Threading.CancellationToken)">
  4029. <summary>
  4030. Blocks the current thread until it can enter the <see cref="T:System.Threading.SemaphoreSlim"/>, using a <see cref="T:System.TimeSpan"/> to measure the time interval, while observing a <see cref="T:System.Threading.CancellationToken"/>.
  4031. </summary>
  4032. <param name="timeout">A <see cref="T:System.TimeSpan"/> that represents the number of milliseconds
  4033. to wait, or a <see cref="T:System.TimeSpan"/> that represents -1 milliseconds to wait indefinitely.
  4034. </param>
  4035. <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to
  4036. observe.</param>
  4037. <returns>true if the current thread successfully entered the <see cref="T:System.Threading.SemaphoreSlim"/>;
  4038. otherwise, false.</returns>
  4039. <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="timeout"/> is a negative
  4040. number other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater
  4041. than <see cref="F:System.Int32.MaxValue"/>.</exception>
  4042. <exception cref="T:System.OperationCanceledException"><paramref name="cancellationToken"/> was canceled.</exception>
  4043. </member>
  4044. <member name="M:System.Threading.SemaphoreSlim.Wait(System.Int32)">
  4045. <summary>
  4046. Blocks the current thread until it can enter the <see cref="T:System.Threading.SemaphoreSlim"/>, using a 32-bit
  4047. signed integer to measure the time interval.
  4048. </summary>
  4049. <param name="millisecondsTimeout">The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/>(-1) to wait indefinitely.</param>
  4050. <returns>true if the current thread successfully entered the <see cref="T:System.Threading.SemaphoreSlim"/>;
  4051. otherwise, false.</returns>
  4052. <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="millisecondsTimeout"/> is a
  4053. negative number other than -1, which represents an infinite time-out.</exception>
  4054. </member>
  4055. <member name="M:System.Threading.SemaphoreSlim.Wait(System.Int32,System.Threading.CancellationToken)">
  4056. <summary>
  4057. Blocks the current thread until it can enter the <see cref="T:System.Threading.SemaphoreSlim"/>,
  4058. using a 32-bit signed integer to measure the time interval,
  4059. while observing a <see cref="T:System.Threading.CancellationToken"/>.
  4060. </summary>
  4061. <param name="millisecondsTimeout">The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/>(-1) to
  4062. wait indefinitely.</param>
  4063. <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to observe.</param>
  4064. <returns>true if the current thread successfully entered the <see cref="T:System.Threading.SemaphoreSlim"/>; otherwise, false.</returns>
  4065. <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="millisecondsTimeout"/> is a negative number other than -1,
  4066. which represents an infinite time-out.</exception>
  4067. <exception cref="T:System.OperationCanceledException"><paramref name="cancellationToken"/> was canceled.</exception>
  4068. </member>
  4069. <member name="M:System.Threading.SemaphoreSlim.WaitUntilCountOrTimeout(System.Int32,System.Int64,System.Threading.CancellationToken)">
  4070. <summary>
  4071. Local helper function, waits on the monitor until the monitor recieves signal or the
  4072. timeout is expired
  4073. </summary>
  4074. <param name="millisecondsTimeout">The maximum timeout</param>
  4075. <param name="startTimeTicks">The start ticks to calculate the elapsed time</param>
  4076. <param name="cancellationToken">The CancellationToken to observe.</param>
  4077. <returns>true if the monitor recieved a signal, false if the timeout expired</returns>
  4078. </member>
  4079. <member name="M:System.Threading.SemaphoreSlim.Release">
  4080. <summary>
  4081. Exits the <see cref="T:System.Threading.SemaphoreSlim"/> once.
  4082. </summary>
  4083. <returns>The previous count of the <see cref="T:System.Threading.SemaphoreSlim"/>.</returns>
  4084. <exception cref="T:System.ObjectDisposedException">The current instance has already been
  4085. disposed.</exception>
  4086. </member>
  4087. <member name="M:System.Threading.SemaphoreSlim.Release(System.Int32)">
  4088. <summary>
  4089. Exits the <see cref="T:System.Threading.SemaphoreSlim"/> a specified number of times.
  4090. </summary>
  4091. <param name="releaseCount">The number of times to exit the semaphore.</param>
  4092. <returns>The previous count of the <see cref="T:System.Threading.SemaphoreSlim"/>.</returns>
  4093. <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="releaseCount"/> is less
  4094. than 1.</exception>
  4095. <exception cref="T:System.Threading.SemaphoreFullException">The <see cref="T:System.Threading.SemaphoreSlim"/> has
  4096. already reached its maximum size.</exception>
  4097. <exception cref="T:System.ObjectDisposedException">The current instance has already been
  4098. disposed.</exception>
  4099. </member>
  4100. <member name="M:System.Threading.SemaphoreSlim.Dispose">
  4101. <summary>
  4102. Releases all resources used by the current instance of <see cref="T:System.Threading.SemaphoreSlim"/>.
  4103. </summary>
  4104. <remarks>
  4105. Unlike most of the members of <see cref="T:System.Threading.SemaphoreSlim"/>, <see cref="M:System.Threading.SemaphoreSlim.Dispose"/> is not
  4106. thread-safe and may not be used concurrently with other members of this instance.
  4107. </remarks>
  4108. </member>
  4109. <member name="M:System.Threading.SemaphoreSlim.Dispose(System.Boolean)">
  4110. <summary>
  4111. When overridden in a derived class, releases the unmanaged resources used by the
  4112. <see cref="T:System.Threading.ManualResetEventSlim"/>, and optionally releases the managed resources.
  4113. </summary>
  4114. <param name="disposing">true to release both managed and unmanaged resources;
  4115. false to release only unmanaged resources.</param>
  4116. <remarks>
  4117. Unlike most of the members of <see cref="T:System.Threading.SemaphoreSlim"/>, <see cref="M:System.Threading.SemaphoreSlim.Dispose(System.Boolean)"/> is not
  4118. thread-safe and may not be used concurrently with other members of this instance.
  4119. </remarks>
  4120. </member>
  4121. <member name="M:System.Threading.SemaphoreSlim.UpdateTimeOut(System.Int64,System.Int32)">
  4122. <summary>
  4123. Helper function to measure and update the wait time
  4124. </summary>
  4125. <param name="startTimeTicks"> The first time (in Ticks) observed when the wait started</param>
  4126. <param name="originalWaitMillisecondsTimeout">The orginal wait timeoutout in milliseconds</param>
  4127. <returns>The new wait time in milliseconds, -1 if the time expired</returns>
  4128. </member>
  4129. <member name="F:System.Threading.SemaphoreSlim.s_cancellationTokenCanceledEventHandler">
  4130. <summary>
  4131. Private helper method to wake up waiters when a cancellationToken gets canceled.
  4132. </summary>
  4133. </member>
  4134. <member name="M:System.Threading.SemaphoreSlim.CheckDispose">
  4135. <summary>
  4136. Checks the dispose status by checking the lock object, if it is null means that object
  4137. has been disposed and throw ObjectDisposedException
  4138. </summary>
  4139. </member>
  4140. <member name="M:System.Threading.SemaphoreSlim.GetResourceString(System.String)">
  4141. <summary>
  4142. local helper function to retrieve the exception string message from the resource file
  4143. </summary>
  4144. <param name="str">The key string</param>
  4145. </member>
  4146. <member name="P:System.Threading.SemaphoreSlim.CurrentCount">
  4147. <summary>
  4148. Gets the current count of the <see cref="T:System.Threading.SemaphoreSlim"/>.
  4149. </summary>
  4150. <value>The current count of the <see cref="T:System.Threading.SemaphoreSlim"/>.</value>
  4151. </member>
  4152. <member name="P:System.Threading.SemaphoreSlim.AvailableWaitHandle">
  4153. <summary>
  4154. Returns a <see cref="T:System.Threading.WaitHandle"/> that can be used to wait on the semaphore.
  4155. </summary>
  4156. <value>A <see cref="T:System.Threading.WaitHandle"/> that can be used to wait on the
  4157. semaphore.</value>
  4158. <remarks>
  4159. A successful wait on the <see cref="P:System.Threading.SemaphoreSlim.AvailableWaitHandle"/> does not imply a successful wait on
  4160. the <see cref="T:System.Threading.SemaphoreSlim"/> itself, nor does it decrement the semaphore's
  4161. count. <see cref="P:System.Threading.SemaphoreSlim.AvailableWaitHandle"/> exists to allow a thread to block waiting on multiple
  4162. semaphores, but such a wait should be followed by a true wait on the target semaphore.
  4163. </remarks>
  4164. <exception cref="T:System.ObjectDisposedException">The <see cref="T:System.Threading.SemaphoreSlim"/> has been disposed.</exception>
  4165. </member>
  4166. <member name="T:System.Threading.SpinWait">
  4167. <summary>
  4168. Provides support for spin-based waiting.
  4169. </summary>
  4170. <remarks>
  4171. <para>
  4172. <see cref="T:System.Threading.SpinWait"/> encapsulates common spinning logic. On single-processor machines, yields are
  4173. always used instead of busy waits, and on computers with Intel™ processors employing Hyper-Threading™
  4174. technology, it helps to prevent hardware thread starvation. SpinWait encapsulates a good mixture of
  4175. spinning and true yielding.
  4176. </para>
  4177. <para>
  4178. <see cref="T:System.Threading.SpinWait"/> is a value type, which means that low-level code can utilize SpinWait without
  4179. fear of unnecessary allocation overheads. SpinWait is not generally useful for ordinary applications.
  4180. In most cases, you should use the synchronization classes provided by the .NET Framework, such as
  4181. <see cref="T:System.Threading.Monitor"/>. For most purposes where spin waiting is required, however,
  4182. the <see cref="T:System.Threading.SpinWait"/> type should be preferred over the <see cref="M:System.Threading.Thread.SpinWait(System.Int32)"/> method.
  4183. </para>
  4184. <para>
  4185. While SpinWait is designed to be used in concurrent applications, it is not designed to be
  4186. used from multiple threads concurrently. SpinWait's members are not thread-safe. If multiple
  4187. threads must spin, each should use its own instance of SpinWait.
  4188. </para>
  4189. </remarks>
  4190. </member>
  4191. <member name="M:System.Threading.SpinWait.SpinOnce">
  4192. <summary>
  4193. Performs a single spin.
  4194. </summary>
  4195. <remarks>
  4196. This is typically called in a loop, and may change in behavior based on the number of times a
  4197. <see cref="M:System.Threading.SpinWait.SpinOnce"/> has been called thus far on this instance.
  4198. </remarks>
  4199. </member>
  4200. <member name="M:System.Threading.SpinWait.Reset">
  4201. <summary>
  4202. Resets the spin counter.
  4203. </summary>
  4204. <remarks>
  4205. This makes <see cref="M:System.Threading.SpinWait.SpinOnce"/> and <see cref="P:System.Threading.SpinWait.NextSpinWillYield"/> behave as though no calls
  4206. to <see cref="M:System.Threading.SpinWait.SpinOnce"/> had been issued on this instance. If a <see cref="T:System.Threading.SpinWait"/> instance
  4207. is reused many times, it may be useful to reset it to avoid yielding too soon.
  4208. </remarks>
  4209. </member>
  4210. <member name="M:System.Threading.SpinWait.SpinUntil(System.Func{System.Boolean})">
  4211. <summary>
  4212. Spins until the specified condition is satisfied.
  4213. </summary>
  4214. <param name="condition">A delegate to be executed over and over until it returns true.</param>
  4215. <exception cref="T:System.ArgumentNullException">The <paramref name="condition"/> argument is null.</exception>
  4216. </member>
  4217. <member name="M:System.Threading.SpinWait.SpinUntil(System.Func{System.Boolean},System.TimeSpan)">
  4218. <summary>
  4219. Spins until the specified condition is satisfied or until the specified timeout is expired.
  4220. </summary>
  4221. <param name="condition">A delegate to be executed over and over until it returns true.</param>
  4222. <param name="timeout">
  4223. A <see cref="T:System.TimeSpan"/> that represents the number of milliseconds to wait,
  4224. or a TimeSpan that represents -1 milliseconds to wait indefinitely.</param>
  4225. <returns>True if the condition is satisfied within the timeout; otherwise, false</returns>
  4226. <exception cref="T:System.ArgumentNullException">The <paramref name="condition"/> argument is null.</exception>
  4227. <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="timeout"/> is a negative number
  4228. other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater than
  4229. <see cref="F:System.Int32.MaxValue"/>.</exception>
  4230. </member>
  4231. <member name="M:System.Threading.SpinWait.SpinUntil(System.Func{System.Boolean},System.Int32)">
  4232. <summary>
  4233. Spins until the specified condition is satisfied or until the specified timeout is expired.
  4234. </summary>
  4235. <param name="condition">A delegate to be executed over and over until it returns true.</param>
  4236. <param name="millisecondsTimeout">The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to wait indefinitely.</param>
  4237. <returns>True if the condition is satisfied within the timeout; otherwise, false</returns>
  4238. <exception cref="T:System.ArgumentNullException">The <paramref name="condition"/> argument is null.</exception>
  4239. <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="millisecondsTimeout"/> is a
  4240. negative number other than -1, which represents an infinite time-out.</exception>
  4241. </member>
  4242. <member name="P:System.Threading.SpinWait.Count">
  4243. <summary>
  4244. Gets the number of times <see cref="M:System.Threading.SpinWait.SpinOnce"/> has been called on this instance.
  4245. </summary>
  4246. </member>
  4247. <member name="P:System.Threading.SpinWait.NextSpinWillYield">
  4248. <summary>
  4249. Gets whether the next call to <see cref="M:System.Threading.SpinWait.SpinOnce"/> will yield the processor, triggering a
  4250. forced context switch.
  4251. </summary>
  4252. <value>Whether the next call to <see cref="M:System.Threading.SpinWait.SpinOnce"/> will yield the processor, triggering a
  4253. forced context switch.</value>
  4254. <remarks>
  4255. On a single-CPU machine, <see cref="M:System.Threading.SpinWait.SpinOnce"/> always yields the processor. On machines with
  4256. multiple CPUs, <see cref="M:System.Threading.SpinWait.SpinOnce"/> may yield after an unspecified number of calls.
  4257. </remarks>
  4258. </member>
  4259. <member name="T:System.Threading.PlatformHelper">
  4260. <summary>
  4261. A helper class to get the number of preocessors, it updates the numbers of processors every sampling interval
  4262. </summary>
  4263. </member>
  4264. <member name="P:System.Threading.PlatformHelper.ProcessorCount">
  4265. <summary>
  4266. Gets the number of available processors
  4267. </summary>
  4268. </member>
  4269. <member name="P:System.Threading.PlatformHelper.IsSingleProcessor">
  4270. <summary>
  4271. Gets whether the current machine has only a single processor.
  4272. </summary>
  4273. </member>
  4274. <member name="T:System.Threading.SpinLock">
  4275. <summary>
  4276. Provides a mutual exclusion lock primitive where a thread trying to acquire the lock waits in a loop
  4277. repeatedly checking until the lock becomes available.
  4278. </summary>
  4279. <remarks>
  4280. <para>
  4281. Spin locks can be used for leaf-level locks where the object allocation implied by using a <see cref="T:System.Threading.Monitor"/>, in size or due to garbage collection pressure, is overly
  4282. expensive. Avoiding blocking is another reason that a spin lock can be useful, however if you expect
  4283. any significant amount of blocking, you are probably best not using spin locks due to excessive
  4284. spinning. Spinning can be beneficial when locks are fine grained and large in number (for example, a
  4285. lock per node in a linked list) as well as when lock hold times are always extremely short. In
  4286. general, while holding a spin lock, one should avoid blocking, calling anything that itself may
  4287. block, holding more than one spin lock at once, making dynamically dispatched calls (interface and
  4288. virtuals), making statically dispatched calls into any code one doesn't own, or allocating memory.
  4289. </para>
  4290. <para>
  4291. <see cref="T:System.Threading.SpinLock"/> should only be used when it's been determined that doing so will improve an
  4292. application's performance. It's also important to note that <see cref="T:System.Threading.SpinLock"/> is a value type,
  4293. for performance reasons. As such, one must be very careful not to accidentally copy a SpinLock
  4294. instance, as the two instances (the original and the copy) would then be completely independent of
  4295. one another, which would likely lead to erroneous behavior of the application. If a SpinLock instance
  4296. must be passed around, it should be passed by reference rather than by value.
  4297. </para>
  4298. <para>
  4299. Do not store <see cref="T:System.Threading.SpinLock"/> instances in readonly fields.
  4300. </para>
  4301. <para>
  4302. All members of <see cref="T:System.Threading.SpinLock"/> are thread-safe and may be used from multiple threads
  4303. concurrently.
  4304. </para>
  4305. </remarks>
  4306. </member>
  4307. <member name="M:System.Threading.SpinLock.#ctor(System.Boolean)">
  4308. <summary>
  4309. Initializes a new instance of the <see cref="T:System.Threading.SpinLock"/>
  4310. structure with the option to track thread IDs to improve debugging.
  4311. </summary>
  4312. <remarks>
  4313. The default constructor for <see cref="T:System.Threading.SpinLock"/> tracks thread ownership.
  4314. </remarks>
  4315. <param name="enableThreadOwnerTracking">Whether to capture and use thread IDs for debugging
  4316. purposes.</param>
  4317. </member>
  4318. <member name="M:System.Threading.SpinLock.Enter(System.Boolean@)">
  4319. <summary>
  4320. Initializes a new instance of the <see cref="T:System.Threading.SpinLock"/>
  4321. structure with the option to track thread IDs to improve debugging.
  4322. </summary>
  4323. <remarks>
  4324. The default constructor for <see cref="T:System.Threading.SpinLock"/> tracks thread ownership.
  4325. </remarks>
  4326. <summary>
  4327. Acquires the lock in a reliable manner, such that even if an exception occurs within the method
  4328. call, <paramref name="lockTaken"/> can be examined reliably to determine whether the lock was
  4329. acquired.
  4330. </summary>
  4331. <remarks>
  4332. <see cref="T:System.Threading.SpinLock"/> is a non-reentrant lock, meaning that if a thread holds the lock, it is
  4333. not allowed to enter the lock again. If thread ownership tracking is enabled (whether it's
  4334. enabled is available through <see cref="P:System.Threading.SpinLock.IsThreadOwnerTrackingEnabled"/>), an exception will be
  4335. thrown when a thread tries to re-enter a lock it already holds. However, if thread ownership
  4336. tracking is disabled, attempting to enter a lock already held will result in deadlock.
  4337. </remarks>
  4338. <param name="lockTaken">True if the lock is acquired; otherwise, false. <paramref name="lockTaken"/> must be initialized to false prior to calling this method.</param>
  4339. <exception cref="T:System.Threading.LockRecursionException">
  4340. Thread ownership tracking is enabled, and the current thread has already acquired this lock.
  4341. </exception>
  4342. <exception cref="T:System.ArgumentException">
  4343. The <paramref name="lockTaken"/> argument must be initialized to false prior to calling Enter.
  4344. </exception>
  4345. </member>
  4346. <member name="M:System.Threading.SpinLock.TryEnter(System.Boolean@)">
  4347. <summary>
  4348. Attempts to acquire the lock in a reliable manner, such that even if an exception occurs within
  4349. the method call, <paramref name="lockTaken"/> can be examined reliably to determine whether the
  4350. lock was acquired.
  4351. </summary>
  4352. <remarks>
  4353. Unlike <see cref="M:System.Threading.SpinLock.Enter(System.Boolean@)"/>, TryEnter will not block waiting for the lock to be available. If the
  4354. lock is not available when TryEnter is called, it will return immediately without any further
  4355. spinning.
  4356. </remarks>
  4357. <param name="lockTaken">True if the lock is acquired; otherwise, false. <paramref name="lockTaken"/> must be initialized to false prior to calling this method.</param>
  4358. <exception cref="T:System.Threading.LockRecursionException">
  4359. Thread ownership tracking is enabled, and the current thread has already acquired this lock.
  4360. </exception>
  4361. <exception cref="T:System.ArgumentException">
  4362. The <paramref name="lockTaken"/> argument must be initialized to false prior to calling TryEnter.
  4363. </exception>
  4364. </member>
  4365. <member name="M:System.Threading.SpinLock.TryEnter(System.TimeSpan,System.Boolean@)">
  4366. <summary>
  4367. Attempts to acquire the lock in a reliable manner, such that even if an exception occurs within
  4368. the method call, <paramref name="lockTaken"/> can be examined reliably to determine whether the
  4369. lock was acquired.
  4370. </summary>
  4371. <remarks>
  4372. Unlike <see cref="M:System.Threading.SpinLock.Enter(System.Boolean@)"/>, TryEnter will not block indefinitely waiting for the lock to be
  4373. available. It will block until either the lock is available or until the <paramref name="timeout"/>
  4374. has expired.
  4375. </remarks>
  4376. <param name="timeout">A <see cref="T:System.TimeSpan"/> that represents the number of milliseconds
  4377. to wait, or a <see cref="T:System.TimeSpan"/> that represents -1 milliseconds to wait indefinitely.
  4378. </param>
  4379. <param name="lockTaken">True if the lock is acquired; otherwise, false. <paramref name="lockTaken"/> must be initialized to false prior to calling this method.</param>
  4380. <exception cref="T:System.Threading.LockRecursionException">
  4381. Thread ownership tracking is enabled, and the current thread has already acquired this lock.
  4382. </exception>
  4383. <exception cref="T:System.ArgumentException">
  4384. The <paramref name="lockTaken"/> argument must be initialized to false prior to calling TryEnter.
  4385. </exception>
  4386. <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="timeout"/> is a negative
  4387. number other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater
  4388. than <see cref="F:System.Int32.MaxValue"/> milliseconds.
  4389. </exception>
  4390. </member>
  4391. <member name="M:System.Threading.SpinLock.TryEnter(System.Int32,System.Boolean@)">
  4392. <summary>
  4393. Attempts to acquire the lock in a reliable manner, such that even if an exception occurs within
  4394. the method call, <paramref name="lockTaken"/> can be examined reliably to determine whether the
  4395. lock was acquired.
  4396. </summary>
  4397. <remarks>
  4398. Unlike <see cref="M:System.Threading.SpinLock.Enter(System.Boolean@)"/>, TryEnter will not block indefinitely waiting for the lock to be
  4399. available. It will block until either the lock is available or until the <paramref name="millisecondsTimeout"/> has expired.
  4400. </remarks>
  4401. <param name="millisecondsTimeout">The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to wait indefinitely.</param>
  4402. <param name="lockTaken">True if the lock is acquired; otherwise, false. <paramref name="lockTaken"/> must be initialized to false prior to calling this method.</param>
  4403. <exception cref="T:System.Threading.LockRecursionException">
  4404. Thread ownership tracking is enabled, and the current thread has already acquired this lock.
  4405. </exception>
  4406. <exception cref="T:System.ArgumentException">
  4407. The <paramref name="lockTaken"/> argument must be initialized to false prior to calling TryEnter.
  4408. </exception>
  4409. <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="millisecondsTimeout"/> is
  4410. a negative number other than -1, which represents an infinite time-out.</exception>
  4411. </member>
  4412. <member name="M:System.Threading.SpinLock.ContinueTryEnter(System.Int32,System.Boolean@)">
  4413. <summary>
  4414. Try acquire the lock with long path, this is usually called after the first path in Enter and
  4415. TryEnter failed The reason for short path is to make it inline in the run time which improves the
  4416. performance. This method assumed that the parameter are validated in Enter ir TryENter method
  4417. </summary>
  4418. <param name="millisecondsTimeout">The timeout milliseconds</param>
  4419. <param name="lockTaken">The lockTaken param</param>
  4420. </member>
  4421. <member name="M:System.Threading.SpinLock.DecrementWaiters">
  4422. <summary>
  4423. decrements the waiters, in case of the timeout is expired
  4424. </summary>
  4425. </member>
  4426. <member name="M:System.Threading.SpinLock.ContinueTryEnterWithThreadTracking(System.Int32,System.Int64,System.Boolean@)">
  4427. <summary>
  4428. ContinueTryEnter for the thread tracking mode enabled
  4429. </summary>
  4430. </member>
  4431. <member name="M:System.Threading.SpinLock.TimeoutExpired(System.Int64,System.Int32)">
  4432. <summary>
  4433. Helper function to validate the timeout
  4434. </summary>
  4435. <param name="startTicks"> The start time in ticks</param>
  4436. <param name="originalWaitTime">The orginal wait time</param>
  4437. <returns>True if expired, false otherwise</returns>
  4438. </member>
  4439. <member name="M:System.Threading.SpinLock.Exit">
  4440. <summary>
  4441. Releases the lock.
  4442. </summary>
  4443. <remarks>
  4444. The default overload of <see cref="M:System.Threading.SpinLock.Exit"/> provides the same behavior as if calling <see cref="M:System.Threading.SpinLock.Exit(System.Boolean)"/> using true as the argument.
  4445. </remarks>
  4446. <exception cref="T:System.Threading.SynchronizationLockException">
  4447. Thread ownership tracking is enabled, and the current thread is not the owner of this lock.
  4448. </exception>
  4449. </member>
  4450. <member name="M:System.Threading.SpinLock.Exit(System.Boolean)">
  4451. <summary>
  4452. Releases the lock.
  4453. </summary>
  4454. <param name="useMemoryBarrier">
  4455. A Boolean value that indicates whether a memory fence should be issued in order to immediately
  4456. publish the exit operation to other threads.
  4457. </param>
  4458. <remarks>
  4459. Calling <see cref="M:System.Threading.SpinLock.Exit(System.Boolean)"/> with the <paramref name="useMemoryBarrier"/> argument set to
  4460. true will improve the fairness of the lock at the expense of some performance. The default <see cref="M:System.Threading.SpinLock.Enter(System.Boolean@)"/>
  4461. overload behaves as if specifying true for <paramref name="useMemoryBarrier"/>.
  4462. </remarks>
  4463. <exception cref="T:System.Threading.SynchronizationLockException">
  4464. Thread ownership tracking is enabled, and the current thread is not the owner of this lock.
  4465. </exception>
  4466. </member>
  4467. <member name="P:System.Threading.SpinLock.IsHeld">
  4468. <summary>
  4469. Gets whether the lock is currently held by any thread.
  4470. </summary>
  4471. </member>
  4472. <member name="P:System.Threading.SpinLock.IsHeldByCurrentThread">
  4473. <summary>
  4474. Gets whether the lock is currently held by any thread.
  4475. </summary>
  4476. <summary>
  4477. Gets whether the lock is held by the current thread.
  4478. </summary>
  4479. <remarks>
  4480. If the lock was initialized to track owner threads, this will return whether the lock is acquired
  4481. by the current thread. It is invalid to use this property when the lock was initialized to not
  4482. track thread ownership.
  4483. </remarks>
  4484. <exception cref="T:System.InvalidOperationException">
  4485. Thread ownership tracking is disabled.
  4486. </exception>
  4487. </member>
  4488. <member name="P:System.Threading.SpinLock.IsThreadOwnerTrackingEnabled">
  4489. <summary>Gets whether thread ownership tracking is enabled for this instance.</summary>
  4490. </member>
  4491. <member name="T:System.Threading.SpinLock.SystemThreading_SpinLockDebugView">
  4492. <summary>
  4493. Internal class used by debug type proxy attribute to display the owner thread ID
  4494. </summary>
  4495. </member>
  4496. <member name="M:System.Threading.SpinLock.SystemThreading_SpinLockDebugView.#ctor(System.Threading.SpinLock)">
  4497. <summary>
  4498. SystemThreading_SpinLockDebugView constructor
  4499. </summary>
  4500. <param name="spinLock">The SpinLock to be proxied.</param>
  4501. </member>
  4502. <member name="P:System.Threading.SpinLock.SystemThreading_SpinLockDebugView.IsHeldByCurrentThread">
  4503. <summary>
  4504. Checks if the lock is held by the current thread or not
  4505. </summary>
  4506. </member>
  4507. <member name="P:System.Threading.SpinLock.SystemThreading_SpinLockDebugView.OwnerThreadID">
  4508. <summary>
  4509. Gets the current owner thread, zero if it is released
  4510. </summary>
  4511. </member>
  4512. <member name="P:System.Threading.SpinLock.SystemThreading_SpinLockDebugView.IsHeld">
  4513. <summary>
  4514. Gets whether the lock is currently held by any thread or not.
  4515. </summary>
  4516. </member>
  4517. <member name="T:System.Threading.Tasks.ParallelOptions">
  4518. <summary>
  4519. Stores options that configure the operation of methods on the
  4520. <see cref="T:System.Threading.Tasks.Parallel">Parallel</see> class.
  4521. </summary>
  4522. <remarks>
  4523. By default, methods on the Parallel class attempt to utilize all available processors, are non-cancelable, and target
  4524. the default TaskScheduler (TaskScheduler.Default). <see cref="T:System.Threading.Tasks.ParallelOptions"/> enables
  4525. overriding these defaults.
  4526. </remarks>
  4527. </member>
  4528. <member name="M:System.Threading.Tasks.ParallelOptions.#ctor">
  4529. <summary>
  4530. Initializes a new instance of the <see cref="T:System.Threading.Tasks.ParallelOptions"/> class.
  4531. </summary>
  4532. <remarks>
  4533. This constructor initializes the instance with default values. <see cref="P:System.Threading.Tasks.ParallelOptions.MaxDegreeOfParallelism"/>
  4534. is initialized to -1, signifying that there is no upper bound set on how much parallelism should
  4535. be employed. <see cref="P:System.Threading.Tasks.ParallelOptions.CancellationToken"/> is initialized to a non-cancelable token,
  4536. and <see cref="P:System.Threading.Tasks.ParallelOptions.TaskScheduler"/> is initialized to the default scheduler (TaskScheduler.Default).
  4537. All of these defaults may be overwritten using the property set accessors on the instance.
  4538. </remarks>
  4539. </member>
  4540. <member name="P:System.Threading.Tasks.ParallelOptions.TaskScheduler">
  4541. <summary>
  4542. Gets or sets the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
  4543. associated with this <see cref="T:System.Threading.Tasks.ParallelOptions"/> instance. Setting this property to null
  4544. indicates that the current scheduler should be used.
  4545. </summary>
  4546. </member>
  4547. <member name="P:System.Threading.Tasks.ParallelOptions.MaxDegreeOfParallelism">
  4548. <summary>
  4549. Gets or sets the maximum degree of parallelism enabled by this ParallelOptions instance.
  4550. </summary>
  4551. <remarks>
  4552. The <see cref="P:System.Threading.Tasks.ParallelOptions.MaxDegreeOfParallelism"/> limits the number of concurrent operations run by <see cref="T:System.Threading.Tasks.Parallel">Parallel</see> method calls that are passed this
  4553. ParallelOptions instance to the set value, if it is positive. If <see cref="P:System.Threading.Tasks.ParallelOptions.MaxDegreeOfParallelism"/> is -1, then there is no limit placed on the number of concurrently
  4554. running operations.
  4555. </remarks>
  4556. <exception cref="T:System.ArgumentOutOfRangeException">
  4557. The exception that is thrown when this <see cref="P:System.Threading.Tasks.ParallelOptions.MaxDegreeOfParallelism"/> is set to 0 or some
  4558. value less than -1.
  4559. </exception>
  4560. </member>
  4561. <member name="P:System.Threading.Tasks.ParallelOptions.CancellationToken">
  4562. <summary>
  4563. Gets or sets the <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  4564. associated with this <see cref="T:System.Threading.Tasks.ParallelOptions"/> instance.
  4565. </summary>
  4566. <remarks>
  4567. Providing a <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  4568. to a <see cref="T:System.Threading.Tasks.Parallel">Parallel</see> method enables the operation to be
  4569. exited early. Code external to the operation may cancel the token, and if the operation observes the
  4570. token being set, it may exit early by throwing an
  4571. <see cref="T:System.OperationCanceledException"/>.
  4572. </remarks>
  4573. </member>
  4574. <member name="T:System.Threading.Tasks.Parallel">
  4575. <summary>
  4576. Provides support for parallel loops and regions.
  4577. </summary>
  4578. <remarks>
  4579. The <see cref="T:System.Threading.Tasks.Parallel"/> class provides library-based data parallel replacements
  4580. for common operations such as for loops, for each loops, and execution of a set of statements.
  4581. </remarks>
  4582. </member>
  4583. <member name="M:System.Threading.Tasks.Parallel.Invoke(System.Action[])">
  4584. <summary>
  4585. Executes each of the provided actions, possibly in parallel.
  4586. </summary>
  4587. <param name="actions">An array of <see cref="T:System.Action">Actions</see> to execute.</param>
  4588. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  4589. <paramref name="actions"/> argument is null.</exception>
  4590. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  4591. <paramref name="actions"/> array contains a null element.</exception>
  4592. <exception cref="T:System.AggregateException">The exception that is thrown when any
  4593. action in the <paramref name="actions"/> array throws an exception.</exception>
  4594. <remarks>
  4595. This method can be used to execute a set of operations, potentially in parallel.
  4596. No guarantees are made about the order in which the operations execute or whether
  4597. they execute in parallel. This method does not return until each of the
  4598. provided operations has completed, regardless of whether completion
  4599. occurs due to normal or exceptional termination.
  4600. </remarks>
  4601. </member>
  4602. <member name="M:System.Threading.Tasks.Parallel.Invoke(System.Threading.Tasks.ParallelOptions,System.Action[])">
  4603. <summary>
  4604. Executes each of the provided actions, possibly in parallel.
  4605. </summary>
  4606. <param name="parallelOptions">A <see cref="T:System.Threading.Tasks.ParallelOptions">ParallelOptions</see>
  4607. instance that configures the behavior of this operation.</param>
  4608. <param name="actions">An array of <see cref="T:System.Action">Actions</see> to execute.</param>
  4609. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  4610. <paramref name="actions"/> argument is null.</exception>
  4611. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  4612. <paramref name="parallelOptions"/> argument is null.</exception>
  4613. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  4614. <paramref name="actions"/> array contains a null element.</exception>
  4615. <exception cref="T:System.OperationCanceledException">The exception that is thrown when
  4616. the <see cref="T:System.Threading.CancellationToken">CancellationToken</see> in the
  4617. <paramref name="parallelOptions"/> is set.</exception>
  4618. <exception cref="T:System.AggregateException">The exception that is thrown when any
  4619. action in the <paramref name="actions"/> array throws an exception.</exception>
  4620. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when the
  4621. the <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> associated with the
  4622. the <see cref="T:System.Threading.CancellationToken">CancellationToken</see> in the
  4623. <paramref name="parallelOptions"/> has been disposed.</exception>
  4624. <remarks>
  4625. This method can be used to execute a set of operations, potentially in parallel.
  4626. No guarantees are made about the order in which the operations execute or whether
  4627. the they execute in parallel. This method does not return until each of the
  4628. provided operations has completed, regardless of whether completion
  4629. occurs due to normal or exceptional termination.
  4630. </remarks>
  4631. </member>
  4632. <member name="M:System.Threading.Tasks.Parallel.For(System.Int32,System.Int32,System.Action{System.Int32})">
  4633. <summary>
  4634. Executes a for loop in which iterations may run in parallel.
  4635. </summary>
  4636. <param name="fromInclusive">The start index, inclusive.</param>
  4637. <param name="toExclusive">The end index, exclusive.</param>
  4638. <param name="body">The delegate that is invoked once per iteration.</param>
  4639. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="body"/>
  4640. argument is null.</exception>
  4641. <exception cref="T:System.AggregateException">The exception that is thrown to contain an exception
  4642. thrown from one of the specified delegates.</exception>
  4643. <returns>A <see cref="T:System.Threading.Tasks.ParallelLoopResult">ParallelLoopResult</see> structure
  4644. that contains information on what portion of the loop completed.</returns>
  4645. <remarks>
  4646. The <paramref name="body"/> delegate is invoked once for each value in the iteration range:
  4647. [fromInclusive, toExclusive). It is provided with the iteration count (an Int32) as a parameter.
  4648. </remarks>
  4649. </member>
  4650. <member name="M:System.Threading.Tasks.Parallel.For(System.Int64,System.Int64,System.Action{System.Int64})">
  4651. <summary>
  4652. Executes a for loop in which iterations may run in parallel.
  4653. </summary>
  4654. <param name="fromInclusive">The start index, inclusive.</param>
  4655. <param name="toExclusive">The end index, exclusive.</param>
  4656. <param name="body">The delegate that is invoked once per iteration.</param>
  4657. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="body"/>
  4658. argument is null.</exception>
  4659. <exception cref="T:System.AggregateException">The exception that is thrown to contain an exception
  4660. thrown from one of the specified delegates.</exception>
  4661. <returns>A <see cref="T:System.Threading.Tasks.ParallelLoopResult">ParallelLoopResult</see> structure
  4662. that contains information on what portion of the loop completed.</returns>
  4663. <remarks>
  4664. The <paramref name="body"/> delegate is invoked once for each value in the iteration range:
  4665. [fromInclusive, toExclusive). It is provided with the iteration count (an Int64) as a parameter.
  4666. </remarks>
  4667. </member>
  4668. <member name="M:System.Threading.Tasks.Parallel.For(System.Int32,System.Int32,System.Threading.Tasks.ParallelOptions,System.Action{System.Int32})">
  4669. <summary>
  4670. Executes a for loop in which iterations may run in parallel.
  4671. </summary>
  4672. <param name="fromInclusive">The start index, inclusive.</param>
  4673. <param name="toExclusive">The end index, exclusive.</param>
  4674. <param name="parallelOptions">A <see cref="T:System.Threading.Tasks.ParallelOptions">ParallelOptions</see>
  4675. instance that configures the behavior of this operation.</param>
  4676. <param name="body">The delegate that is invoked once per iteration.</param>
  4677. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="body"/>
  4678. argument is null.</exception>
  4679. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  4680. <paramref name="parallelOptions"/> argument is null.</exception>
  4681. <exception cref="T:System.OperationCanceledException">The exception that is thrown when the
  4682. <see cref="T:System.Threading.CancellationToken">CancellationToken</see> in the <paramref name="parallelOptions"/>
  4683. argument is set.</exception>
  4684. <exception cref="T:System.AggregateException">The exception that is thrown to contain an exception
  4685. thrown from one of the specified delegates.</exception>
  4686. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when the
  4687. the <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> associated with the
  4688. the <see cref="T:System.Threading.CancellationToken">CancellationToken</see> in the
  4689. <paramref name="parallelOptions"/> has been disposed.</exception>
  4690. <returns>A <see cref="T:System.Threading.Tasks.ParallelLoopResult">ParallelLoopResult</see> structure
  4691. that contains information on what portion of the loop completed.</returns>
  4692. <remarks>
  4693. The <paramref name="body"/> delegate is invoked once for each value in the iteration range:
  4694. [fromInclusive, toExclusive). It is provided with the iteration count (an Int32) as a parameter.
  4695. </remarks>
  4696. </member>
  4697. <member name="M:System.Threading.Tasks.Parallel.For(System.Int64,System.Int64,System.Threading.Tasks.ParallelOptions,System.Action{System.Int64})">
  4698. <summary>
  4699. Executes a for loop in which iterations may run in parallel.
  4700. </summary>
  4701. <param name="fromInclusive">The start index, inclusive.</param>
  4702. <param name="toExclusive">The end index, exclusive.</param>
  4703. <param name="parallelOptions">A <see cref="T:System.Threading.Tasks.ParallelOptions">ParallelOptions</see>
  4704. instance that configures the behavior of this operation.</param>
  4705. <param name="body">The delegate that is invoked once per iteration.</param>
  4706. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="body"/>
  4707. argument is null.</exception>
  4708. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  4709. <paramref name="parallelOptions"/> argument is null.</exception>
  4710. <exception cref="T:System.OperationCanceledException">The exception that is thrown when the
  4711. <see cref="T:System.Threading.CancellationToken">CancellationToken</see> in the <paramref name="parallelOptions"/>
  4712. argument is set.</exception>
  4713. <exception cref="T:System.AggregateException">The exception that is thrown to contain an exception
  4714. thrown from one of the specified delegates.</exception>
  4715. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when the
  4716. the <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> associated with the
  4717. the <see cref="T:System.Threading.CancellationToken">CancellationToken</see> in the
  4718. <paramref name="parallelOptions"/> has been disposed.</exception>
  4719. <returns>A <see cref="T:System.Threading.Tasks.ParallelLoopResult">ParallelLoopResult</see> structure
  4720. that contains information on what portion of the loop completed.</returns>
  4721. <remarks>
  4722. The <paramref name="body"/> delegate is invoked once for each value in the iteration range:
  4723. [fromInclusive, toExclusive). It is provided with the iteration count (an Int64) as a parameter.
  4724. </remarks>
  4725. </member>
  4726. <member name="M:System.Threading.Tasks.Parallel.For(System.Int32,System.Int32,System.Action{System.Int32,System.Threading.Tasks.ParallelLoopState})">
  4727. <summary>
  4728. Executes a for loop in which iterations may run in parallel.
  4729. </summary>
  4730. <param name="fromInclusive">The start index, inclusive.</param>
  4731. <param name="toExclusive">The end index, exclusive.</param>
  4732. <param name="body">The delegate that is invoked once per iteration.</param>
  4733. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="body"/>
  4734. argument is null.</exception>
  4735. <exception cref="T:System.AggregateException">The exception that is thrown to contain an exception
  4736. thrown from one of the specified delegates.</exception>
  4737. <returns>A <see cref="T:System.Threading.Tasks.ParallelLoopResult">ParallelLoopResult</see> structure
  4738. that contains information on what portion of the loop completed.</returns>
  4739. <remarks>
  4740. <para>
  4741. The <paramref name="body"/> delegate is invoked once for each value in the iteration range:
  4742. [fromInclusive, toExclusive). It is provided with the following parameters: the iteration count (an Int32),
  4743. and a <see cref="T:System.Threading.Tasks.ParallelLoopState">ParallelLoopState</see> instance that may be
  4744. used to break out of the loop prematurely.
  4745. </para>
  4746. <para>
  4747. Calling <see cref="M:System.Threading.Tasks.ParallelLoopState.Break">ParallelLoopState.Break()</see>
  4748. informs the For operation that iterations after the current one need not
  4749. execute. However, all iterations before the current one will still need to be executed if they have not already.
  4750. Therefore, calling Break is similar to using a break operation within a
  4751. conventional for loop in a language like C#, but it is not a perfect substitute: for example, there is no guarantee that iterations
  4752. after the current one will definitely not execute.
  4753. </para>
  4754. <para>
  4755. If executing all iterations before the current one is not necessary,
  4756. <see cref="M:System.Threading.Tasks.ParallelLoopState.Stop">ParallelLoopState.Stop()</see>
  4757. should be preferred to using Break. Calling Stop informs the For loop that it may abandon all remaining
  4758. iterations, regardless of whether they're for interations above or below the current,
  4759. since all required work has already been completed. As with Break, however, there are no guarantees regarding
  4760. which other iterations will not execute.
  4761. </para>
  4762. <para>
  4763. When a loop is ended prematurely, the <see cref="T:ParallelLoopState"/> that's returned will contain
  4764. relevant information about the loop's completion.
  4765. </para>
  4766. </remarks>
  4767. </member>
  4768. <member name="M:System.Threading.Tasks.Parallel.For(System.Int64,System.Int64,System.Action{System.Int64,System.Threading.Tasks.ParallelLoopState})">
  4769. <summary>
  4770. Executes a for loop in which iterations may run in parallel.
  4771. </summary>
  4772. <param name="fromInclusive">The start index, inclusive.</param>
  4773. <param name="toExclusive">The end index, exclusive.</param>
  4774. <param name="body">The delegate that is invoked once per iteration.</param>
  4775. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="body"/>
  4776. argument is null.</exception>
  4777. <exception cref="T:System.AggregateException">The exception that is thrown to contain an exception
  4778. thrown from one of the specified delegates.</exception>
  4779. <returns>A <see cref="T:System.Threading.Tasks.ParallelLoopResult">ParallelLoopResult</see> structure
  4780. that contains information on what portion of the loop completed.</returns>
  4781. <remarks>
  4782. The <paramref name="body"/> delegate is invoked once for each value in the iteration range:
  4783. [fromInclusive, toExclusive). It is provided with the following parameters: the iteration count (an Int64),
  4784. and a <see cref="T:System.Threading.Tasks.ParallelLoopState">ParallelLoopState</see> instance that may be
  4785. used to break out of the loop prematurely.
  4786. </remarks>
  4787. </member>
  4788. <member name="M:System.Threading.Tasks.Parallel.For(System.Int32,System.Int32,System.Threading.Tasks.ParallelOptions,System.Action{System.Int32,System.Threading.Tasks.ParallelLoopState})">
  4789. <summary>
  4790. Executes a for loop in which iterations may run in parallel.
  4791. </summary>
  4792. <param name="fromInclusive">The start index, inclusive.</param>
  4793. <param name="toExclusive">The end index, exclusive.</param>
  4794. <param name="parallelOptions">A <see cref="T:System.Threading.Tasks.ParallelOptions">ParallelOptions</see>
  4795. instance that configures the behavior of this operation.</param>
  4796. <param name="body">The delegate that is invoked once per iteration.</param>
  4797. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="body"/>
  4798. argument is null.</exception>
  4799. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  4800. <paramref name="parallelOptions"/> argument is null.</exception>
  4801. <exception cref="T:System.OperationCanceledException">The exception that is thrown when the
  4802. <see cref="T:System.Threading.CancellationToken">CancellationToken</see> in the <paramref name="parallelOptions"/>
  4803. argument is set.</exception>
  4804. <exception cref="T:System.AggregateException">The exception that is thrown to contain an exception
  4805. thrown from one of the specified delegates.</exception>
  4806. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when the
  4807. the <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> associated with the
  4808. the <see cref="T:System.Threading.CancellationToken">CancellationToken</see> in the
  4809. <paramref name="parallelOptions"/> has been disposed.</exception>
  4810. <returns>A <see cref="T:System.Threading.Tasks.ParallelLoopResult">ParallelLoopResult</see> structure
  4811. that contains information on what portion of the loop completed.</returns>
  4812. <remarks>
  4813. The <paramref name="body"/> delegate is invoked once for each value in the iteration range:
  4814. [fromInclusive, toExclusive). It is provided with the following parameters: the iteration count (an Int32),
  4815. and a <see cref="T:System.Threading.Tasks.ParallelLoopState">ParallelLoopState</see> instance that may be
  4816. used to break out of the loop prematurely.
  4817. </remarks>
  4818. </member>
  4819. <member name="M:System.Threading.Tasks.Parallel.For(System.Int64,System.Int64,System.Threading.Tasks.ParallelOptions,System.Action{System.Int64,System.Threading.Tasks.ParallelLoopState})">
  4820. <summary>
  4821. Executes a for loop in which iterations may run in parallel.
  4822. </summary>
  4823. <param name="fromInclusive">The start index, inclusive.</param>
  4824. <param name="toExclusive">The end index, exclusive.</param>
  4825. <param name="parallelOptions">A <see cref="T:System.Threading.Tasks.ParallelOptions">ParallelOptions</see>
  4826. instance that configures the behavior of this operation.</param>
  4827. <param name="body">The delegate that is invoked once per iteration.</param>
  4828. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="body"/>
  4829. argument is null.</exception>
  4830. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  4831. <paramref name="parallelOptions"/> argument is null.</exception>
  4832. <exception cref="T:System.OperationCanceledException">The exception that is thrown when the
  4833. <see cref="T:System.Threading.CancellationToken">CancellationToken</see> in the <paramref name="parallelOptions"/>
  4834. argument is set.</exception>
  4835. <exception cref="T:System.AggregateException">The exception that is thrown to contain an exception
  4836. thrown from one of the specified delegates.</exception>
  4837. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when the
  4838. the <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> associated with the
  4839. the <see cref="T:System.Threading.CancellationToken">CancellationToken</see> in the
  4840. <paramref name="parallelOptions"/> has been disposed.</exception>
  4841. <returns>A <see cref="T:System.Threading.Tasks.ParallelLoopResult">ParallelLoopResult</see> structure
  4842. that contains information on what portion of the loop completed.</returns>
  4843. <remarks>
  4844. The <paramref name="body"/> delegate is invoked once for each value in the iteration range:
  4845. [fromInclusive, toExclusive). It is provided with the following parameters: the iteration count (an Int64),
  4846. and a <see cref="T:System.Threading.Tasks.ParallelLoopState">ParallelLoopState</see> instance that may be
  4847. used to break out of the loop prematurely.
  4848. </remarks>
  4849. </member>
  4850. <member name="M:System.Threading.Tasks.Parallel.For``1(System.Int32,System.Int32,System.Func{``0},System.Func{System.Int32,System.Threading.Tasks.ParallelLoopState,``0,``0},System.Action{``0})">
  4851. <summary>
  4852. Executes a for loop in which iterations may run in parallel.
  4853. </summary>
  4854. <typeparam name="TLocal">The type of the thread-local data.</typeparam>
  4855. <param name="fromInclusive">The start index, inclusive.</param>
  4856. <param name="toExclusive">The end index, exclusive.</param>
  4857. <param name="localInit">The function delegate that returns the initial state of the local data
  4858. for each thread.</param>
  4859. <param name="body">The delegate that is invoked once per iteration.</param>
  4860. <param name="localFinally">The delegate that performs a final action on the local state of each
  4861. thread.</param>
  4862. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="body"/>
  4863. argument is null.</exception>
  4864. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  4865. <paramref name="localInit"/> argument is null.</exception>
  4866. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  4867. <paramref name="localFinally"/> argument is null.</exception>
  4868. <exception cref="T:System.AggregateException">The exception that is thrown to contain an exception
  4869. thrown from one of the specified delegates.</exception>
  4870. <returns>A <see cref="T:System.Threading.Tasks.ParallelLoopResult">ParallelLoopResult</see> structure
  4871. that contains information on what portion of the loop completed.</returns>
  4872. <remarks>
  4873. <para>
  4874. The <paramref name="body"/> delegate is invoked once for each value in the iteration range:
  4875. [fromInclusive, toExclusive). It is provided with the following parameters: the iteration count (an Int32),
  4876. a <see cref="T:System.Threading.Tasks.ParallelLoopState">ParallelLoopState</see> instance that may be
  4877. used to break out of the loop prematurely, and some local state that may be shared amongst iterations
  4878. that execute on the same thread.
  4879. </para>
  4880. <para>
  4881. The <paramref name="localInit"/> delegate is invoked once for each thread that participates in the loop's
  4882. execution and returns the initial local state for each of those threads. These initial states are passed to the first
  4883. <paramref name="body"/> invocations on each thread. Then, every subsequent body invocation returns a possibly
  4884. modified state value that is passed to the next body invocation. Finally, the last body invocation on each thread returns a state value
  4885. that is passed to the <paramref name="localFinally"/> delegate. The localFinally delegate is invoked once per thread to perform a final
  4886. action on each thread's local state.
  4887. </para>
  4888. </remarks>
  4889. </member>
  4890. <member name="M:System.Threading.Tasks.Parallel.For``1(System.Int64,System.Int64,System.Func{``0},System.Func{System.Int64,System.Threading.Tasks.ParallelLoopState,``0,``0},System.Action{``0})">
  4891. <summary>
  4892. Executes a for loop in which iterations may run in parallel. Supports 64-bit indices.
  4893. </summary>
  4894. <typeparam name="TLocal">The type of the thread-local data.</typeparam>
  4895. <param name="fromInclusive">The start index, inclusive.</param>
  4896. <param name="toExclusive">The end index, exclusive.</param>
  4897. <param name="localInit">The function delegate that returns the initial state of the local data
  4898. for each thread.</param>
  4899. <param name="body">The delegate that is invoked once per iteration.</param>
  4900. <param name="localFinally">The delegate that performs a final action on the local state of each
  4901. thread.</param>
  4902. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="body"/>
  4903. argument is null.</exception>
  4904. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  4905. <paramref name="localInit"/> argument is null.</exception>
  4906. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  4907. <paramref name="localFinally"/> argument is null.</exception>
  4908. <exception cref="T:System.AggregateException">The exception that is thrown to contain an exception
  4909. thrown from one of the specified delegates.</exception>
  4910. <returns>A <see cref="T:System.Threading.Tasks.ParallelLoopResult">ParallelLoopResult</see> structure
  4911. that contains information on what portion of the loop completed.</returns>
  4912. <remarks>
  4913. <para>
  4914. The <paramref name="body"/> delegate is invoked once for each value in the iteration range:
  4915. [fromInclusive, toExclusive). It is provided with the following parameters: the iteration count (an Int64),
  4916. a <see cref="T:System.Threading.Tasks.ParallelLoopState">ParallelLoopState</see> instance that may be
  4917. used to break out of the loop prematurely, and some local state that may be shared amongst iterations
  4918. that execute on the same thread.
  4919. </para>
  4920. <para>
  4921. The <paramref name="localInit"/> delegate is invoked once for each thread that participates in the loop's
  4922. execution and returns the initial local state for each of those threads. These initial states are passed to the first
  4923. <paramref name="body"/> invocations on each thread. Then, every subsequent body invocation returns a possibly
  4924. modified state value that is passed to the next body invocation. Finally, the last body invocation on each thread returns a state value
  4925. that is passed to the <paramref name="localFinally"/> delegate. The localFinally delegate is invoked once per thread to perform a final
  4926. action on each thread's local state.
  4927. </para>
  4928. </remarks>
  4929. </member>
  4930. <member name="M:System.Threading.Tasks.Parallel.For``1(System.Int32,System.Int32,System.Threading.Tasks.ParallelOptions,System.Func{``0},System.Func{System.Int32,System.Threading.Tasks.ParallelLoopState,``0,``0},System.Action{``0})">
  4931. <summary>
  4932. Executes a for loop in which iterations may run in parallel.
  4933. </summary>
  4934. <typeparam name="TLocal">The type of the thread-local data.</typeparam>
  4935. <param name="fromInclusive">The start index, inclusive.</param>
  4936. <param name="toExclusive">The end index, exclusive.</param>
  4937. <param name="parallelOptions">A <see cref="T:System.Threading.Tasks.ParallelOptions">ParallelOptions</see>
  4938. instance that configures the behavior of this operation.</param>
  4939. <param name="localInit">The function delegate that returns the initial state of the local data
  4940. for each thread.</param>
  4941. <param name="body">The delegate that is invoked once per iteration.</param>
  4942. <param name="localFinally">The delegate that performs a final action on the local state of each
  4943. thread.</param>
  4944. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="body"/>
  4945. argument is null.</exception>
  4946. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  4947. <paramref name="localInit"/> argument is null.</exception>
  4948. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  4949. <paramref name="localFinally"/> argument is null.</exception>
  4950. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  4951. <paramref name="parallelOptions"/> argument is null.</exception>
  4952. <exception cref="T:System.OperationCanceledException">The exception that is thrown when the
  4953. <see cref="T:System.Threading.CancellationToken">CancellationToken</see> in the <paramref name="parallelOptions"/>
  4954. argument is set.</exception>
  4955. <exception cref="T:System.AggregateException">The exception that is thrown to contain an exception
  4956. thrown from one of the specified delegates.</exception>
  4957. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when the
  4958. the <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> associated with the
  4959. the <see cref="T:System.Threading.CancellationToken">CancellationToken</see> in the
  4960. <paramref name="parallelOptions"/> has been disposed.</exception>
  4961. <returns>A <see cref="T:System.Threading.Tasks.ParallelLoopResult">ParallelLoopResult</see> structure
  4962. that contains information on what portion of the loop completed.</returns>
  4963. <remarks>
  4964. <para>
  4965. The <paramref name="body"/> delegate is invoked once for each value in the iteration range:
  4966. [fromInclusive, toExclusive). It is provided with the following parameters: the iteration count (an Int32),
  4967. a <see cref="T:System.Threading.Tasks.ParallelLoopState">ParallelLoopState</see> instance that may be
  4968. used to break out of the loop prematurely, and some local state that may be shared amongst iterations
  4969. that execute on the same thread.
  4970. </para>
  4971. <para>
  4972. The <paramref name="localInit"/> delegate is invoked once for each thread that participates in the loop's
  4973. execution and returns the initial local state for each of those threads. These initial states are passed to the first
  4974. <paramref name="body"/> invocations on each thread. Then, every subsequent body invocation returns a possibly
  4975. modified state value that is passed to the next body invocation. Finally, the last body invocation on each thread returns a state value
  4976. that is passed to the <paramref name="localFinally"/> delegate. The localFinally delegate is invoked once per thread to perform a final
  4977. action on each thread's local state.
  4978. </para>
  4979. </remarks>
  4980. </member>
  4981. <member name="M:System.Threading.Tasks.Parallel.For``1(System.Int64,System.Int64,System.Threading.Tasks.ParallelOptions,System.Func{``0},System.Func{System.Int64,System.Threading.Tasks.ParallelLoopState,``0,``0},System.Action{``0})">
  4982. <summary>
  4983. Executes a for loop in which iterations may run in parallel.
  4984. </summary>
  4985. <typeparam name="TLocal">The type of the thread-local data.</typeparam>
  4986. <param name="fromInclusive">The start index, inclusive.</param>
  4987. <param name="toExclusive">The end index, exclusive.</param>
  4988. <param name="parallelOptions">A <see cref="T:System.Threading.Tasks.ParallelOptions">ParallelOptions</see>
  4989. instance that configures the behavior of this operation.</param>
  4990. <param name="localInit">The function delegate that returns the initial state of the local data
  4991. for each thread.</param>
  4992. <param name="body">The delegate that is invoked once per iteration.</param>
  4993. <param name="localFinally">The delegate that performs a final action on the local state of each
  4994. thread.</param>
  4995. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="body"/>
  4996. argument is null.</exception>
  4997. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  4998. <paramref name="localInit"/> argument is null.</exception>
  4999. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  5000. <paramref name="localFinally"/> argument is null.</exception>
  5001. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  5002. <paramref name="parallelOptions"/> argument is null.</exception>
  5003. <exception cref="T:System.OperationCanceledException">The exception that is thrown when the
  5004. <see cref="T:System.Threading.CancellationToken">CancellationToken</see> in the <paramref name="parallelOptions"/>
  5005. argument is set.</exception>
  5006. <exception cref="T:System.AggregateException">The exception that is thrown to contain an exception
  5007. thrown from one of the specified delegates.</exception>
  5008. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when the
  5009. the <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> associated with the
  5010. the <see cref="T:System.Threading.CancellationToken">CancellationToken</see> in the
  5011. <paramref name="parallelOptions"/> has been disposed.</exception>
  5012. <returns>A <see cref="T:System.Threading.Tasks.ParallelLoopResult">ParallelLoopResult</see> structure
  5013. that contains information on what portion of the loop completed.</returns>
  5014. <remarks>
  5015. <para>
  5016. The <paramref name="body"/> delegate is invoked once for each value in the iteration range:
  5017. [fromInclusive, toExclusive). It is provided with the following parameters: the iteration count (an Int64),
  5018. a <see cref="T:System.Threading.Tasks.ParallelLoopState">ParallelLoopState</see> instance that may be
  5019. used to break out of the loop prematurely, and some local state that may be shared amongst iterations
  5020. that execute on the same thread.
  5021. </para>
  5022. <para>
  5023. The <paramref name="localInit"/> delegate is invoked once for each thread that participates in the loop's
  5024. execution and returns the initial local state for each of those threads. These initial states are passed to the first
  5025. <paramref name="body"/> invocations on each thread. Then, every subsequent body invocation returns a possibly
  5026. modified state value that is passed to the next body invocation. Finally, the last body invocation on each thread returns a state value
  5027. that is passed to the <paramref name="localFinally"/> delegate. The localFinally delegate is invoked once per thread to perform a final
  5028. action on each thread's local state.
  5029. </para>
  5030. </remarks>
  5031. </member>
  5032. <member name="M:System.Threading.Tasks.Parallel.ForWorker``1(System.Int32,System.Int32,System.Threading.Tasks.ParallelOptions,System.Action{System.Int32},System.Action{System.Int32,System.Threading.Tasks.ParallelLoopState},System.Func{System.Int32,System.Threading.Tasks.ParallelLoopState,``0,``0},System.Func{``0},System.Action{``0})">
  5033. <summary>
  5034. Performs the major work of the parallel for loop. It assumes that argument validation has already
  5035. been performed by the caller. This function's whole purpose in life is to enable as much reuse of
  5036. common implementation details for the various For overloads we offer. Without it, we'd end up
  5037. with lots of duplicate code. It handles: (1) simple for loops, (2) for loops that depend on
  5038. ParallelState, and (3) for loops with thread local data.
  5039. @TODO: at some point in the future, we may want to manually inline the interesting bits into the
  5040. specific overloads above. There is some overhead associated with the extra arguments passed to
  5041. the function, and various if-checks in the code. It is also more difficult to follow what the
  5042. code does as-is because it has to handle the three flavors.
  5043. </summary>
  5044. <typeparam name="TLocal">The type of the local data.</typeparam>
  5045. <param name="fromInclusive">The loop's start index, inclusive.</param>
  5046. <param name="toExclusive">The loop's end index, exclusive.</param>
  5047. <param name="parallelOptions">A ParallelOptions instance.</param>
  5048. <param name="body">The simple loop body.</param>
  5049. <param name="bodyWithState">The loop body for ParallelState overloads.</param>
  5050. <param name="bodyWithLocal">The loop body for thread local state overloads.</param>
  5051. <param name="localInit">A selector function that returns new thread local state.</param>
  5052. <param name="localFinally">A cleanup function to destroy thread local state.</param>
  5053. <remarks>Only one of the body arguments may be supplied (i.e. they are exclusive).</remarks>
  5054. <returns>A <see cref="T:System.Threading.Tasks.ParallelLoopResult"/> structure.</returns>
  5055. </member>
  5056. <member name="M:System.Threading.Tasks.Parallel.ForWorker64``1(System.Int64,System.Int64,System.Threading.Tasks.ParallelOptions,System.Action{System.Int64},System.Action{System.Int64,System.Threading.Tasks.ParallelLoopState},System.Func{System.Int64,System.Threading.Tasks.ParallelLoopState,``0,``0},System.Func{``0},System.Action{``0})">
  5057. <summary>
  5058. Performs the major work of the 64-bit parallel for loop. It assumes that argument validation has already
  5059. been performed by the caller. This function's whole purpose in life is to enable as much reuse of
  5060. common implementation details for the various For overloads we offer. Without it, we'd end up
  5061. with lots of duplicate code. It handles: (1) simple for loops, (2) for loops that depend on
  5062. ParallelState, and (3) for loops with thread local data.
  5063. @TODO: at some point in the future, we may want to manually inline the interesting bits into the
  5064. specific overloads above. There is some overhead associated with the extra arguments passed to
  5065. the function, and various if-checks in the code. It is also more difficult to follow what the
  5066. code does as-is because it has to handle the three flavors.
  5067. </summary>
  5068. <typeparam name="TLocal">The type of the local data.</typeparam>
  5069. <param name="fromInclusive">The loop's start index, inclusive.</param>
  5070. <param name="toExclusive">The loop's end index, exclusive.</param>
  5071. <param name="parallelOptions">A ParallelOptions instance.</param>
  5072. <param name="body">The simple loop body.</param>
  5073. <param name="bodyWithState">The loop body for ParallelState overloads.</param>
  5074. <param name="bodyWithLocal">The loop body for thread local state overloads.</param>
  5075. <param name="localInit">A selector function that returns new thread local state.</param>
  5076. <param name="localFinally">A cleanup function to destroy thread local state.</param>
  5077. <remarks>Only one of the body arguments may be supplied (i.e. they are exclusive).</remarks>
  5078. <returns>A <see cref="T:System.Threading.Tasks.ParallelLoopResult"/> structure.</returns>
  5079. </member>
  5080. <member name="M:System.Threading.Tasks.Parallel.ForEach``1(System.Collections.Generic.IEnumerable{``0},System.Action{``0})">
  5081. <summary>
  5082. Executes a for each operation on an <see cref="T:System.Collections.IEnumerable{TSource}"/>
  5083. in which iterations may run in parallel.
  5084. </summary>
  5085. <typeparam name="TSource">The type of the data in the source.</typeparam>
  5086. <param name="source">An enumerable data source.</param>
  5087. <param name="body">The delegate that is invoked once per iteration.</param>
  5088. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="source"/>
  5089. argument is null.</exception>
  5090. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="body"/>
  5091. argument is null.</exception>
  5092. <exception cref="T:System.AggregateException">The exception that is thrown to contain an exception
  5093. thrown from one of the specified delegates.</exception>
  5094. <returns>A <see cref="T:System.Threading.Tasks.ParallelLoopResult">ParallelLoopResult</see> structure
  5095. that contains information on what portion of the loop completed.</returns>
  5096. <remarks>
  5097. The <paramref name="body"/> delegate is invoked once for each element in the <paramref name="source"/>
  5098. enumerable. It is provided with the current element as a parameter.
  5099. </remarks>
  5100. </member>
  5101. <member name="M:System.Threading.Tasks.Parallel.ForEach``1(System.Collections.Generic.IEnumerable{``0},System.Threading.Tasks.ParallelOptions,System.Action{``0})">
  5102. <summary>
  5103. Executes a for each operation on an <see cref="T:System.Collections.IEnumerable{TSource}"/>
  5104. in which iterations may run in parallel.
  5105. </summary>
  5106. <typeparam name="TSource">The type of the data in the source.</typeparam>
  5107. <param name="source">An enumerable data source.</param>
  5108. <param name="parallelOptions">A <see cref="T:System.Threading.Tasks.ParallelOptions">ParallelOptions</see>
  5109. instance that configures the behavior of this operation.</param>
  5110. <param name="body">The delegate that is invoked once per iteration.</param>
  5111. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="source"/>
  5112. argument is null.</exception>
  5113. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  5114. <paramref name="parallelOptions"/> argument is null.</exception>
  5115. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="body"/>
  5116. argument is null.</exception>
  5117. <exception cref="T:System.OperationCanceledException">The exception that is thrown when the
  5118. <see cref="T:System.Threading.CancellationToken">CancellationToken</see> in the <paramref name="parallelOptions"/>
  5119. argument is set</exception>
  5120. <exception cref="T:System.AggregateException">The exception that is thrown to contain an exception
  5121. thrown from one of the specified delegates.</exception>
  5122. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when the
  5123. the <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> associated with the
  5124. the <see cref="T:System.Threading.CancellationToken">CancellationToken</see> in the
  5125. <paramref name="parallelOptions"/> has been disposed.</exception>
  5126. <returns>A <see cref="T:System.Threading.Tasks.ParallelLoopResult">ParallelLoopResult</see> structure
  5127. that contains information on what portion of the loop completed.</returns>
  5128. <remarks>
  5129. The <paramref name="body"/> delegate is invoked once for each element in the <paramref name="source"/>
  5130. enumerable. It is provided with the current element as a parameter.
  5131. </remarks>
  5132. </member>
  5133. <member name="M:System.Threading.Tasks.Parallel.ForEach``1(System.Collections.Generic.IEnumerable{``0},System.Action{``0,System.Threading.Tasks.ParallelLoopState})">
  5134. <summary>
  5135. Executes a for each operation on an <see cref="T:System.Collections.IEnumerable{TSource}"/>
  5136. in which iterations may run in parallel.
  5137. </summary>
  5138. <typeparam name="TSource">The type of the data in the source.</typeparam>
  5139. <param name="source">An enumerable data source.</param>
  5140. <param name="body">The delegate that is invoked once per iteration.</param>
  5141. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="source"/>
  5142. argument is null.</exception>
  5143. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="body"/>
  5144. argument is null.</exception>
  5145. <exception cref="T:System.AggregateException">The exception that is thrown to contain an exception
  5146. thrown from one of the specified delegates.</exception>
  5147. <returns>A <see cref="T:System.Threading.Tasks.ParallelLoopResult">ParallelLoopResult</see> structure
  5148. that contains information on what portion of the loop completed.</returns>
  5149. <remarks>
  5150. The <paramref name="body"/> delegate is invoked once for each element in the <paramref name="source"/>
  5151. enumerable. It is provided with the following parameters: the current element,
  5152. and a <see cref="T:System.Threading.Tasks.ParallelLoopState">ParallelLoopState</see> instance that may be
  5153. used to break out of the loop prematurely.
  5154. </remarks>
  5155. </member>
  5156. <member name="M:System.Threading.Tasks.Parallel.ForEach``1(System.Collections.Generic.IEnumerable{``0},System.Threading.Tasks.ParallelOptions,System.Action{``0,System.Threading.Tasks.ParallelLoopState})">
  5157. <summary>
  5158. Executes a for each operation on an <see cref="T:System.Collections.IEnumerable{TSource}"/>
  5159. in which iterations may run in parallel.
  5160. </summary>
  5161. <typeparam name="TSource">The type of the data in the source.</typeparam>
  5162. <param name="source">An enumerable data source.</param>
  5163. <param name="parallelOptions">A <see cref="T:System.Threading.Tasks.ParallelOptions">ParallelOptions</see>
  5164. instance that configures the behavior of this operation.</param>
  5165. <param name="body">The delegate that is invoked once per iteration.</param>
  5166. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="source"/>
  5167. argument is null.</exception>
  5168. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  5169. <paramref name="parallelOptions"/> argument is null.</exception>
  5170. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="body"/>
  5171. argument is null.</exception>
  5172. <exception cref="T:System.OperationCanceledException">The exception that is thrown when the
  5173. <see cref="T:System.Threading.CancellationToken">CancellationToken</see> in the <paramref name="parallelOptions"/>
  5174. argument is set</exception>
  5175. <exception cref="T:System.AggregateException">The exception that is thrown to contain an exception
  5176. thrown from one of the specified delegates.</exception>
  5177. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when the
  5178. the <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> associated with the
  5179. the <see cref="T:System.Threading.CancellationToken">CancellationToken</see> in the
  5180. <paramref name="parallelOptions"/> has been disposed.</exception>
  5181. <returns>A <see cref="T:System.Threading.Tasks.ParallelLoopResult">ParallelLoopResult</see> structure
  5182. that contains information on what portion of the loop completed.</returns>
  5183. <remarks>
  5184. The <paramref name="body"/> delegate is invoked once for each element in the <paramref name="source"/>
  5185. enumerable. It is provided with the following parameters: the current element,
  5186. and a <see cref="T:System.Threading.Tasks.ParallelLoopState">ParallelLoopState</see> instance that may be
  5187. used to break out of the loop prematurely.
  5188. </remarks>
  5189. </member>
  5190. <member name="M:System.Threading.Tasks.Parallel.ForEach``1(System.Collections.Generic.IEnumerable{``0},System.Action{``0,System.Threading.Tasks.ParallelLoopState,System.Int64})">
  5191. <summary>
  5192. Executes a for each operation on an <see cref="T:System.Collections.IEnumerable{TSource}"/>
  5193. in which iterations may run in parallel.
  5194. </summary>
  5195. <typeparam name="TSource">The type of the data in the source.</typeparam>
  5196. <param name="source">An enumerable data source.</param>
  5197. <param name="body">The delegate that is invoked once per iteration.</param>
  5198. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="source"/>
  5199. argument is null.</exception>
  5200. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="body"/>
  5201. argument is null.</exception>
  5202. <exception cref="T:System.AggregateException">The exception that is thrown to contain an exception
  5203. thrown from one of the specified delegates.</exception>
  5204. <returns>A <see cref="T:System.Threading.Tasks.ParallelLoopResult">ParallelLoopResult</see> structure
  5205. that contains information on what portion of the loop completed.</returns>
  5206. <remarks>
  5207. The <paramref name="body"/> delegate is invoked once for each element in the <paramref name="source"/>
  5208. enumerable. It is provided with the following parameters: the current element,
  5209. a <see cref="T:System.Threading.Tasks.ParallelLoopState">ParallelLoopState</see> instance that may be
  5210. used to break out of the loop prematurely, and the current element's index (an Int64).
  5211. </remarks>
  5212. </member>
  5213. <member name="M:System.Threading.Tasks.Parallel.ForEach``1(System.Collections.Generic.IEnumerable{``0},System.Threading.Tasks.ParallelOptions,System.Action{``0,System.Threading.Tasks.ParallelLoopState,System.Int64})">
  5214. <summary>
  5215. Executes a for each operation on an <see cref="T:System.Collections.IEnumerable{TSource}"/>
  5216. in which iterations may run in parallel.
  5217. </summary>
  5218. <typeparam name="TSource">The type of the data in the source.</typeparam>
  5219. <param name="source">An enumerable data source.</param>
  5220. <param name="parallelOptions">A <see cref="T:System.Threading.Tasks.ParallelOptions">ParallelOptions</see>
  5221. instance that configures the behavior of this operation.</param>
  5222. <param name="body">The delegate that is invoked once per iteration.</param>
  5223. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="source"/>
  5224. argument is null.</exception>
  5225. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  5226. <paramref name="parallelOptions"/> argument is null.</exception>
  5227. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="body"/>
  5228. argument is null.</exception>
  5229. <exception cref="T:System.OperationCanceledException">The exception that is thrown when the
  5230. <see cref="T:System.Threading.CancellationToken">CancellationToken</see> in the <paramref name="parallelOptions"/>
  5231. argument is set</exception>
  5232. <exception cref="T:System.AggregateException">The exception that is thrown to contain an exception
  5233. thrown from one of the specified delegates.</exception>
  5234. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when the
  5235. the <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> associated with the
  5236. the <see cref="T:System.Threading.CancellationToken">CancellationToken</see> in the
  5237. <paramref name="parallelOptions"/> has been disposed.</exception>
  5238. <returns>A <see cref="T:System.Threading.Tasks.ParallelLoopResult">ParallelLoopResult</see> structure
  5239. that contains information on what portion of the loop completed.</returns>
  5240. <remarks>
  5241. The <paramref name="body"/> delegate is invoked once for each element in the <paramref name="source"/>
  5242. enumerable. It is provided with the following parameters: the current element,
  5243. a <see cref="T:System.Threading.Tasks.ParallelLoopState">ParallelLoopState</see> instance that may be
  5244. used to break out of the loop prematurely, and the current element's index (an Int64).
  5245. </remarks>
  5246. </member>
  5247. <member name="M:System.Threading.Tasks.Parallel.ForEach``2(System.Collections.Generic.IEnumerable{``0},System.Func{``1},System.Func{``0,System.Threading.Tasks.ParallelLoopState,``1,``1},System.Action{``1})">
  5248. <summary>
  5249. Executes a for each operation on an <see cref="T:System.Collections.IEnumerable{TSource}"/>
  5250. in which iterations may run in parallel.
  5251. </summary>
  5252. <typeparam name="TSource">The type of the data in the source.</typeparam>
  5253. <typeparam name="TLocal">The type of the thread-local data.</typeparam>
  5254. <param name="source">An enumerable data source.</param>
  5255. <param name="localInit">The function delegate that returns the initial state of the local data
  5256. for each thread.</param>
  5257. <param name="body">The delegate that is invoked once per iteration.</param>
  5258. <param name="localFinally">The delegate that performs a final action on the local state of each
  5259. thread.</param>
  5260. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="source"/>
  5261. argument is null.</exception>
  5262. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="body"/>
  5263. argument is null.</exception>
  5264. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  5265. <paramref name="localInit"/> argument is null.</exception>
  5266. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  5267. <paramref name="localFinally"/> argument is null.</exception>
  5268. <exception cref="T:System.AggregateException">The exception that is thrown to contain an exception
  5269. thrown from one of the specified delegates.</exception>
  5270. <returns>A <see cref="T:System.Threading.Tasks.ParallelLoopResult">ParallelLoopResult</see> structure
  5271. that contains information on what portion of the loop completed.</returns>
  5272. <remarks>
  5273. <para>
  5274. The <paramref name="body"/> delegate is invoked once for each element in the <paramref name="source"/>
  5275. enumerable. It is provided with the following parameters: the current element,
  5276. a <see cref="T:System.Threading.Tasks.ParallelLoopState">ParallelLoopState</see> instance that may be
  5277. used to break out of the loop prematurely, and some local state that may be shared amongst iterations
  5278. that execute on the same thread.
  5279. </para>
  5280. <para>
  5281. The <paramref name="localInit"/> delegate is invoked once for each thread that participates in the loop's
  5282. execution and returns the initial local state for each of those threads. These initial states are passed to the first
  5283. <paramref name="body"/> invocations on each thread. Then, every subsequent body invocation returns a possibly
  5284. modified state value that is passed to the next body invocation. Finally, the last body invocation on each thread returns a state value
  5285. that is passed to the <paramref name="localFinally"/> delegate. The localFinally delegate is invoked once per thread to perform a final
  5286. action on each thread's local state.
  5287. </para>
  5288. </remarks>
  5289. </member>
  5290. <member name="M:System.Threading.Tasks.Parallel.ForEach``2(System.Collections.Generic.IEnumerable{``0},System.Threading.Tasks.ParallelOptions,System.Func{``1},System.Func{``0,System.Threading.Tasks.ParallelLoopState,``1,``1},System.Action{``1})">
  5291. <summary>
  5292. Executes a for each operation on an <see cref="T:System.Collections.IEnumerable{TSource}"/>
  5293. in which iterations may run in parallel.
  5294. </summary>
  5295. <typeparam name="TSource">The type of the data in the source.</typeparam>
  5296. <typeparam name="TLocal">The type of the thread-local data.</typeparam>
  5297. <param name="source">An enumerable data source.</param>
  5298. <param name="parallelOptions">A <see cref="T:System.Threading.Tasks.ParallelOptions">ParallelOptions</see>
  5299. instance that configures the behavior of this operation.</param>
  5300. <param name="localInit">The function delegate that returns the initial state of the local data
  5301. for each thread.</param>
  5302. <param name="body">The delegate that is invoked once per iteration.</param>
  5303. <param name="localFinally">The delegate that performs a final action on the local state of each
  5304. thread.</param>
  5305. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="source"/>
  5306. argument is null.</exception>
  5307. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  5308. <paramref name="parallelOptions"/> argument is null.</exception>
  5309. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="body"/>
  5310. argument is null.</exception>
  5311. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  5312. <paramref name="localInit"/> argument is null.</exception>
  5313. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  5314. <paramref name="localFinally"/> argument is null.</exception>
  5315. <exception cref="T:System.OperationCanceledException">The exception that is thrown when the
  5316. <see cref="T:System.Threading.CancellationToken">CancellationToken</see> in the <paramref name="parallelOptions"/>
  5317. argument is set</exception>
  5318. <exception cref="T:System.AggregateException">The exception that is thrown to contain an exception
  5319. thrown from one of the specified delegates.</exception>
  5320. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when the
  5321. the <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> associated with the
  5322. the <see cref="T:System.Threading.CancellationToken">CancellationToken</see> in the
  5323. <paramref name="parallelOptions"/> has been disposed.</exception>
  5324. <returns>A <see cref="T:System.Threading.Tasks.ParallelLoopResult">ParallelLoopResult</see> structure
  5325. that contains information on what portion of the loop completed.</returns>
  5326. <remarks>
  5327. <para>
  5328. The <paramref name="body"/> delegate is invoked once for each element in the <paramref name="source"/>
  5329. enumerable. It is provided with the following parameters: the current element,
  5330. a <see cref="T:System.Threading.Tasks.ParallelLoopState">ParallelLoopState</see> instance that may be
  5331. used to break out of the loop prematurely, and some local state that may be shared amongst iterations
  5332. that execute on the same thread.
  5333. </para>
  5334. <para>
  5335. The <paramref name="localInit"/> delegate is invoked once for each thread that participates in the loop's
  5336. execution and returns the initial local state for each of those threads. These initial states are passed to the first
  5337. <paramref name="body"/> invocations on each thread. Then, every subsequent body invocation returns a possibly
  5338. modified state value that is passed to the next body invocation. Finally, the last body invocation on each thread returns a state value
  5339. that is passed to the <paramref name="localFinally"/> delegate. The localFinally delegate is invoked once per thread to perform a final
  5340. action on each thread's local state.
  5341. </para>
  5342. </remarks>
  5343. </member>
  5344. <member name="M:System.Threading.Tasks.Parallel.ForEach``2(System.Collections.Generic.IEnumerable{``0},System.Func{``1},System.Func{``0,System.Threading.Tasks.ParallelLoopState,System.Int64,``1,``1},System.Action{``1})">
  5345. <summary>
  5346. Executes a for each operation on an <see cref="T:System.Collections.IEnumerable{TSource}"/>
  5347. in which iterations may run in parallel.
  5348. </summary>
  5349. <typeparam name="TSource">The type of the data in the source.</typeparam>
  5350. <typeparam name="TLocal">The type of the thread-local data.</typeparam>
  5351. <param name="source">An enumerable data source.</param>
  5352. <param name="localInit">The function delegate that returns the initial state of the local data
  5353. for each thread.</param>
  5354. <param name="body">The delegate that is invoked once per iteration.</param>
  5355. <param name="localFinally">The delegate that performs a final action on the local state of each
  5356. thread.</param>
  5357. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="source"/>
  5358. argument is null.</exception>
  5359. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="body"/>
  5360. argument is null.</exception>
  5361. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  5362. <paramref name="localInit"/> argument is null.</exception>
  5363. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  5364. <paramref name="localFinally"/> argument is null.</exception>
  5365. <exception cref="T:System.AggregateException">The exception that is thrown to contain an exception
  5366. thrown from one of the specified delegates.</exception>
  5367. <returns>A <see cref="T:System.Threading.Tasks.ParallelLoopResult">ParallelLoopResult</see> structure
  5368. that contains information on what portion of the loop completed.</returns>
  5369. <remarks>
  5370. <para>
  5371. The <paramref name="body"/> delegate is invoked once for each element in the <paramref name="source"/>
  5372. enumerable. It is provided with the following parameters: the current element,
  5373. a <see cref="T:System.Threading.Tasks.ParallelLoopState">ParallelLoopState</see> instance that may be
  5374. used to break out of the loop prematurely, the current element's index (an Int64), and some local
  5375. state that may be shared amongst iterations that execute on the same thread.
  5376. </para>
  5377. <para>
  5378. The <paramref name="localInit"/> delegate is invoked once for each thread that participates in the loop's
  5379. execution and returns the initial local state for each of those threads. These initial states are passed to the first
  5380. <paramref name="body"/> invocations on each thread. Then, every subsequent body invocation returns a possibly
  5381. modified state value that is passed to the next body invocation. Finally, the last body invocation on each thread returns a state value
  5382. that is passed to the <paramref name="localFinally"/> delegate. The localFinally delegate is invoked once per thread to perform a final
  5383. action on each thread's local state.
  5384. </para>
  5385. </remarks>
  5386. </member>
  5387. <member name="M:System.Threading.Tasks.Parallel.ForEach``2(System.Collections.Generic.IEnumerable{``0},System.Threading.Tasks.ParallelOptions,System.Func{``1},System.Func{``0,System.Threading.Tasks.ParallelLoopState,System.Int64,``1,``1},System.Action{``1})">
  5388. <summary>
  5389. Executes a for each operation on an <see cref="T:System.Collections.IEnumerable{TSource}"/>
  5390. in which iterations may run in parallel.
  5391. </summary>
  5392. <typeparam name="TSource">The type of the data in the source.</typeparam>
  5393. <typeparam name="TLocal">The type of the thread-local data.</typeparam>
  5394. <param name="source">An enumerable data source.</param>
  5395. <param name="parallelOptions">A <see cref="T:System.Threading.Tasks.ParallelOptions">ParallelOptions</see>
  5396. instance that configures the behavior of this operation.</param>
  5397. <param name="localInit">The function delegate that returns the initial state of the local data
  5398. for each thread.</param>
  5399. <param name="body">The delegate that is invoked once per iteration.</param>
  5400. <param name="localFinally">The delegate that performs a final action on the local state of each
  5401. thread.</param>
  5402. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="source"/>
  5403. argument is null.</exception>
  5404. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  5405. <paramref name="parallelOptions"/> argument is null.</exception>
  5406. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="body"/>
  5407. argument is null.</exception>
  5408. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  5409. <paramref name="localInit"/> argument is null.</exception>
  5410. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  5411. <paramref name="localFinally"/> argument is null.</exception>
  5412. <exception cref="T:System.OperationCanceledException">The exception that is thrown when the
  5413. <see cref="T:System.Threading.CancellationToken">CancellationToken</see> in the <paramref name="parallelOptions"/>
  5414. argument is set</exception>
  5415. <exception cref="T:System.AggregateException">The exception that is thrown to contain an exception
  5416. thrown from one of the specified delegates.</exception>
  5417. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when the
  5418. the <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> associated with the
  5419. the <see cref="T:System.Threading.CancellationToken">CancellationToken</see> in the
  5420. <paramref name="parallelOptions"/> has been disposed.</exception>
  5421. <returns>A <see cref="T:System.Threading.Tasks.ParallelLoopResult">ParallelLoopResult</see> structure
  5422. that contains information on what portion of the loop completed.</returns>
  5423. <remarks>
  5424. <para>
  5425. The <paramref name="body"/> delegate is invoked once for each element in the <paramref name="source"/>
  5426. enumerable. It is provided with the following parameters: the current element,
  5427. a <see cref="T:System.Threading.Tasks.ParallelLoopState">ParallelLoopState</see> instance that may be
  5428. used to break out of the loop prematurely, the current element's index (an Int64), and some local
  5429. state that may be shared amongst iterations that execute on the same thread.
  5430. </para>
  5431. <para>
  5432. The <paramref name="localInit"/> delegate is invoked once for each thread that participates in the loop's
  5433. execution and returns the initial local state for each of those threads. These initial states are passed to the first
  5434. <paramref name="body"/> invocations on each thread. Then, every subsequent body invocation returns a possibly
  5435. modified state value that is passed to the next body invocation. Finally, the last body invocation on each thread returns a state value
  5436. that is passed to the <paramref name="localFinally"/> delegate. The localFinally delegate is invoked once per thread to perform a final
  5437. action on each thread's local state.
  5438. </para>
  5439. </remarks>
  5440. </member>
  5441. <member name="M:System.Threading.Tasks.Parallel.ForEachWorker``2(System.Collections.Generic.IEnumerable{``0},System.Threading.Tasks.ParallelOptions,System.Action{``0},System.Action{``0,System.Threading.Tasks.ParallelLoopState},System.Action{``0,System.Threading.Tasks.ParallelLoopState,System.Int64},System.Func{``0,System.Threading.Tasks.ParallelLoopState,``1,``1},System.Func{``0,System.Threading.Tasks.ParallelLoopState,System.Int64,``1,``1},System.Func{``1},System.Action{``1})">
  5442. <summary>
  5443. Performs the major work of the parallel foreach loop. It assumes that argument validation has
  5444. already been performed by the caller. This function's whole purpose in life is to enable as much
  5445. reuse of common implementation details for the various For overloads we offer. Without it, we'd
  5446. end up with lots of duplicate code. It handles: (1) simple foreach loops, (2) foreach loops that
  5447. depend on ParallelState, and (3) foreach loops that access indices, (4) foreach loops with thread
  5448. local data, and any necessary permutations thereof.
  5449. @TODO: at some point in the future, we may want to manually inline the interesting bits into the
  5450. specific overloads above. There is some overhead associated with the extra arguments passed to
  5451. the function, and various if-checks in the code. It is also more difficult to follow what the
  5452. code does as-is because it has to handle the all flavors.
  5453. </summary>
  5454. <typeparam name="TSource">The type of the source data.</typeparam>
  5455. <typeparam name="TLocal">The type of the local data.</typeparam>
  5456. <param name="source">An enumerable data source.</param>
  5457. <param name="parallelOptions">ParallelOptions instance to use with this ForEach-loop</param>
  5458. <param name="body">The simple loop body.</param>
  5459. <param name="bodyWithState">The loop body for ParallelState overloads.</param>
  5460. <param name="bodyWithStateAndIndex">The loop body for ParallelState/indexed overloads.</param>
  5461. <param name="bodyWithStateAndLocal">The loop body for ParallelState/thread local state overloads.</param>
  5462. <param name="bodyWithEverything">The loop body for ParallelState/indexed/thread local state overloads.</param>
  5463. <param name="localInit">A selector function that returns new thread local state.</param>
  5464. <param name="localFinally">A cleanup function to destroy thread local state.</param>
  5465. <remarks>Only one of the bodyXX arguments may be supplied (i.e. they are exclusive).</remarks>
  5466. <returns>A <see cref="T:System.Threading.Tasks.ParallelLoopResult"/> structure.</returns>
  5467. </member>
  5468. <member name="M:System.Threading.Tasks.Parallel.ForEachWorker``2(``0[],System.Threading.Tasks.ParallelOptions,System.Action{``0},System.Action{``0,System.Threading.Tasks.ParallelLoopState},System.Action{``0,System.Threading.Tasks.ParallelLoopState,System.Int64},System.Func{``0,System.Threading.Tasks.ParallelLoopState,``1,``1},System.Func{``0,System.Threading.Tasks.ParallelLoopState,System.Int64,``1,``1},System.Func{``1},System.Action{``1})">
  5469. <summary>
  5470. A fast path for the more general ForEachWorker method above. This uses ldelem instructions to
  5471. access the individual elements of the array, which will be faster.
  5472. </summary>
  5473. <typeparam name="TSource">The type of the source data.</typeparam>
  5474. <typeparam name="TLocal">The type of the local data.</typeparam>
  5475. <param name="array">An array data source.</param>
  5476. <param name="parallelOptions">The options to use for execution.</param>
  5477. <param name="body">The simple loop body.</param>
  5478. <param name="bodyWithState">The loop body for ParallelState overloads.</param>
  5479. <param name="bodyWithStateAndIndex">The loop body for indexed/ParallelLoopState overloads.</param>
  5480. <param name="bodyWithStateAndLocal">The loop body for local/ParallelLoopState overloads.</param>
  5481. <param name="bodyWithEverything">The loop body for the most generic overload.</param>
  5482. <param name="localInit">A selector function that returns new thread local state.</param>
  5483. <param name="localFinally">A cleanup function to destroy thread local state.</param>
  5484. <returns>A <see cref="T:System.Threading.Tasks.ParallelLoopResult"/> structure.</returns>
  5485. </member>
  5486. <member name="M:System.Threading.Tasks.Parallel.ForEachWorker``2(System.Collections.Generic.IList{``0},System.Threading.Tasks.ParallelOptions,System.Action{``0},System.Action{``0,System.Threading.Tasks.ParallelLoopState},System.Action{``0,System.Threading.Tasks.ParallelLoopState,System.Int64},System.Func{``0,System.Threading.Tasks.ParallelLoopState,``1,``1},System.Func{``0,System.Threading.Tasks.ParallelLoopState,System.Int64,``1,``1},System.Func{``1},System.Action{``1})">
  5487. <summary>
  5488. A fast path for the more general ForEachWorker method above. This uses IList&lt;T&gt;'s indexer
  5489. capabilities to access the individual elements of the list rather than an enumerator.
  5490. </summary>
  5491. <typeparam name="TSource">The type of the source data.</typeparam>
  5492. <typeparam name="TLocal">The type of the local data.</typeparam>
  5493. <param name="list">A list data source.</param>
  5494. <param name="parallelOptions">The options to use for execution.</param>
  5495. <param name="body">The simple loop body.</param>
  5496. <param name="bodyWithState">The loop body for ParallelState overloads.</param>
  5497. <param name="bodyWithStateAndIndex">The loop body for indexed/ParallelLoopState overloads.</param>
  5498. <param name="bodyWithStateAndLocal">The loop body for local/ParallelLoopState overloads.</param>
  5499. <param name="bodyWithEverything">The loop body for the most generic overload.</param>
  5500. <param name="localInit">A selector function that returns new thread local state.</param>
  5501. <param name="localFinally">A cleanup function to destroy thread local state.</param>
  5502. <returns>A <see cref="T:System.Threading.Tasks.ParallelLoopResult"/> structure.</returns>
  5503. </member>
  5504. <member name="M:System.Threading.Tasks.Parallel.ForEach``1(System.Collections.Concurrent.Partitioner{``0},System.Action{``0})">
  5505. <summary>
  5506. Executes a for each operation on a <see cref="T:System.Collections.Concurrent.Partitioner{TSource}">
  5507. Partitioner</see> in which iterations may run in parallel.
  5508. </summary>
  5509. <typeparam name="TSource">The type of the elements in <paramref name="source"/>.</typeparam>
  5510. <param name="source">The Partitioner that contains the original data source.</param>
  5511. <param name="body">The delegate that is invoked once per iteration.</param>
  5512. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="source"/>
  5513. argument is null.</exception>
  5514. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="body"/>
  5515. argument is null.</exception>
  5516. <exception cref="T:System.InvalidOperationException">The exception that is thrown when the
  5517. SupportsDynamicPartitions property in the <paramref name="source"/> Partitioner returns
  5518. false.</exception>
  5519. <exception cref="T:System.InvalidOperationException">The exception that is thrown when any
  5520. methods in the <paramref name="source"/> Partitioner return null.</exception>
  5521. <exception cref="T:System.InvalidOperationException">The exception that is thrown when the
  5522. GetPartitions() method in the <paramref name="source"/> Partitioner does not return
  5523. the correct number of partitions.</exception>
  5524. <exception cref="T:System.InvalidOperationException">The exception that is thrown when the
  5525. GetPartitions() method in the <paramref name="source"/> Partitioner returns an IList
  5526. with at least one null value.</exception>
  5527. <exception cref="T:System.InvalidOperationException">The exception that is thrown when the
  5528. GetDynamicPartitions() method in the <paramref name="source"/> Partitioner returns an
  5529. IEnumerable whose GetEnumerator() method returns null.</exception>
  5530. <exception cref="T:System.AggregateException">The exception that is thrown to contain an exception
  5531. thrown from one of the specified delegates.</exception>
  5532. <returns>A <see cref="T:System.Threading.Tasks.ParallelLoopResult">ParallelLoopResult</see> structure
  5533. that contains information on what portion of the loop completed.</returns>
  5534. <remarks>
  5535. <para>
  5536. The <see cref="T:System.Collections.Concurrent.Partitioner{TSource}">Partitioner</see> is used to retrieve
  5537. the elements to be processed, in place of the original data source. If the current element's
  5538. index is desired, the source must be an <see cref="T:System.Collections.Concurrent.OrderablePartitioner">
  5539. OrderablePartitioner</see>.
  5540. </para>
  5541. <para>
  5542. The <paramref name="body"/> delegate is invoked once for each element in the <paramref name="source"/>
  5543. Partitioner. It is provided with the current element as a parameter.
  5544. </para>
  5545. </remarks>
  5546. </member>
  5547. <member name="M:System.Threading.Tasks.Parallel.ForEach``1(System.Collections.Concurrent.Partitioner{``0},System.Action{``0,System.Threading.Tasks.ParallelLoopState})">
  5548. <summary>
  5549. Executes a for each operation on a <see cref="T:System.Collections.Concurrent.Partitioner{TSource}">
  5550. Partitioner</see> in which iterations may run in parallel.
  5551. </summary>
  5552. <typeparam name="TSource">The type of the elements in <paramref name="source"/>.</typeparam>
  5553. <param name="source">The Partitioner that contains the original data source.</param>
  5554. <param name="body">The delegate that is invoked once per iteration.</param>
  5555. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="source"/>
  5556. argument is null.</exception>
  5557. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="body"/>
  5558. argument is null.</exception>
  5559. <exception cref="T:System.InvalidOperationException">The exception that is thrown when the
  5560. SupportsDynamicPartitions property in the <paramref name="source"/> Partitioner returns
  5561. false.</exception>
  5562. <exception cref="T:System.InvalidOperationException">The exception that is thrown when any
  5563. methods in the <paramref name="source"/> Partitioner return null.</exception>
  5564. <exception cref="T:System.InvalidOperationException">The exception that is thrown when the
  5565. GetPartitions() method in the <paramref name="source"/> Partitioner does not return
  5566. the correct number of partitions.</exception>
  5567. <exception cref="T:System.InvalidOperationException">The exception that is thrown when the
  5568. GetPartitions() method in the <paramref name="source"/> Partitioner returns an IList
  5569. with at least one null value.</exception>
  5570. <exception cref="T:System.InvalidOperationException">The exception that is thrown when the
  5571. GetDynamicPartitions() method in the <paramref name="source"/> Partitioner returns an
  5572. IEnumerable whose GetEnumerator() method returns null.</exception>
  5573. <exception cref="T:System.AggregateException">The exception that is thrown to contain an exception
  5574. thrown from one of the specified delegates.</exception>
  5575. <returns>A <see cref="T:System.Threading.Tasks.ParallelLoopResult">ParallelLoopResult</see> structure
  5576. that contains information on what portion of the loop completed.</returns>
  5577. <remarks>
  5578. <para>
  5579. The <see cref="T:System.Collections.Concurrent.Partitioner{TSource}">Partitioner</see> is used to retrieve
  5580. the elements to be processed, in place of the original data source. If the current element's
  5581. index is desired, the source must be an <see cref="T:System.Collections.Concurrent.OrderablePartitioner">
  5582. OrderablePartitioner</see>.
  5583. </para>
  5584. <para>
  5585. The <paramref name="body"/> delegate is invoked once for each element in the <paramref name="source"/>
  5586. Partitioner. It is provided with the following parameters: the current element,
  5587. and a <see cref="T:System.Threading.Tasks.ParallelLoopState">ParallelLoopState</see> instance that may be
  5588. used to break out of the loop prematurely.
  5589. </para>
  5590. </remarks>
  5591. </member>
  5592. <member name="M:System.Threading.Tasks.Parallel.ForEach``1(System.Collections.Concurrent.OrderablePartitioner{``0},System.Action{``0,System.Threading.Tasks.ParallelLoopState,System.Int64})">
  5593. <summary>
  5594. Executes a for each operation on a <see cref="T:System.Collections.Concurrent.OrderablePartitioner{TSource}">
  5595. OrderablePartitioner</see> in which iterations may run in parallel.
  5596. </summary>
  5597. <typeparam name="TSource">The type of the elements in <paramref name="source"/>.</typeparam>
  5598. <param name="source">The OrderablePartitioner that contains the original data source.</param>
  5599. <param name="body">The delegate that is invoked once per iteration.</param>
  5600. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="source"/>
  5601. argument is null.</exception>
  5602. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="body"/>
  5603. argument is null.</exception>
  5604. <exception cref="T:System.InvalidOperationException">The exception that is thrown when the
  5605. SupportsDynamicPartitions property in the <paramref name="source"/> OrderablePartitioner returns
  5606. false.</exception>
  5607. <exception cref="T:System.InvalidOperationException">The exception that is thrown when the
  5608. KeysNormalized property in the <paramref name="source"/> OrderablePartitioner returns
  5609. false.</exception>
  5610. <exception cref="T:System.InvalidOperationException">The exception that is thrown when any
  5611. methods in the <paramref name="source"/> OrderablePartitioner return null.</exception>
  5612. <exception cref="T:System.InvalidOperationException">The exception that is thrown when the
  5613. GetPartitions() or GetOrderablePartitions() methods in the <paramref name="source"/>
  5614. OrderablePartitioner do not return the correct number of partitions.</exception>
  5615. <exception cref="T:System.InvalidOperationException">The exception that is thrown when the
  5616. GetPartitions() or GetOrderablePartitions() methods in the <paramref name="source"/>
  5617. OrderablePartitioner return an IList with at least one null value.</exception>
  5618. <exception cref="T:System.InvalidOperationException">The exception that is thrown when the
  5619. GetDynamicPartitions() or GetDynamicOrderablePartitions() methods in the <paramref name="source"/>
  5620. OrderablePartitioner return an IEnumerable whose GetEnumerator() method returns null.</exception>
  5621. <exception cref="T:System.AggregateException">The exception that is thrown to contain an exception
  5622. thrown from one of the specified delegates.</exception>
  5623. <returns>A <see cref="T:System.Threading.Tasks.ParallelLoopResult">ParallelLoopResult</see> structure
  5624. that contains information on what portion of the loop completed.</returns>
  5625. <remarks>
  5626. <para>
  5627. The <see cref="T:System.Collections.Concurrent.Partitioner{TSource}">Partitioner</see> is used to retrieve
  5628. the elements to be processed, in place of the original data source. If the current element's
  5629. index is desired, the source must be an <see cref="T:System.Collections.Concurrent.OrderablePartitioner">
  5630. OrderablePartitioner</see>.
  5631. </para>
  5632. <para>
  5633. The <paramref name="body"/> delegate is invoked once for each element in the <paramref name="source"/>
  5634. Partitioner. It is provided with the following parameters: the current element,
  5635. a <see cref="T:System.Threading.Tasks.ParallelLoopState">ParallelLoopState</see> instance that may be
  5636. used to break out of the loop prematurely, and the current element's index (an Int64).
  5637. </para>
  5638. </remarks>
  5639. </member>
  5640. <member name="M:System.Threading.Tasks.Parallel.ForEach``2(System.Collections.Concurrent.Partitioner{``0},System.Func{``1},System.Func{``0,System.Threading.Tasks.ParallelLoopState,``1,``1},System.Action{``1})">
  5641. <summary>
  5642. Executes a for each operation on a <see cref="T:System.Collections.Concurrent.Partitioner{TSource}">
  5643. Partitioner</see> in which iterations may run in parallel.
  5644. </summary>
  5645. <typeparam name="TSource">The type of the elements in <paramref name="source"/>.</typeparam>
  5646. <typeparam name="TLocal">The type of the thread-local data.</typeparam>
  5647. <param name="source">The Partitioner that contains the original data source.</param>
  5648. <param name="localInit">The function delegate that returns the initial state of the local data
  5649. for each thread.</param>
  5650. <param name="body">The delegate that is invoked once per iteration.</param>
  5651. <param name="localFinally">The delegate that performs a final action on the local state of each
  5652. thread.</param>
  5653. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="source"/>
  5654. argument is null.</exception>
  5655. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="body"/>
  5656. argument is null.</exception>
  5657. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  5658. <paramref name="localInit"/> argument is null.</exception>
  5659. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  5660. <paramref name="localFinally"/> argument is null.</exception>
  5661. <exception cref="T:System.InvalidOperationException">The exception that is thrown when the
  5662. SupportsDynamicPartitions property in the <paramref name="source"/> Partitioner returns
  5663. false.</exception>
  5664. <exception cref="T:System.InvalidOperationException">The exception that is thrown when any
  5665. methods in the <paramref name="source"/> Partitioner return null.</exception>
  5666. <exception cref="T:System.InvalidOperationException">The exception that is thrown when the
  5667. GetPartitions() method in the <paramref name="source"/> Partitioner does not return
  5668. the correct number of partitions.</exception>
  5669. <exception cref="T:System.InvalidOperationException">The exception that is thrown when the
  5670. GetPartitions() method in the <paramref name="source"/> Partitioner returns an IList
  5671. with at least one null value.</exception>
  5672. <exception cref="T:System.InvalidOperationException">The exception that is thrown when the
  5673. GetDynamicPartitions() method in the <paramref name="source"/> Partitioner returns an
  5674. IEnumerable whose GetEnumerator() method returns null.</exception>
  5675. <exception cref="T:System.AggregateException">The exception that is thrown to contain an exception
  5676. thrown from one of the specified delegates.</exception>
  5677. <returns>A <see cref="T:System.Threading.Tasks.ParallelLoopResult">ParallelLoopResult</see> structure
  5678. that contains information on what portion of the loop completed.</returns>
  5679. <remarks>
  5680. <para>
  5681. The <see cref="T:System.Collections.Concurrent.Partitioner{TSource}">Partitioner</see> is used to retrieve
  5682. the elements to be processed, in place of the original data source. If the current element's
  5683. index is desired, the source must be an <see cref="T:System.Collections.Concurrent.OrderablePartitioner">
  5684. OrderablePartitioner</see>.
  5685. </para>
  5686. <para>
  5687. The <paramref name="body"/> delegate is invoked once for each element in the <paramref name="source"/>
  5688. Partitioner. It is provided with the following parameters: the current element,
  5689. a <see cref="T:System.Threading.Tasks.ParallelLoopState">ParallelLoopState</see> instance that may be
  5690. used to break out of the loop prematurely, and some local state that may be shared amongst iterations
  5691. that execute on the same thread.
  5692. </para>
  5693. <para>
  5694. The <paramref name="localInit"/> delegate is invoked once for each thread that participates in the loop's
  5695. execution and returns the initial local state for each of those threads. These initial states are passed to the first
  5696. <paramref name="body"/> invocations on each thread. Then, every subsequent body invocation returns a possibly
  5697. modified state value that is passed to the next body invocation. Finally, the last body invocation on each thread returns a state value
  5698. that is passed to the <paramref name="localFinally"/> delegate. The localFinally delegate is invoked once per thread to perform a final
  5699. action on each thread's local state.
  5700. </para>
  5701. </remarks>
  5702. </member>
  5703. <member name="M:System.Threading.Tasks.Parallel.ForEach``2(System.Collections.Concurrent.OrderablePartitioner{``0},System.Func{``1},System.Func{``0,System.Threading.Tasks.ParallelLoopState,System.Int64,``1,``1},System.Action{``1})">
  5704. <summary>
  5705. Executes a for each operation on a <see cref="T:System.Collections.Concurrent.OrderablePartitioner{TSource}">
  5706. OrderablePartitioner</see> in which iterations may run in parallel.
  5707. </summary>
  5708. <typeparam name="TSource">The type of the elements in <paramref name="source"/>.</typeparam>
  5709. <typeparam name="TLocal">The type of the thread-local data.</typeparam>
  5710. <param name="source">The OrderablePartitioner that contains the original data source.</param>
  5711. <param name="localInit">The function delegate that returns the initial state of the local data
  5712. for each thread.</param>
  5713. <param name="body">The delegate that is invoked once per iteration.</param>
  5714. <param name="localFinally">The delegate that performs a final action on the local state of each
  5715. thread.</param>
  5716. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="source"/>
  5717. argument is null.</exception>
  5718. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="body"/>
  5719. argument is null.</exception>
  5720. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  5721. <paramref name="localInit"/> argument is null.</exception>
  5722. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  5723. <paramref name="localFinally"/> argument is null.</exception>
  5724. <exception cref="T:System.InvalidOperationException">The exception that is thrown when the
  5725. SupportsDynamicPartitions property in the <paramref name="source"/> OrderablePartitioner returns
  5726. false.</exception>
  5727. <exception cref="T:System.InvalidOperationException">The exception that is thrown when the
  5728. KeysNormalized property in the <paramref name="source"/> OrderablePartitioner returns
  5729. false.</exception>
  5730. <exception cref="T:System.InvalidOperationException">The exception that is thrown when any
  5731. methods in the <paramref name="source"/> OrderablePartitioner return null.</exception>
  5732. <exception cref="T:System.InvalidOperationException">The exception that is thrown when the
  5733. GetPartitions() or GetOrderablePartitions() methods in the <paramref name="source"/>
  5734. OrderablePartitioner do not return the correct number of partitions.</exception>
  5735. <exception cref="T:System.InvalidOperationException">The exception that is thrown when the
  5736. GetPartitions() or GetOrderablePartitions() methods in the <paramref name="source"/>
  5737. OrderablePartitioner return an IList with at least one null value.</exception>
  5738. <exception cref="T:System.InvalidOperationException">The exception that is thrown when the
  5739. GetDynamicPartitions() or GetDynamicOrderablePartitions() methods in the <paramref name="source"/>
  5740. OrderablePartitioner return an IEnumerable whose GetEnumerator() method returns null.</exception>
  5741. <exception cref="T:System.AggregateException">The exception that is thrown to contain an exception
  5742. thrown from one of the specified delegates.</exception>
  5743. <returns>A <see cref="T:System.Threading.Tasks.ParallelLoopResult">ParallelLoopResult</see> structure
  5744. that contains information on what portion of the loop completed.</returns>
  5745. <remarks>
  5746. <para>
  5747. The <see cref="T:System.Collections.Concurrent.Partitioner{TSource}">Partitioner</see> is used to retrieve
  5748. the elements to be processed, in place of the original data source. If the current element's
  5749. index is desired, the source must be an <see cref="T:System.Collections.Concurrent.OrderablePartitioner">
  5750. OrderablePartitioner</see>.
  5751. </para>
  5752. <para>
  5753. The <paramref name="body"/> delegate is invoked once for each element in the <paramref name="source"/>
  5754. Partitioner. It is provided with the following parameters: the current element,
  5755. a <see cref="T:System.Threading.Tasks.ParallelLoopState">ParallelLoopState</see> instance that may be
  5756. used to break out of the loop prematurely, the current element's index (an Int64), and some local
  5757. state that may be shared amongst iterations that execute on the same thread.
  5758. </para>
  5759. <para>
  5760. The <paramref name="localInit"/> delegate is invoked once for each thread that participates in the loop's
  5761. execution and returns the initial local state for each of those threads. These initial states are passed to the first
  5762. <paramref name="body"/> invocations on each thread. Then, every subsequent body invocation returns a possibly
  5763. modified state value that is passed to the next body invocation. Finally, the last body invocation on each thread returns a state value
  5764. that is passed to the <paramref name="localFinally"/> delegate. The localFinally delegate is invoked once per thread to perform a final
  5765. action on each thread's local state.
  5766. </para>
  5767. </remarks>
  5768. </member>
  5769. <member name="M:System.Threading.Tasks.Parallel.ForEach``1(System.Collections.Concurrent.Partitioner{``0},System.Threading.Tasks.ParallelOptions,System.Action{``0})">
  5770. <summary>
  5771. Executes a for each operation on a <see cref="T:System.Collections.Concurrent.Partitioner{TSource}">
  5772. Partitioner</see> in which iterations may run in parallel.
  5773. </summary>
  5774. <typeparam name="TSource">The type of the elements in <paramref name="source"/>.</typeparam>
  5775. <param name="source">The Partitioner that contains the original data source.</param>
  5776. <param name="parallelOptions">A <see cref="T:System.Threading.Tasks.ParallelOptions">ParallelOptions</see>
  5777. instance that configures the behavior of this operation.</param>
  5778. <param name="body">The delegate that is invoked once per iteration.</param>
  5779. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="source"/>
  5780. argument is null.</exception>
  5781. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  5782. <paramref name="parallelOptions"/> argument is null.</exception>
  5783. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="body"/>
  5784. argument is null.</exception>
  5785. <exception cref="T:System.OperationCanceledException">The exception that is thrown when the
  5786. <see cref="T:System.Threading.CancellationToken">CancellationToken</see> in the <paramref name="parallelOptions"/>
  5787. argument is set</exception>
  5788. <exception cref="T:System.InvalidOperationException">The exception that is thrown when the
  5789. SupportsDynamicPartitions property in the <paramref name="source"/> Partitioner returns
  5790. false.</exception>
  5791. <exception cref="T:System.InvalidOperationException">The exception that is thrown when any
  5792. methods in the <paramref name="source"/> Partitioner return null.</exception>
  5793. <exception cref="T:System.InvalidOperationException">The exception that is thrown when the
  5794. GetPartitions() method in the <paramref name="source"/> Partitioner does not return
  5795. the correct number of partitions.</exception>
  5796. <exception cref="T:System.InvalidOperationException">The exception that is thrown when the
  5797. GetPartitions() method in the <paramref name="source"/> Partitioner returns an IList
  5798. with at least one null value.</exception>
  5799. <exception cref="T:System.InvalidOperationException">The exception that is thrown when the
  5800. GetDynamicPartitions() method in the <paramref name="source"/> Partitioner returns an
  5801. IEnumerable whose GetEnumerator() method returns null.</exception>
  5802. <exception cref="T:System.AggregateException">The exception that is thrown to contain an exception
  5803. thrown from one of the specified delegates.</exception>
  5804. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when the
  5805. the <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> associated with the
  5806. the <see cref="T:System.Threading.CancellationToken">CancellationToken</see> in the
  5807. <paramref name="parallelOptions"/> has been disposed.</exception>
  5808. <returns>A <see cref="T:System.Threading.Tasks.ParallelLoopResult">ParallelLoopResult</see> structure
  5809. that contains information on what portion of the loop completed.</returns>
  5810. <remarks>
  5811. <para>
  5812. The <see cref="T:System.Collections.Concurrent.Partitioner{TSource}">Partitioner</see> is used to retrieve
  5813. the elements to be processed, in place of the original data source. If the current element's
  5814. index is desired, the source must be an <see cref="T:System.Collections.Concurrent.OrderablePartitioner">
  5815. OrderablePartitioner</see>.
  5816. </para>
  5817. <para>
  5818. The <paramref name="body"/> delegate is invoked once for each element in the <paramref name="source"/>
  5819. Partitioner. It is provided with the current element as a parameter.
  5820. </para>
  5821. </remarks>
  5822. </member>
  5823. <member name="M:System.Threading.Tasks.Parallel.ForEach``1(System.Collections.Concurrent.Partitioner{``0},System.Threading.Tasks.ParallelOptions,System.Action{``0,System.Threading.Tasks.ParallelLoopState})">
  5824. <summary>
  5825. Executes a for each operation on a <see cref="T:System.Collections.Concurrent.Partitioner{TSource}">
  5826. Partitioner</see> in which iterations may run in parallel.
  5827. </summary>
  5828. <typeparam name="TSource">The type of the elements in <paramref name="source"/>.</typeparam>
  5829. <param name="source">The Partitioner that contains the original data source.</param>
  5830. <param name="parallelOptions">A <see cref="T:System.Threading.Tasks.ParallelOptions">ParallelOptions</see>
  5831. instance that configures the behavior of this operation.</param>
  5832. <param name="body">The delegate that is invoked once per iteration.</param>
  5833. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="source"/>
  5834. argument is null.</exception>
  5835. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  5836. <paramref name="parallelOptions"/> argument is null.</exception>
  5837. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="body"/>
  5838. argument is null.</exception>
  5839. <exception cref="T:System.OperationCanceledException">The exception that is thrown when the
  5840. <see cref="T:System.Threading.CancellationToken">CancellationToken</see> in the <paramref name="parallelOptions"/>
  5841. argument is set</exception>
  5842. <exception cref="T:System.InvalidOperationException">The exception that is thrown when the
  5843. SupportsDynamicPartitions property in the <paramref name="source"/> Partitioner returns
  5844. false.</exception>
  5845. <exception cref="T:System.InvalidOperationException">The exception that is thrown when any
  5846. methods in the <paramref name="source"/> Partitioner return null.</exception>
  5847. <exception cref="T:System.InvalidOperationException">The exception that is thrown when the
  5848. GetPartitions() method in the <paramref name="source"/> Partitioner does not return
  5849. the correct number of partitions.</exception>
  5850. <exception cref="T:System.InvalidOperationException">The exception that is thrown when the
  5851. GetPartitions() method in the <paramref name="source"/> Partitioner returns an IList
  5852. with at least one null value.</exception>
  5853. <exception cref="T:System.InvalidOperationException">The exception that is thrown when the
  5854. GetDynamicPartitions() method in the <paramref name="source"/> Partitioner returns an
  5855. IEnumerable whose GetEnumerator() method returns null.</exception>
  5856. <exception cref="T:System.AggregateException">The exception that is thrown to contain an exception
  5857. thrown from one of the specified delegates.</exception>
  5858. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when the
  5859. the <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> associated with the
  5860. the <see cref="T:System.Threading.CancellationToken">CancellationToken</see> in the
  5861. <paramref name="parallelOptions"/> has been disposed.</exception>
  5862. <returns>A <see cref="T:System.Threading.Tasks.ParallelLoopResult">ParallelLoopResult</see> structure
  5863. that contains information on what portion of the loop completed.</returns>
  5864. <remarks>
  5865. <para>
  5866. The <see cref="T:System.Collections.Concurrent.Partitioner{TSource}">Partitioner</see> is used to retrieve
  5867. the elements to be processed, in place of the original data source. If the current element's
  5868. index is desired, the source must be an <see cref="T:System.Collections.Concurrent.OrderablePartitioner">
  5869. OrderablePartitioner</see>.
  5870. </para>
  5871. <para>
  5872. The <paramref name="body"/> delegate is invoked once for each element in the <paramref name="source"/>
  5873. Partitioner. It is provided with the following parameters: the current element,
  5874. and a <see cref="T:System.Threading.Tasks.ParallelLoopState">ParallelLoopState</see> instance that may be
  5875. used to break out of the loop prematurely.
  5876. </para>
  5877. </remarks>
  5878. </member>
  5879. <member name="M:System.Threading.Tasks.Parallel.ForEach``1(System.Collections.Concurrent.OrderablePartitioner{``0},System.Threading.Tasks.ParallelOptions,System.Action{``0,System.Threading.Tasks.ParallelLoopState,System.Int64})">
  5880. <summary>
  5881. Executes a for each operation on a <see cref="T:System.Collections.Concurrent.OrderablePartitioner{TSource}">
  5882. OrderablePartitioner</see> in which iterations may run in parallel.
  5883. </summary>
  5884. <typeparam name="TSource">The type of the elements in <paramref name="source"/>.</typeparam>
  5885. <param name="source">The OrderablePartitioner that contains the original data source.</param>
  5886. <param name="parallelOptions">A <see cref="T:System.Threading.Tasks.ParallelOptions">ParallelOptions</see>
  5887. instance that configures the behavior of this operation.</param>
  5888. <param name="body">The delegate that is invoked once per iteration.</param>
  5889. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="source"/>
  5890. argument is null.</exception>
  5891. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  5892. <paramref name="parallelOptions"/> argument is null.</exception>
  5893. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="body"/>
  5894. argument is null.</exception>
  5895. <exception cref="T:System.OperationCanceledException">The exception that is thrown when the
  5896. <see cref="T:System.Threading.CancellationToken">CancellationToken</see> in the <paramref name="parallelOptions"/>
  5897. argument is set</exception>
  5898. <exception cref="T:System.InvalidOperationException">The exception that is thrown when the
  5899. SupportsDynamicPartitions property in the <paramref name="source"/> OrderablePartitioner returns
  5900. false.</exception>
  5901. <exception cref="T:System.InvalidOperationException">The exception that is thrown when the
  5902. KeysNormalized property in the <paramref name="source"/> OrderablePartitioner returns
  5903. false.</exception>
  5904. <exception cref="T:System.InvalidOperationException">The exception that is thrown when any
  5905. methods in the <paramref name="source"/> OrderablePartitioner return null.</exception>
  5906. <exception cref="T:System.InvalidOperationException">The exception that is thrown when the
  5907. GetPartitions() or GetOrderablePartitions() methods in the <paramref name="source"/>
  5908. OrderablePartitioner do not return the correct number of partitions.</exception>
  5909. <exception cref="T:System.InvalidOperationException">The exception that is thrown when the
  5910. GetPartitions() or GetOrderablePartitions() methods in the <paramref name="source"/>
  5911. OrderablePartitioner return an IList with at least one null value.</exception>
  5912. <exception cref="T:System.InvalidOperationException">The exception that is thrown when the
  5913. GetDynamicPartitions() or GetDynamicOrderablePartitions() methods in the <paramref name="source"/>
  5914. OrderablePartitioner return an IEnumerable whose GetEnumerator() method returns null.</exception>
  5915. <exception cref="T:System.AggregateException">The exception that is thrown to contain an exception
  5916. thrown from one of the specified delegates.</exception>
  5917. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when the
  5918. the <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> associated with the
  5919. the <see cref="T:System.Threading.CancellationToken">CancellationToken</see> in the
  5920. <paramref name="parallelOptions"/> has been disposed.</exception>
  5921. <returns>A <see cref="T:System.Threading.Tasks.ParallelLoopResult">ParallelLoopResult</see> structure
  5922. that contains information on what portion of the loop completed.</returns>
  5923. <remarks>
  5924. <para>
  5925. The <see cref="T:System.Collections.Concurrent.Partitioner{TSource}">Partitioner</see> is used to retrieve
  5926. the elements to be processed, in place of the original data source. If the current element's
  5927. index is desired, the source must be an <see cref="T:System.Collections.Concurrent.OrderablePartitioner">
  5928. OrderablePartitioner</see>.
  5929. </para>
  5930. <para>
  5931. The <paramref name="body"/> delegate is invoked once for each element in the <paramref name="source"/>
  5932. Partitioner. It is provided with the following parameters: the current element,
  5933. a <see cref="T:System.Threading.Tasks.ParallelLoopState">ParallelLoopState</see> instance that may be
  5934. used to break out of the loop prematurely, and the current element's index (an Int64).
  5935. </para>
  5936. </remarks>
  5937. </member>
  5938. <member name="M:System.Threading.Tasks.Parallel.ForEach``2(System.Collections.Concurrent.Partitioner{``0},System.Threading.Tasks.ParallelOptions,System.Func{``1},System.Func{``0,System.Threading.Tasks.ParallelLoopState,``1,``1},System.Action{``1})">
  5939. <summary>
  5940. Executes a for each operation on a <see cref="T:System.Collections.Concurrent.Partitioner{TSource}">
  5941. Partitioner</see> in which iterations may run in parallel.
  5942. </summary>
  5943. <typeparam name="TSource">The type of the elements in <paramref name="source"/>.</typeparam>
  5944. <typeparam name="TLocal">The type of the thread-local data.</typeparam>
  5945. <param name="source">The Partitioner that contains the original data source.</param>
  5946. <param name="parallelOptions">A <see cref="T:System.Threading.Tasks.ParallelOptions">ParallelOptions</see>
  5947. instance that configures the behavior of this operation.</param>
  5948. <param name="localInit">The function delegate that returns the initial state of the local data
  5949. for each thread.</param>
  5950. <param name="body">The delegate that is invoked once per iteration.</param>
  5951. <param name="localFinally">The delegate that performs a final action on the local state of each
  5952. thread.</param>
  5953. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="source"/>
  5954. argument is null.</exception>
  5955. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  5956. <paramref name="parallelOptions"/> argument is null.</exception>
  5957. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="body"/>
  5958. argument is null.</exception>
  5959. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  5960. <paramref name="localInit"/> argument is null.</exception>
  5961. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  5962. <paramref name="localFinally"/> argument is null.</exception>
  5963. <exception cref="T:System.OperationCanceledException">The exception that is thrown when the
  5964. <see cref="T:System.Threading.CancellationToken">CancellationToken</see> in the <paramref name="parallelOptions"/>
  5965. argument is set</exception>
  5966. <exception cref="T:System.InvalidOperationException">The exception that is thrown when the
  5967. SupportsDynamicPartitions property in the <paramref name="source"/> Partitioner returns
  5968. false.</exception>
  5969. <exception cref="T:System.InvalidOperationException">The exception that is thrown when any
  5970. methods in the <paramref name="source"/> Partitioner return null.</exception>
  5971. <exception cref="T:System.InvalidOperationException">The exception that is thrown when the
  5972. GetPartitions() method in the <paramref name="source"/> Partitioner does not return
  5973. the correct number of partitions.</exception>
  5974. <exception cref="T:System.InvalidOperationException">The exception that is thrown when the
  5975. GetPartitions() method in the <paramref name="source"/> Partitioner returns an IList
  5976. with at least one null value.</exception>
  5977. <exception cref="T:System.InvalidOperationException">The exception that is thrown when the
  5978. GetDynamicPartitions() method in the <paramref name="source"/> Partitioner returns an
  5979. IEnumerable whose GetEnumerator() method returns null.</exception>
  5980. <exception cref="T:System.AggregateException">The exception that is thrown to contain an exception
  5981. thrown from one of the specified delegates.</exception>
  5982. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when the
  5983. the <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> associated with the
  5984. the <see cref="T:System.Threading.CancellationToken">CancellationToken</see> in the
  5985. <paramref name="parallelOptions"/> has been disposed.</exception>
  5986. <returns>A <see cref="T:System.Threading.Tasks.ParallelLoopResult">ParallelLoopResult</see> structure
  5987. that contains information on what portion of the loop completed.</returns>
  5988. <remarks>
  5989. <para>
  5990. The <see cref="T:System.Collections.Concurrent.Partitioner{TSource}">Partitioner</see> is used to retrieve
  5991. the elements to be processed, in place of the original data source. If the current element's
  5992. index is desired, the source must be an <see cref="T:System.Collections.Concurrent.OrderablePartitioner">
  5993. OrderablePartitioner</see>.
  5994. </para>
  5995. <para>
  5996. The <paramref name="body"/> delegate is invoked once for each element in the <paramref name="source"/>
  5997. Partitioner. It is provided with the following parameters: the current element,
  5998. a <see cref="T:System.Threading.Tasks.ParallelLoopState">ParallelLoopState</see> instance that may be
  5999. used to break out of the loop prematurely, and some local state that may be shared amongst iterations
  6000. that execute on the same thread.
  6001. </para>
  6002. <para>
  6003. The <paramref name="localInit"/> delegate is invoked once for each thread that participates in the loop's
  6004. execution and returns the initial local state for each of those threads. These initial states are passed to the first
  6005. <paramref name="body"/> invocations on each thread. Then, every subsequent body invocation returns a possibly
  6006. modified state value that is passed to the next body invocation. Finally, the last body invocation on each thread returns a state value
  6007. that is passed to the <paramref name="localFinally"/> delegate. The localFinally delegate is invoked once per thread to perform a final
  6008. action on each thread's local state.
  6009. </para>
  6010. </remarks>
  6011. </member>
  6012. <member name="M:System.Threading.Tasks.Parallel.ForEach``2(System.Collections.Concurrent.OrderablePartitioner{``0},System.Threading.Tasks.ParallelOptions,System.Func{``1},System.Func{``0,System.Threading.Tasks.ParallelLoopState,System.Int64,``1,``1},System.Action{``1})">
  6013. <summary>
  6014. Executes a for each operation on a <see cref="T:System.Collections.Concurrent.OrderablePartitioner{TSource}">
  6015. OrderablePartitioner</see> in which iterations may run in parallel.
  6016. </summary>
  6017. <typeparam name="TSource">The type of the elements in <paramref name="source"/>.</typeparam>
  6018. <typeparam name="TLocal">The type of the thread-local data.</typeparam>
  6019. <param name="source">The OrderablePartitioner that contains the original data source.</param>
  6020. <param name="parallelOptions">A <see cref="T:System.Threading.Tasks.ParallelOptions">ParallelOptions</see>
  6021. instance that configures the behavior of this operation.</param>
  6022. <param name="localInit">The function delegate that returns the initial state of the local data
  6023. for each thread.</param>
  6024. <param name="body">The delegate that is invoked once per iteration.</param>
  6025. <param name="localFinally">The delegate that performs a final action on the local state of each
  6026. thread.</param>
  6027. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="source"/>
  6028. argument is null.</exception>
  6029. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  6030. <paramref name="parallelOptions"/> argument is null.</exception>
  6031. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="body"/>
  6032. argument is null.</exception>
  6033. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  6034. <paramref name="localInit"/> argument is null.</exception>
  6035. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  6036. <paramref name="localFinally"/> argument is null.</exception>
  6037. <exception cref="T:System.OperationCanceledException">The exception that is thrown when the
  6038. <see cref="T:System.Threading.CancellationToken">CancellationToken</see> in the <paramref name="parallelOptions"/>
  6039. argument is set</exception>
  6040. <exception cref="T:System.InvalidOperationException">The exception that is thrown when the
  6041. SupportsDynamicPartitions property in the <paramref name="source"/> OrderablePartitioner returns
  6042. false.</exception>
  6043. <exception cref="T:System.InvalidOperationException">The exception that is thrown when the
  6044. KeysNormalized property in the <paramref name="source"/> OrderablePartitioner returns
  6045. false.</exception>
  6046. <exception cref="T:System.InvalidOperationException">The exception that is thrown when any
  6047. methods in the <paramref name="source"/> OrderablePartitioner return null.</exception>
  6048. <exception cref="T:System.InvalidOperationException">The exception that is thrown when the
  6049. GetPartitions() or GetOrderablePartitions() methods in the <paramref name="source"/>
  6050. OrderablePartitioner do not return the correct number of partitions.</exception>
  6051. <exception cref="T:System.InvalidOperationException">The exception that is thrown when the
  6052. GetPartitions() or GetOrderablePartitions() methods in the <paramref name="source"/>
  6053. OrderablePartitioner return an IList with at least one null value.</exception>
  6054. <exception cref="T:System.InvalidOperationException">The exception that is thrown when the
  6055. GetDynamicPartitions() or GetDynamicOrderablePartitions() methods in the <paramref name="source"/>
  6056. OrderablePartitioner return an IEnumerable whose GetEnumerator() method returns null.</exception>
  6057. <exception cref="T:System.AggregateException">The exception that is thrown to contain an exception
  6058. thrown from one of the specified delegates.</exception>
  6059. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when the
  6060. the <see cref="T:System.Threading.CancellationTokenSource">CancellationTokenSource</see> associated with the
  6061. the <see cref="T:System.Threading.CancellationToken">CancellationToken</see> in the
  6062. <paramref name="parallelOptions"/> has been disposed.</exception>
  6063. <returns>A <see cref="T:System.Threading.Tasks.ParallelLoopResult">ParallelLoopResult</see> structure
  6064. that contains information on what portion of the loop completed.</returns>
  6065. <remarks>
  6066. <para>
  6067. The <see cref="T:System.Collections.Concurrent.Partitioner{TSource}">Partitioner</see> is used to retrieve
  6068. the elements to be processed, in place of the original data source. If the current element's
  6069. index is desired, the source must be an <see cref="T:System.Collections.Concurrent.OrderablePartitioner">
  6070. OrderablePartitioner</see>.
  6071. </para>
  6072. <para>
  6073. The <paramref name="body"/> delegate is invoked once for each element in the <paramref name="source"/>
  6074. Partitioner. It is provided with the following parameters: the current element,
  6075. a <see cref="T:System.Threading.Tasks.ParallelLoopState">ParallelLoopState</see> instance that may be
  6076. used to break out of the loop prematurely, the current element's index (an Int64), and some local
  6077. state that may be shared amongst iterations that execute on the same thread.
  6078. </para>
  6079. <para>
  6080. The <paramref name="localInit"/> delegate is invoked once for each thread that participates in the loop's
  6081. execution and returns the initial local state for each of those threads. These initial states are passed to the first
  6082. <paramref name="body"/> invocations on each thread. Then, every subsequent body invocation returns a possibly
  6083. modified state value that is passed to the next body invocation. Finally, the last body invocation on each thread returns a state value
  6084. that is passed to the <paramref name="localFinally"/> delegate. The localFinally delegate is invoked once per thread to perform a final
  6085. action on each thread's local state.
  6086. </para>
  6087. </remarks>
  6088. </member>
  6089. <member name="M:System.Threading.Tasks.Parallel.ThrowIfReducableToSingleOCE(System.Collections.Generic.IEnumerable{System.Exception},System.Threading.CancellationToken)">
  6090. <summary>
  6091. Internal utility function that implements the OCE filtering behavior for all Parallel.* APIs.
  6092. Throws a single OperationCancelledException object with the token if the Exception collection only contains
  6093. OperationCancelledExceptions with the given CancellationToken.
  6094. </summary>
  6095. <param name="excCollection"> The exception collection to filter</param>
  6096. <param name="ct"> The CancellationToken expected on all inner exceptions</param>
  6097. <returns></returns>
  6098. </member>
  6099. <member name="T:System.Threading.Tasks.ParallelLoopState">
  6100. <summary>
  6101. Enables iterations of <see cref="T:System.Threading.Tasks.Parallel"/> loops to interact with
  6102. other iterations.
  6103. </summary>
  6104. </member>
  6105. <member name="M:System.Threading.Tasks.ParallelLoopState.Stop">
  6106. <summary>
  6107. Communicates that the <see cref="T:System.Threading.Tasks.Parallel"/> loop should cease execution at the system's earliest
  6108. convenience.
  6109. </summary>
  6110. <exception cref="T:System.InvalidOperationException">
  6111. The <see cref="M:System.Threading.Tasks.ParallelLoopState.Break"/> method was previously called. <see cref="M:System.Threading.Tasks.ParallelLoopState.Break"/> and <see cref="M:System.Threading.Tasks.ParallelLoopState.Stop"/> may not be used in combination by iterations of the same loop.
  6112. </exception>
  6113. <remarks>
  6114. <para>
  6115. <see cref="M:System.Threading.Tasks.ParallelLoopState.Stop"/> may be used to communicate to the loop that no other iterations need be run.
  6116. For long-running iterations that may already be executing, <see cref="M:System.Threading.Tasks.ParallelLoopState.Stop"/> causes <see cref="P:System.Threading.Tasks.ParallelLoopState.IsStopped"/>
  6117. to return true for all other iterations of the loop, such that another iteration may check <see cref="P:System.Threading.Tasks.ParallelLoopState.IsStopped"/> and exit early if it's observed to be true.
  6118. </para>
  6119. <para>
  6120. <see cref="M:System.Threading.Tasks.ParallelLoopState.Stop"/> is typically employed in search-based algorithms, where once a result is found,
  6121. no other iterations need be executed.
  6122. </para>
  6123. </remarks>
  6124. </member>
  6125. <member name="M:System.Threading.Tasks.ParallelLoopState.Break">
  6126. <summary>
  6127. Communicates that the <see cref="T:System.Threading.Tasks.Parallel"/> loop should cease execution at the system's earliest
  6128. convenience of iterations beyond the current iteration.
  6129. </summary>
  6130. <exception cref="T:System.InvalidOperationException">
  6131. The <see cref="M:System.Threading.Tasks.ParallelLoopState.Stop"/> method was previously called. <see cref="M:System.Threading.Tasks.ParallelLoopState.Break"/> and <see cref="M:System.Threading.Tasks.ParallelLoopState.Stop"/>
  6132. may not be used in combination by iterations of the same loop.
  6133. </exception>
  6134. <remarks>
  6135. <para>
  6136. <see cref="M:System.Threading.Tasks.ParallelLoopState.Break"/> may be used to communicate to the loop that no other iterations after the
  6137. current iteration need be run. For example, if <see cref="M:System.Threading.Tasks.ParallelLoopState.Break"/> is called from the 100th
  6138. iteration of a for loop iterating in parallel from 0 to 1000, all iterations less than 100 should
  6139. still be run, but the iterations from 101 through to 1000 are not necessary.
  6140. </para>
  6141. <para>
  6142. For long-running iterations that may already be executing, <see cref="M:System.Threading.Tasks.ParallelLoopState.Break"/> causes <see cref="P:System.Threading.Tasks.ParallelLoopState.LowestBreakIteration"/>
  6143. to be set to the current iteration's index if the current index is less than the current value of
  6144. <see cref="P:System.Threading.Tasks.ParallelLoopState.LowestBreakIteration"/>.
  6145. </para>
  6146. <para>
  6147. <see cref="M:System.Threading.Tasks.ParallelLoopState.Break"/> is typically employed in search-based algorithms where an ordering is
  6148. present in the data source.
  6149. </para>
  6150. </remarks>
  6151. </member>
  6152. <member name="P:System.Threading.Tasks.ParallelLoopState.InternalShouldExitCurrentIteration">
  6153. <summary>
  6154. Internal/virtual support for ShouldExitCurrentIteration.
  6155. </summary>
  6156. </member>
  6157. <member name="P:System.Threading.Tasks.ParallelLoopState.ShouldExitCurrentIteration">
  6158. <summary>
  6159. Gets whether the current iteration of the loop should exit based
  6160. on requests made by this or other iterations.
  6161. </summary>
  6162. <remarks>
  6163. When an iteration of a loop calls <see cref="M:System.Threading.Tasks.ParallelLoopState.Break"/> or <see cref="M:System.Threading.Tasks.ParallelLoopState.Stop"/>, or
  6164. when one throws an exception, or when the loop is canceled, the <see cref="T:System.Threading.Tasks.Parallel"/> class will proactively
  6165. attempt to prohibit additional iterations of the loop from starting execution.
  6166. However, there may be cases where it is unable to prevent additional iterations from starting.
  6167. It may also be the case that a long-running iteration has already begun execution. In such
  6168. cases, iterations may explicitly check the <see cref="P:System.Threading.Tasks.ParallelLoopState.ShouldExitCurrentIteration"/> property and
  6169. cease execution if the property returns true.
  6170. </remarks>
  6171. </member>
  6172. <member name="P:System.Threading.Tasks.ParallelLoopState.IsStopped">
  6173. <summary>
  6174. Gets whether any iteration of the loop has called <see cref="M:System.Threading.Tasks.ParallelLoopState.Stop"/>.
  6175. </summary>
  6176. </member>
  6177. <member name="P:System.Threading.Tasks.ParallelLoopState.IsExceptional">
  6178. <summary>
  6179. Gets whether any iteration of the loop has thrown an exception that went unhandled by that
  6180. iteration.
  6181. </summary>
  6182. </member>
  6183. <member name="P:System.Threading.Tasks.ParallelLoopState.InternalLowestBreakIteration">
  6184. <summary>
  6185. Internal/virtual support for LowestBreakIteration.
  6186. </summary>
  6187. </member>
  6188. <member name="P:System.Threading.Tasks.ParallelLoopState.LowestBreakIteration">
  6189. <summary>
  6190. Gets the lowest iteration of the loop from which <see cref="M:System.Threading.Tasks.ParallelLoopState.Break"/> was called.
  6191. </summary>
  6192. <remarks>
  6193. If no iteration of the loop called <see cref="M:System.Threading.Tasks.ParallelLoopState.Break"/>, this property will return null.
  6194. </remarks>
  6195. </member>
  6196. <member name="M:System.Threading.Tasks.ParallelLoopState32.#ctor(System.Threading.Tasks.ParallelLoopStateFlags32)">
  6197. <summary>
  6198. Internal constructor to ensure an instance isn't created by users.
  6199. </summary>
  6200. <param name="sharedParallelStateFlags">A flag shared among all threads participating
  6201. in the execution of a certain loop.</param>
  6202. </member>
  6203. <member name="M:System.Threading.Tasks.ParallelLoopState32.InternalBreak">
  6204. <summary>
  6205. Communicates that parallel tasks should stop when they reach a specified iteration element.
  6206. (which is CurrentIteration of the caller).
  6207. </summary>
  6208. <exception cref="T:System.InvalidOperationException">Break() called after Stop().</exception>
  6209. <remarks>
  6210. This is shared with all other concurrent threads in the system which are participating in the
  6211. loop's execution. After calling Break(), no additional iterations will be executed on
  6212. the current thread, and other worker threads will execute once they get beyond the calling iteration.
  6213. </remarks>
  6214. </member>
  6215. <member name="P:System.Threading.Tasks.ParallelLoopState32.CurrentIteration">
  6216. <summary>
  6217. Tracks the current loop iteration for the owning task.
  6218. This is used to compute whether or not the task should
  6219. terminate early due to a Break() call.
  6220. </summary>
  6221. </member>
  6222. <member name="P:System.Threading.Tasks.ParallelLoopState32.InternalShouldExitCurrentIteration">
  6223. <summary>
  6224. Returns true if we should be exiting from the current iteration
  6225. due to Stop(), Break() or exception.
  6226. </summary>
  6227. </member>
  6228. <member name="P:System.Threading.Tasks.ParallelLoopState32.InternalLowestBreakIteration">
  6229. <summary>
  6230. Returns the lowest iteration at which Break() has been called, or
  6231. null if Break() has not yet been called.
  6232. </summary>
  6233. </member>
  6234. <member name="T:System.Threading.Tasks.ParallelLoopState64">
  6235. <summary>
  6236. Allows independent iterations of a parallel loop to interact with other iterations.
  6237. </summary>
  6238. </member>
  6239. <member name="M:System.Threading.Tasks.ParallelLoopState64.#ctor(System.Threading.Tasks.ParallelLoopStateFlags64)">
  6240. <summary>
  6241. Internal constructor to ensure an instance isn't created by users.
  6242. </summary>
  6243. <param name="sharedParallelStateFlags">A flag shared among all threads participating
  6244. in the execution of a certain loop.</param>
  6245. </member>
  6246. <member name="M:System.Threading.Tasks.ParallelLoopState64.InternalBreak">
  6247. <summary>
  6248. Communicates that parallel tasks should stop when they reach a specified iteration element.
  6249. (which is CurrentIteration of the caller).
  6250. </summary>
  6251. <exception cref="T:System.InvalidOperationException">Break() called after Stop().</exception>
  6252. <remarks>
  6253. Atomically sets shared StoppedBroken flag to BROKEN, then atomically sets shared
  6254. LowestBreakIteration to CurrentIteration, but only if CurrentIteration is less than
  6255. LowestBreakIteration.
  6256. </remarks>
  6257. </member>
  6258. <member name="P:System.Threading.Tasks.ParallelLoopState64.CurrentIteration">
  6259. <summary>
  6260. Tracks the current loop iteration for the owning task.
  6261. This is used to compute whether or not the task should
  6262. terminate early due to a Break() call.
  6263. </summary>
  6264. </member>
  6265. <member name="P:System.Threading.Tasks.ParallelLoopState64.InternalShouldExitCurrentIteration">
  6266. <summary>
  6267. Returns true if we should be exiting from the current iteration
  6268. due to Stop(), Break() or exception.
  6269. </summary>
  6270. </member>
  6271. <member name="P:System.Threading.Tasks.ParallelLoopState64.InternalLowestBreakIteration">
  6272. <summary>
  6273. Returns the lowest iteration at which Break() has been called, or
  6274. null if Break() has not yet been called.
  6275. </summary>
  6276. </member>
  6277. <member name="T:System.Threading.Tasks.ParallelLoopStateFlags">
  6278. <summary>
  6279. State information that is common between ParallelStateFlags class
  6280. and ParallelStateFlags64 class.
  6281. </summary>
  6282. </member>
  6283. <member name="T:System.Threading.Tasks.ParallelLoopStateFlags32">
  6284. <summary>
  6285. An internal class used to share accounting information in 32-bit versions
  6286. of For()/ForEach() loops.
  6287. </summary>
  6288. </member>
  6289. <member name="M:System.Threading.Tasks.ParallelLoopStateFlags32.ShouldExitLoop(System.Int32)">
  6290. <summary>
  6291. Lets the caller know whether or not to prematurely exit the For/ForEach loop.
  6292. If this returns true, then exit the loop. Otherwise, keep going.
  6293. </summary>
  6294. <param name="CallerIteration">The caller's current iteration point
  6295. in the loop.</param>
  6296. <remarks>
  6297. The loop should exit on any one of the following conditions:
  6298. (1) Stop() has been called by one or more tasks.
  6299. (2) An exception has been raised by one or more tasks.
  6300. (3) Break() has been called by one or more tasks, and
  6301. CallerIteration exceeds the (lowest) iteration at which
  6302. Break() was called.
  6303. (4) The loop was canceled.
  6304. </remarks>
  6305. </member>
  6306. <member name="T:System.Threading.Tasks.ParallelLoopStateFlags64">
  6307. <summary>
  6308. An internal class used to share accounting information in 64-bit versions
  6309. of For()/ForEach() loops.
  6310. </summary>
  6311. </member>
  6312. <member name="M:System.Threading.Tasks.ParallelLoopStateFlags64.ShouldExitLoop(System.Int64)">
  6313. <summary>
  6314. Lets the caller know whether or not to prematurely exit the For/ForEach loop.
  6315. If this returns true, then exit the loop. Otherwise, keep going.
  6316. </summary>
  6317. <param name="CallerIteration">The caller's current iteration point
  6318. in the loop.</param>
  6319. <remarks>
  6320. The loop should exit on any one of the following conditions:
  6321. (1) Stop() has been called by one or more tasks.
  6322. (2) An exception has been raised by one or more tasks.
  6323. (3) Break() has been called by one or more tasks, and
  6324. CallerIteration exceeds the (lowest) iteration at which
  6325. Break() was called.
  6326. (4) The loop has been canceled.
  6327. </remarks>
  6328. </member>
  6329. <member name="T:System.Threading.Tasks.ParallelLoopResult">
  6330. <summary>
  6331. Provides completion status on the execution of a <see cref="T:System.Threading.Tasks.Parallel"/> loop.
  6332. </summary>
  6333. <remarks>
  6334. If <see cref="P:System.Threading.Tasks.ParallelLoopResult.IsCompleted"/> returns true, then the loop ran to completion, such that all iterations
  6335. of the loop were executed. If <see cref="P:System.Threading.Tasks.ParallelLoopResult.IsCompleted"/> returns false and <see cref="P:System.Threading.Tasks.ParallelLoopResult.LowestBreakIteration"/> returns null, a call to <see cref="M:System.Threading.Tasks.ParallelLoopState.Stop"/> was used to end the loop prematurely. If <see cref="P:System.Threading.Tasks.ParallelLoopResult.IsCompleted"/> returns false and <see cref="P:System.Threading.Tasks.ParallelLoopResult.LowestBreakIteration"/> returns a non-null integral
  6336. value, <see cref="M:System.Threading.Tasks.ParallelLoopState.Break"/> was used to end the loop prematurely.
  6337. </remarks>
  6338. </member>
  6339. <member name="P:System.Threading.Tasks.ParallelLoopResult.IsCompleted">
  6340. <summary>
  6341. Gets whether the loop ran to completion, such that all iterations of the loop were executed
  6342. and the loop didn't receive a request to end prematurely.
  6343. </summary>
  6344. </member>
  6345. <member name="P:System.Threading.Tasks.ParallelLoopResult.LowestBreakIteration">
  6346. <summary>
  6347. Gets the index of the lowest iteration from which <see cref="M:System.Threading.Tasks.ParallelLoopState.Break"/>
  6348. was called.
  6349. </summary>
  6350. <remarks>
  6351. If <see cref="M:System.Threading.Tasks.ParallelLoopState.Break"/> was not employed, this property will
  6352. return null.
  6353. </remarks>
  6354. </member>
  6355. <member name="T:System.Threading.Tasks.Shared`1">
  6356. <summary>
  6357. Utility class for allocating structs as heap variables
  6358. </summary>
  6359. </member>
  6360. <member name="T:System.Threading.Tasks.IndexRange">
  6361. <summary>
  6362. Represents an index range
  6363. </summary>
  6364. </member>
  6365. <member name="T:System.Threading.Tasks.RangeWorker">
  6366. <summary>
  6367. The RangeWorker struct wraps the state needed by a task that services the parallel loop
  6368. </summary>
  6369. </member>
  6370. <member name="M:System.Threading.Tasks.RangeWorker.#ctor(System.Threading.Tasks.IndexRange[],System.Int32,System.Int64)">
  6371. <summary>
  6372. Initializes a RangeWorker struct
  6373. </summary>
  6374. </member>
  6375. <member name="M:System.Threading.Tasks.RangeWorker.FindNewWork(System.Int64@,System.Int64@)">
  6376. <summary>
  6377. Implements the core work search algorithm that will be used for this range worker.
  6378. </summary>
  6379. Usage pattern is:
  6380. 1) the thread associated with this rangeworker calls FindNewWork
  6381. 2) if we return true, the worker uses the nFromInclusiveLocal and nToExclusiveLocal values
  6382. to execute the sequential loop
  6383. 3) if we return false it means there is no more work left. It's time to quit.
  6384. </member>
  6385. <member name="M:System.Threading.Tasks.RangeWorker.FindNewWork32(System.Int32@,System.Int32@)">
  6386. <summary>
  6387. 32 bit integer version of FindNewWork. Assumes the ranges were initialized with 32 bit values.
  6388. </summary>
  6389. </member>
  6390. <member name="T:System.Threading.Tasks.RangeManager">
  6391. <summary>
  6392. Represents the entire loop operation, keeping track of workers and ranges.
  6393. </summary>
  6394. The usage pattern is:
  6395. 1) The Parallel loop entry function (ForWorker) creates an instance of this class
  6396. 2) Every thread joining to service the parallel loop calls RegisterWorker to grab a
  6397. RangeWorker struct to wrap the state it will need to find and execute work,
  6398. and they keep interacting with that struct until the end of the loop
  6399. </member>
  6400. <member name="M:System.Threading.Tasks.RangeManager.#ctor(System.Int64,System.Int64,System.Int64,System.Int32)">
  6401. <summary>
  6402. Initializes a RangeManager with the given loop parameters, and the desired number of outer ranges
  6403. </summary>
  6404. </member>
  6405. <member name="M:System.Threading.Tasks.RangeManager.RegisterNewWorker">
  6406. <summary>
  6407. The function that needs to be called by each new worker thread servicing the parallel loop
  6408. in order to get a RangeWorker struct that wraps the state for finding and executing indices
  6409. </summary>
  6410. </member>
  6411. <member name="T:System.Threading.Tasks.Task`1">
  6412. <summary>
  6413. Represents an asynchronous operation that produces a result at some time in the future.
  6414. </summary>
  6415. <typeparam name="TResult">
  6416. The type of the result produced by this <see cref="T:System.Threading.Tasks.Task`1"/>.
  6417. </typeparam>
  6418. <remarks>
  6419. <para>
  6420. <see cref="T:System.Threading.Tasks.Task`1"/> instances may be created in a variety of ways. The most common approach is by
  6421. using the task's <see cref="P:System.Threading.Tasks.Task`1.Factory"/> property to retrieve a <see cref="T:System.Threading.Tasks.TaskFactory`1"/> instance that can be used to create tasks for several
  6422. purposes. For example, to create a <see cref="T:System.Threading.Tasks.Task`1"/> that runs a function, the factory's StartNew
  6423. method may be used:
  6424. <code>
  6425. // C#
  6426. var t = Task&lt;int&gt;.Factory.StartNew(() =&gt; GenerateResult());
  6427. - or -
  6428. var t = Task.Factory.StartNew(() =&gt; GenerateResult());
  6429. ' Visual Basic
  6430. Dim t = Task&lt;int&gt;.Factory.StartNew(Function() GenerateResult())
  6431. - or -
  6432. Dim t = Task.Factory.StartNew(Function() GenerateResult())
  6433. </code>
  6434. </para>
  6435. <para>
  6436. The <see cref="T:System.Threading.Tasks.Task`1"/> class also provides constructors that initialize the task but that do not
  6437. schedule it for execution. For performance reasons, the StartNew method should be the
  6438. preferred mechanism for creating and scheduling computational tasks, but for scenarios where creation
  6439. and scheduling must be separated, the constructors may be used, and the task's
  6440. <see cref="M:System.Threading.Tasks.Task.Start">Start</see>
  6441. method may then be used to schedule the task for execution at a later time.
  6442. </para>
  6443. <para>
  6444. All members of <see cref="T:System.Threading.Tasks.Task`1"/>, except for
  6445. <see cref="M:System.Threading.Tasks.Task.Dispose">Dispose</see>, are thread-safe
  6446. and may be used from multiple threads concurrently.
  6447. </para>
  6448. </remarks>
  6449. </member>
  6450. <member name="T:System.Threading.Tasks.Task">
  6451. <summary>
  6452. Represents an asynchronous operation.
  6453. </summary>
  6454. <remarks>
  6455. <para>
  6456. <see cref="T:System.Threading.Tasks.Task"/> instances may be created in a variety of ways. The most common approach is by
  6457. using the Task type's <see cref="P:System.Threading.Tasks.Task.Factory"/> property to retrieve a <see cref="T:System.Threading.Tasks.TaskFactory"/> instance that can be used to create tasks for several
  6458. purposes. For example, to create a <see cref="T:System.Threading.Tasks.Task"/> that runs an action, the factory's StartNew
  6459. method may be used:
  6460. <code>
  6461. // C#
  6462. var t = Task.Factory.StartNew(() =&gt; DoAction());
  6463. ' Visual Basic
  6464. Dim t = Task.Factory.StartNew(Function() DoAction())
  6465. </code>
  6466. </para>
  6467. <para>
  6468. The <see cref="T:System.Threading.Tasks.Task"/> class also provides constructors that initialize the Task but that do not
  6469. schedule it for execution. For performance reasons, TaskFactory's StartNew method should be the
  6470. preferred mechanism for creating and scheduling computational tasks, but for scenarios where creation
  6471. and scheduling must be separated, the constructors may be used, and the task's <see cref="M:System.Threading.Tasks.Task.Start"/>
  6472. method may then be used to schedule the task for execution at a later time.
  6473. </para>
  6474. <para>
  6475. All members of <see cref="T:System.Threading.Tasks.Task"/>, except for <see cref="M:System.Threading.Tasks.Task.Dispose"/>, are thread-safe
  6476. and may be used from multiple threads concurrently.
  6477. </para>
  6478. <para>
  6479. For operations that return values, the <see cref="T:System.Threading.Tasks.Task`1"/> class
  6480. should be used.
  6481. </para>
  6482. <para>
  6483. For developers implementing custom debuggers, several internal and private members of Task may be
  6484. useful (these may change from release to release). The Int32 m_taskId field serves as the backing
  6485. store for the <see cref="P:System.Threading.Tasks.Task.Id"/> property, however accessing this field directly from a debugger may be
  6486. more efficient than accessing the same value through the property's getter method (the
  6487. s_taskIdCounter Int32 counter is used to retrieve the next available ID for a Task). Similarly, the
  6488. Int32 m_stateFlags field stores information about the current lifecycle stage of the Task,
  6489. information also accessible through the <see cref="P:System.Threading.Tasks.Task.Status"/> property. The m_action System.Object
  6490. field stores a reference to the Task's delegate, and the m_stateObject System.Object field stores the
  6491. async state passed to the Task by the developer. Finally, for debuggers that parse stack frames, the
  6492. InternalWait method serves a potential marker for when a Task is entering a wait operation.
  6493. </para>
  6494. </remarks>
  6495. </member>
  6496. <member name="M:System.Threading.Tasks.Task.#cctor">
  6497. <summary>
  6498. A type initializer that runs with the appropriate permissions.
  6499. </summary>
  6500. </member>
  6501. <member name="M:System.Threading.Tasks.Task.#ctor(System.Action)">
  6502. <summary>
  6503. Initializes a new <see cref="T:System.Threading.Tasks.Task"/> with the specified action.
  6504. </summary>
  6505. <param name="action">The delegate that represents the code to execute in the Task.</param>
  6506. <exception cref="T:System.ArgumentNullException">The <paramref name="action"/> argument is null.</exception>
  6507. </member>
  6508. <member name="M:System.Threading.Tasks.Task.#ctor(System.Action,System.Threading.CancellationToken)">
  6509. <summary>
  6510. Initializes a new <see cref="T:System.Threading.Tasks.Task"/> with the specified action and <see cref="T:System.Threading.CancellationToken">CancellationToken</see>.
  6511. </summary>
  6512. <param name="action">The delegate that represents the code to execute in the Task.</param>
  6513. <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  6514. that will be assigned to the new Task.</param>
  6515. <exception cref="T:System.ArgumentNullException">The <paramref name="action"/> argument is null.</exception>
  6516. <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  6517. has already been disposed.
  6518. </exception>
  6519. </member>
  6520. <member name="M:System.Threading.Tasks.Task.#ctor(System.Action,System.Threading.Tasks.TaskCreationOptions)">
  6521. <summary>
  6522. Initializes a new <see cref="T:System.Threading.Tasks.Task"/> with the specified action and creation options.
  6523. </summary>
  6524. <param name="action">The delegate that represents the code to execute in the task.</param>
  6525. <param name="creationOptions">
  6526. The <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used to
  6527. customize the Task's behavior.
  6528. </param>
  6529. <exception cref="T:System.ArgumentNullException">
  6530. The <paramref name="action"/> argument is null.
  6531. </exception>
  6532. <exception cref="T:System.ArgumentOutOfRangeException">
  6533. The <paramref name="creationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.
  6534. </exception>
  6535. </member>
  6536. <member name="M:System.Threading.Tasks.Task.#ctor(System.Action,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions)">
  6537. <summary>
  6538. Initializes a new <see cref="T:System.Threading.Tasks.Task"/> with the specified action and creation options.
  6539. </summary>
  6540. <param name="action">The delegate that represents the code to execute in the task.</param>
  6541. <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> that will be assigned to the new task.</param>
  6542. <param name="creationOptions">
  6543. The <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used to
  6544. customize the Task's behavior.
  6545. </param>
  6546. <exception cref="T:System.ArgumentNullException">
  6547. The <paramref name="action"/> argument is null.
  6548. </exception>
  6549. <exception cref="T:System.ArgumentOutOfRangeException">
  6550. The <paramref name="creationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.
  6551. </exception>
  6552. <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  6553. has already been disposed.
  6554. </exception>
  6555. </member>
  6556. <member name="M:System.Threading.Tasks.Task.#ctor(System.Action{System.Object},System.Object)">
  6557. <summary>
  6558. Initializes a new <see cref="T:System.Threading.Tasks.Task"/> with the specified action and state.
  6559. </summary>
  6560. <param name="action">The delegate that represents the code to execute in the task.</param>
  6561. <param name="state">An object representing data to be used by the action.</param>
  6562. <exception cref="T:System.ArgumentNullException">
  6563. The <paramref name="action"/> argument is null.
  6564. </exception>
  6565. </member>
  6566. <member name="M:System.Threading.Tasks.Task.#ctor(System.Action{System.Object},System.Object,System.Threading.CancellationToken)">
  6567. <summary>
  6568. Initializes a new <see cref="T:System.Threading.Tasks.Task"/> with the specified action, state, snd options.
  6569. </summary>
  6570. <param name="action">The delegate that represents the code to execute in the task.</param>
  6571. <param name="state">An object representing data to be used by the action.</param>
  6572. <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> that will be assigned to the new task.</param>
  6573. <exception cref="T:System.ArgumentNullException">
  6574. The <paramref name="action"/> argument is null.
  6575. </exception>
  6576. <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  6577. has already been disposed.
  6578. </exception>
  6579. </member>
  6580. <member name="M:System.Threading.Tasks.Task.#ctor(System.Action{System.Object},System.Object,System.Threading.Tasks.TaskCreationOptions)">
  6581. <summary>
  6582. Initializes a new <see cref="T:System.Threading.Tasks.Task"/> with the specified action, state, snd options.
  6583. </summary>
  6584. <param name="action">The delegate that represents the code to execute in the task.</param>
  6585. <param name="state">An object representing data to be used by the action.</param>
  6586. <param name="creationOptions">
  6587. The <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used to
  6588. customize the Task's behavior.
  6589. </param>
  6590. <exception cref="T:System.ArgumentNullException">
  6591. The <paramref name="action"/> argument is null.
  6592. </exception>
  6593. <exception cref="T:System.ArgumentOutOfRangeException">
  6594. The <paramref name="creationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.
  6595. </exception>
  6596. </member>
  6597. <member name="M:System.Threading.Tasks.Task.#ctor(System.Action{System.Object},System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions)">
  6598. <summary>
  6599. Initializes a new <see cref="T:System.Threading.Tasks.Task"/> with the specified action, state, snd options.
  6600. </summary>
  6601. <param name="action">The delegate that represents the code to execute in the task.</param>
  6602. <param name="state">An object representing data to be used by the action.</param>
  6603. <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> that will be assigned to the new task.</param>
  6604. <param name="creationOptions">
  6605. The <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used to
  6606. customize the Task's behavior.
  6607. </param>
  6608. <exception cref="T:System.ArgumentNullException">
  6609. The <paramref name="action"/> argument is null.
  6610. </exception>
  6611. <exception cref="T:System.ArgumentOutOfRangeException">
  6612. The <paramref name="creationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.
  6613. </exception>
  6614. <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  6615. has already been disposed.
  6616. </exception>
  6617. </member>
  6618. <member name="M:System.Threading.Tasks.Task.#ctor(System.Object,System.Object,System.Threading.Tasks.Task,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.InternalTaskOptions,System.Threading.Tasks.TaskScheduler)">
  6619. <summary>
  6620. An internal constructor used by the factory methods on task and its descendent(s).
  6621. This variant does not capture the ExecutionContext; it is up to the caller to do that.
  6622. </summary>
  6623. <param name="action">An action to execute.</param>
  6624. <param name="state">Optional state to pass to the action.</param>
  6625. <param name="parent">Parent of Task.</param>
  6626. <param name="cancellationToken">A CancellationToken for the task.</param>
  6627. <param name="scheduler">A task scheduler under which the task will run.</param>
  6628. <param name="creationOptions">Options to control its execution.</param>
  6629. <param name="internalOptions">Internal options to control its execution</param>
  6630. </member>
  6631. <member name="M:System.Threading.Tasks.Task.TaskConstructorCore(System.Object,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.InternalTaskOptions,System.Threading.Tasks.TaskScheduler)">
  6632. <summary>
  6633. Common logic used by the following internal ctors:
  6634. Task()
  6635. Task(object action, object state, Task parent, TaskCreationOptions options, TaskScheduler taskScheduler)
  6636. ASSUMES THAT m_creatingTask IS ALREADY SET.
  6637. </summary>
  6638. <param name="action">Action for task to execute.</param>
  6639. <param name="state">Object to which to pass to action (may be null)</param>
  6640. <param name="scheduler">Task scheduler on which to run thread (only used by continuation tasks).</param>
  6641. <param name="cancellationToken">A CancellationToken for the Task.</param>
  6642. <param name="creationOptions">Options to customize behavior of Task.</param>
  6643. <param name="internalOptions">Internal options to customize behavior of Task.</param>
  6644. </member>
  6645. <member name="M:System.Threading.Tasks.Task.DeregisterCancellationCallback">
  6646. <summary>
  6647. Checks if we registered a CT callback during construction, and deregisters it.
  6648. This should be called when we know the registration isn't useful anymore. Specifically from Finish() if the task has completed
  6649. successfully or with an exception.
  6650. </summary>
  6651. </member>
  6652. <member name="M:System.Threading.Tasks.Task.PossiblyCaptureContext(System.Threading.StackCrawlMark2@)">
  6653. <summary>
  6654. Captures the ExecutionContext so long as flow isn't suppressed.
  6655. </summary>
  6656. <param name="stackMark">A stack crawl mark pointing to the frame of the caller.</param>
  6657. </member>
  6658. <member name="M:System.Threading.Tasks.Task.AddNewChild">
  6659. <summary>
  6660. Internal function that will be called by a new child task to add itself to
  6661. the children list of the parent (this).
  6662. Since a child task can only be created from the thread executing the action delegate
  6663. of this task, reentrancy is neither required nor supported. This should not be called from
  6664. anywhere other than the task construction/initialization codepaths.
  6665. </summary>
  6666. </member>
  6667. <member name="M:System.Threading.Tasks.Task.Start">
  6668. <summary>
  6669. Starts the <see cref="T:System.Threading.Tasks.Task"/>, scheduling it for execution to the current <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>.
  6670. </summary>
  6671. <remarks>
  6672. A task may only be started and run only once. Any attempts to schedule a task a second time
  6673. will result in an exception.
  6674. </remarks>
  6675. <exception cref="T:System.InvalidOperationException">
  6676. The <see cref="T:System.Threading.Tasks.Task"/> is not in a valid state to be started. It may have already been started,
  6677. executed, or canceled, or it may have been created in a manner that doesn't support direct
  6678. scheduling.
  6679. </exception>
  6680. <exception cref="T:System.ObjectDisposedException">
  6681. The <see cref="T:System.Threading.Tasks.Task"/> instance has been disposed.
  6682. </exception>
  6683. </member>
  6684. <member name="M:System.Threading.Tasks.Task.Start(System.Threading.Tasks.TaskScheduler)">
  6685. <summary>
  6686. Starts the <see cref="T:System.Threading.Tasks.Task"/>, scheduling it for execution to the specified <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>.
  6687. </summary>
  6688. <remarks>
  6689. A task may only be started and run only once. Any attempts to schedule a task a second time will
  6690. result in an exception.
  6691. </remarks>
  6692. <param name="scheduler">
  6693. The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> with which to associate
  6694. and execute this task.
  6695. </param>
  6696. <exception cref="T:System.ArgumentNullException">
  6697. The <paramref name="scheduler"/> argument is null.
  6698. </exception>
  6699. <exception cref="T:System.InvalidOperationException">
  6700. The <see cref="T:System.Threading.Tasks.Task"/> is not in a valid state to be started. It may have already been started,
  6701. executed, or canceled, or it may have been created in a manner that doesn't support direct
  6702. scheduling.
  6703. </exception>
  6704. <exception cref="T:System.ObjectDisposedException">
  6705. The <see cref="T:System.Threading.Tasks.Task"/> instance has been disposed.
  6706. </exception>
  6707. </member>
  6708. <member name="M:System.Threading.Tasks.Task.RunSynchronously">
  6709. <summary>
  6710. Runs the <see cref="T:System.Threading.Tasks.Task"/> synchronously on the current <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>.
  6711. </summary>
  6712. <remarks>
  6713. <para>
  6714. A task may only be started and run only once. Any attempts to schedule a task a second time will
  6715. result in an exception.
  6716. </para>
  6717. <para>
  6718. Tasks executed with <see cref="M:System.Threading.Tasks.Task.RunSynchronously"/> will be associated with the current <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>.
  6719. </para>
  6720. <para>
  6721. If the target scheduler does not support running this Task on the current thread, the Task will
  6722. be scheduled for execution on the scheduler, and the current thread will block until the
  6723. Task has completed execution.
  6724. </para>
  6725. </remarks>
  6726. <exception cref="T:System.InvalidOperationException">
  6727. The <see cref="T:System.Threading.Tasks.Task"/> is not in a valid state to be started. It may have already been started,
  6728. executed, or canceled, or it may have been created in a manner that doesn't support direct
  6729. scheduling.
  6730. </exception>
  6731. <exception cref="T:System.ObjectDisposedException">
  6732. The <see cref="T:System.Threading.Tasks.Task"/> instance has been disposed.
  6733. </exception>
  6734. </member>
  6735. <member name="M:System.Threading.Tasks.Task.RunSynchronously(System.Threading.Tasks.TaskScheduler)">
  6736. <summary>
  6737. Runs the <see cref="T:System.Threading.Tasks.Task"/> synchronously on the <see cref="T:System.Threading.Tasks.TaskScheduler">scheduler</see> provided.
  6738. </summary>
  6739. <remarks>
  6740. <para>
  6741. A task may only be started and run only once. Any attempts to schedule a task a second time will
  6742. result in an exception.
  6743. </para>
  6744. <para>
  6745. If the target scheduler does not support running this Task on the current thread, the Task will
  6746. be scheduled for execution on the scheduler, and the current thread will block until the
  6747. Task has completed execution.
  6748. </para>
  6749. </remarks>
  6750. <exception cref="T:System.InvalidOperationException">
  6751. The <see cref="T:System.Threading.Tasks.Task"/> is not in a valid state to be started. It may have already been started,
  6752. executed, or canceled, or it may have been created in a manner that doesn't support direct
  6753. scheduling.
  6754. </exception>
  6755. <exception cref="T:System.ObjectDisposedException">
  6756. The <see cref="T:System.Threading.Tasks.Task"/> instance has been disposed.
  6757. </exception>
  6758. <exception cref="T:System.ArgumentNullException">The <paramref name="scheduler"/> parameter
  6759. is null.</exception>
  6760. <param name="scheduler">The scheduler on which to attempt to run this task inline.</param>
  6761. </member>
  6762. <member name="M:System.Threading.Tasks.Task.ThrowIfDisposed">
  6763. <summary>
  6764. Throws an exception if the task has been disposed, and hence can no longer be accessed.
  6765. </summary>
  6766. <exception cref="T:System.ObjectDisposedException">The task has been disposed.</exception>
  6767. </member>
  6768. <member name="M:System.Threading.Tasks.Task.SetCompleted">
  6769. <summary>
  6770. Sets the internal completion event.
  6771. </summary>
  6772. </member>
  6773. <member name="M:System.Threading.Tasks.Task.Dispose">
  6774. <summary>
  6775. Disposes the <see cref="T:System.Threading.Tasks.Task"/>, releasing all of its unmanaged resources.
  6776. </summary>
  6777. <remarks>
  6778. Unlike most of the members of <see cref="T:System.Threading.Tasks.Task"/>, this method is not thread-safe.
  6779. Also, <see cref="M:System.Threading.Tasks.Task.Dispose"/> may only be called on a <see cref="T:System.Threading.Tasks.Task"/> that is in one of
  6780. the final states: <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
  6781. <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
  6782. <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
  6783. </remarks>
  6784. <exception cref="T:System.InvalidOperationException">
  6785. The exception that is thrown if the <see cref="T:System.Threading.Tasks.Task"/> is not in
  6786. one of the final states: <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
  6787. <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
  6788. <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
  6789. </exception>
  6790. </member>
  6791. <member name="M:System.Threading.Tasks.Task.Dispose(System.Boolean)">
  6792. <summary>
  6793. Disposes the <see cref="T:System.Threading.Tasks.Task"/>, releasing all of its unmanaged resources.
  6794. </summary>
  6795. <param name="disposing">
  6796. A Boolean value that indicates whether this method is being called due to a call to <see cref="M:System.Threading.Tasks.Task.Dispose"/>.
  6797. </param>
  6798. <remarks>
  6799. Unlike most of the members of <see cref="T:System.Threading.Tasks.Task"/>, this method is not thread-safe.
  6800. </remarks>
  6801. </member>
  6802. <member name="M:System.Threading.Tasks.Task.ScheduleAndStart(System.Boolean)">
  6803. <summary>
  6804. Schedules the task for execution.
  6805. </summary>
  6806. <param name="needsProtection">If true, TASK_STATE_STARTED bit is turned on in
  6807. an atomic fashion, making sure that TASK_STATE_CANCELED does not get set
  6808. underneath us. If false, TASK_STATE_STARTED bit is OR-ed right in. This
  6809. allows us to streamline things a bit for StartNew(), where competing cancellations
  6810. are not a problem.</param>
  6811. </member>
  6812. <member name="M:System.Threading.Tasks.Task.AddException(System.Object)">
  6813. <summary>
  6814. Adds an exception to the list of exceptions this task has thrown.
  6815. </summary>
  6816. <param name="exceptionObject">An object representing either an Exception or a collection of Exceptions.</param>
  6817. </member>
  6818. <member name="M:System.Threading.Tasks.Task.GetExceptions(System.Boolean)">
  6819. <summary>
  6820. Returns a list of exceptions by aggregating the holder's contents. Or null if
  6821. no exceptions have been thrown.
  6822. </summary>
  6823. <param name="includeTaskCanceledExceptions">Whether to include a TCE if cancelled.</param>
  6824. <returns>An aggregate exception, or null if no exceptions have been caught.</returns>
  6825. </member>
  6826. <member name="M:System.Threading.Tasks.Task.ThrowIfExceptional(System.Boolean)">
  6827. <summary>
  6828. Throws an aggregate exception if the task contains exceptions.
  6829. </summary>
  6830. </member>
  6831. <member name="M:System.Threading.Tasks.Task.UpdateExceptionObservedStatus">
  6832. <summary>
  6833. Checks whether this is an attached task, and whether we are being called by the parent task.
  6834. And sets the TASK_STATE_EXCEPTIONOBSERVEDBYPARENT status flag based on that.
  6835. This is meant to be used internally when throwing an exception, and when WaitAll is gathering
  6836. exceptions for tasks it waited on. If this flag gets set, the implicit wait on children
  6837. will skip exceptions to prevent duplication.
  6838. This should only be called when this task has completed with an exception
  6839. </summary>
  6840. </member>
  6841. <member name="M:System.Threading.Tasks.Task.Finish(System.Boolean)">
  6842. <summary>
  6843. Signals completion of this particular task.
  6844. The bUserDelegateExecuted parameter indicates whether this Finish() call comes following the
  6845. full execution of the user delegate.
  6846. If bUserDelegateExecuted is false, it mean user delegate wasn't invoked at all (either due to
  6847. a cancellation request, or because this task is a promise style Task). In this case, the steps
  6848. involving child tasks (i.e. WaitForChildren) will be skipped.
  6849. </summary>
  6850. </member>
  6851. <member name="M:System.Threading.Tasks.Task.FinishStageTwo">
  6852. <summary>
  6853. FinishStageTwo is to be executed as soon as we known there are no more children to complete.
  6854. It can happen i) either on the thread that originally executed this task (if no children were spawned, or they all completed by the time this task's delegate quit)
  6855. ii) or on the thread that executed the last child.
  6856. </summary>
  6857. </member>
  6858. <member name="M:System.Threading.Tasks.Task.FinishStageThree">
  6859. <summary>
  6860. Final stage of the task completion code path. Notifies the parent (if any) that another of its childre are done, and runs continuations.
  6861. This function is only separated out from FinishStageTwo because these two operations are also needed to be called from CancellationCleanupLogic()
  6862. </summary>
  6863. </member>
  6864. <member name="M:System.Threading.Tasks.Task.ProcessChildCompletion(System.Threading.Tasks.Task)">
  6865. <summary>
  6866. This is called by children of this task when they are completed.
  6867. </summary>
  6868. </member>
  6869. <member name="M:System.Threading.Tasks.Task.AddExceptionsFromChildren">
  6870. <summary>
  6871. This is to be called just before the task does its final state transition.
  6872. It traverses the list of exceptional children, and appends their aggregate exceptions into this one's exception list
  6873. </summary>
  6874. </member>
  6875. <member name="M:System.Threading.Tasks.Task.FinishThreadAbortedTask(System.Boolean,System.Boolean)">
  6876. <summary>
  6877. Special purpose Finish() entry point to be used when the task delegate throws a ThreadAbortedException
  6878. This makes a note in the state flags so that we avoid any costly synchronous operations in the finish codepath
  6879. such as inlined continuations
  6880. </summary>
  6881. <param name="bTAEAddedToExceptionHolder">
  6882. Indicates whether the ThreadAbortException was added to this task's exception holder.
  6883. This should always be true except for the case of non-root self replicating task copies.
  6884. </param>
  6885. <param name="delegateRan">Whether the delegate was executed.</param>
  6886. </member>
  6887. <member name="M:System.Threading.Tasks.Task.Execute">
  6888. <summary>
  6889. Executes the task. This method will only be called once, and handles bookeeping associated with
  6890. self-replicating tasks, in addition to performing necessary exception marshaling.
  6891. </summary>
  6892. <exception cref="T:System.ObjectDisposedException">The task has already been disposed.</exception>
  6893. </member>
  6894. <member name="M:System.Threading.Tasks.Task.System#Threading#Tasks#IThreadPoolWorkItem#ExecuteWorkItem">
  6895. <summary>
  6896. IThreadPoolWorkItem override, which is the entry function for this task when the TP scheduler decides to run it.
  6897. </summary>
  6898. </member>
  6899. <member name="M:System.Threading.Tasks.Task.System#Threading#Tasks#IThreadPoolWorkItem#MarkAborted(System.Threading.ThreadAbortException)">
  6900. <summary>
  6901. The ThreadPool calls this if a ThreadAbortException is thrown while trying to execute this workitem. This may occur
  6902. before Task would otherwise be able to observe it.
  6903. </summary>
  6904. </member>
  6905. <member name="M:System.Threading.Tasks.Task.ExecuteEntry(System.Boolean)">
  6906. <summary>
  6907. Outermost entry function to execute this task. Handles all aspects of executing a task on the caller thread.
  6908. Currently this is called by IThreadPoolWorkItem.ExecuteWorkItem(), and TaskManager.TryExecuteInline.
  6909. </summary>
  6910. <param name="bPreventDoubleExecution"> Performs atomic updates to prevent double execution. Should only be set to true
  6911. in codepaths servicing user provided TaskSchedulers. The ConcRT or ThreadPool schedulers don't need this. </param>
  6912. </member>
  6913. <member name="M:System.Threading.Tasks.Task.InnerInvoke">
  6914. <summary>
  6915. The actual code which invokes the body of the task. This can be overriden in derived types.
  6916. </summary>
  6917. </member>
  6918. <member name="M:System.Threading.Tasks.Task.InnerInvokeWithArg(System.Threading.Tasks.Task)">
  6919. <summary>
  6920. Alternate InnerInvoke prototype to be called from ExecuteSelfReplicating() so that
  6921. the Parallel Debugger can discover the actual task being invoked.
  6922. Details: Here, InnerInvoke is actually being called on the rootTask object while we are actually executing the
  6923. childTask. And the debugger needs to discover the childTask, so we pass that down as an argument.
  6924. The NoOptimization and NoInlining flags ensure that the childTask pointer is retained, and that this
  6925. function appears on the callstack.
  6926. </summary>
  6927. <param name="childTask"></param>
  6928. </member>
  6929. <member name="M:System.Threading.Tasks.Task.HandleException(System.Exception)">
  6930. <summary>
  6931. Performs whatever handling is necessary for an unhandled exception. Normally
  6932. this just entails adding the exception to the holder object.
  6933. </summary>
  6934. <param name="unhandledException">The exception that went unhandled.</param>
  6935. </member>
  6936. <member name="M:System.Threading.Tasks.Task.Wait">
  6937. <summary>
  6938. Waits for the <see cref="T:System.Threading.Tasks.Task"/> to complete execution.
  6939. </summary>
  6940. <exception cref="T:System.AggregateException">
  6941. The <see cref="T:System.Threading.Tasks.Task"/> was canceled -or- an exception was thrown during
  6942. the execution of the <see cref="T:System.Threading.Tasks.Task"/>.
  6943. </exception>
  6944. <exception cref="T:System.ObjectDisposedException">
  6945. The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
  6946. </exception>
  6947. </member>
  6948. <member name="M:System.Threading.Tasks.Task.Wait(System.TimeSpan)">
  6949. <summary>
  6950. Waits for the <see cref="T:System.Threading.Tasks.Task"/> to complete execution.
  6951. </summary>
  6952. <param name="timeout">
  6953. A <see cref="T:System.TimeSpan"/> that represents the number of milliseconds to wait, or a <see cref="T:System.TimeSpan"/> that represents -1 milliseconds to wait indefinitely.
  6954. </param>
  6955. <returns>
  6956. true if the <see cref="T:System.Threading.Tasks.Task"/> completed execution within the allotted time; otherwise, false.
  6957. </returns>
  6958. <exception cref="T:System.AggregateException">
  6959. The <see cref="T:System.Threading.Tasks.Task"/> was canceled -or- an exception was thrown during the execution of the <see cref="T:System.Threading.Tasks.Task"/>.
  6960. </exception>
  6961. <exception cref="T:System.ArgumentOutOfRangeException">
  6962. <paramref name="timeout"/> is a negative number other than -1 milliseconds, which represents an
  6963. infinite time-out -or- timeout is greater than
  6964. <see cref="F:System.Int32.MaxValue"/>.
  6965. </exception>
  6966. <exception cref="T:System.ObjectDisposedException">
  6967. The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
  6968. </exception>
  6969. </member>
  6970. <member name="M:System.Threading.Tasks.Task.Wait(System.Threading.CancellationToken)">
  6971. <summary>
  6972. Waits for the <see cref="T:System.Threading.Tasks.Task"/> to complete execution.
  6973. </summary>
  6974. <param name="cancellationToken">
  6975. A <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> to observe while waiting for the task to complete.
  6976. </param>
  6977. <exception cref="T:System.OperationCanceledException">
  6978. The <paramref name="cancellationToken"/> was canceled.
  6979. </exception>
  6980. <exception cref="T:System.AggregateException">
  6981. The <see cref="T:System.Threading.Tasks.Task"/> was canceled -or- an exception was thrown during the execution of the <see cref="T:System.Threading.Tasks.Task"/>.
  6982. </exception>
  6983. <exception cref="T:System.ObjectDisposedException">
  6984. The <see cref="T:System.Threading.Tasks.Task"/>
  6985. has been disposed.
  6986. </exception>
  6987. </member>
  6988. <member name="M:System.Threading.Tasks.Task.Wait(System.Int32)">
  6989. <summary>
  6990. Waits for the <see cref="T:System.Threading.Tasks.Task"/> to complete execution.
  6991. </summary>
  6992. <param name="millisecondsTimeout">
  6993. The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to
  6994. wait indefinitely.</param>
  6995. <returns>true if the <see cref="T:System.Threading.Tasks.Task"/> completed execution within the allotted time; otherwise,
  6996. false.
  6997. </returns>
  6998. <exception cref="T:System.ArgumentOutOfRangeException">
  6999. <paramref name="millisecondsTimeout"/> is a negative number other than -1, which represents an
  7000. infinite time-out.
  7001. </exception>
  7002. <exception cref="T:System.AggregateException">
  7003. The <see cref="T:System.Threading.Tasks.Task"/> was canceled -or- an exception was thrown during the execution of the <see cref="T:System.Threading.Tasks.Task"/>.
  7004. </exception>
  7005. <exception cref="T:System.ObjectDisposedException">
  7006. The <see cref="T:System.Threading.Tasks.Task"/>
  7007. has been disposed.
  7008. </exception>
  7009. </member>
  7010. <member name="M:System.Threading.Tasks.Task.Wait(System.Int32,System.Threading.CancellationToken)">
  7011. <summary>
  7012. Waits for the <see cref="T:System.Threading.Tasks.Task"/> to complete execution.
  7013. </summary>
  7014. <param name="millisecondsTimeout">
  7015. The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to
  7016. wait indefinitely.
  7017. </param>
  7018. <param name="cancellationToken">
  7019. A <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> to observe while waiting for the task to complete.
  7020. </param>
  7021. <returns>
  7022. true if the <see cref="T:System.Threading.Tasks.Task"/> completed execution within the allotted time; otherwise, false.
  7023. </returns>
  7024. <exception cref="T:System.AggregateException">
  7025. The <see cref="T:System.Threading.Tasks.Task"/> was canceled -or- an exception was thrown during the execution of the <see cref="T:System.Threading.Tasks.Task"/>.
  7026. </exception>
  7027. <exception cref="T:System.ObjectDisposedException">
  7028. The <see cref="T:System.Threading.Tasks.Task"/>
  7029. has been disposed.
  7030. </exception>
  7031. <exception cref="T:System.ArgumentOutOfRangeException">
  7032. <paramref name="millisecondsTimeout"/> is a negative number other than -1, which represents an
  7033. infinite time-out.
  7034. </exception>
  7035. <exception cref="T:System.OperationCanceledException">
  7036. The <paramref name="cancellationToken"/> was canceled.
  7037. </exception>
  7038. </member>
  7039. <member name="M:System.Threading.Tasks.Task.InternalWait(System.Int32,System.Threading.CancellationToken)">
  7040. <summary>
  7041. The core wait function, which is only accesible internally. It's meant to be used in places in TPL code where
  7042. the current context is known or cached.
  7043. </summary>
  7044. </member>
  7045. <member name="M:System.Threading.Tasks.Task.InternalCancel(System.Boolean)">
  7046. <summary>
  7047. Cancels the <see cref="T:System.Threading.Tasks.Task"/>.
  7048. </summary>
  7049. <param name="bCancelNonExecutingOnly"> Indiactes whether we should only cancel non-invoked tasks.
  7050. For the default scheduler this option will only be serviced through TryDequeue.
  7051. For custom schedulers we also attempt an atomic state transition.</param>
  7052. <returns>true if the task was successfully canceled; otherwise, false.</returns>
  7053. <exception cref="T:System.ObjectDisposedException">The <see cref="T:System.Threading.Tasks.Task"/>
  7054. has been disposed.</exception>
  7055. </member>
  7056. <member name="M:System.Threading.Tasks.Task.SetCancellationAcknowledged">
  7057. <summary>
  7058. Sets the task's cancellation acknowledged flag.
  7059. </summary>
  7060. </member>
  7061. <member name="M:System.Threading.Tasks.Task.FinishContinuations">
  7062. <summary>
  7063. Runs all of the continuations, as appropriate.
  7064. </summary>
  7065. </member>
  7066. <member name="M:System.Threading.Tasks.Task.ContinueWithIsRightKind(System.Threading.Tasks.TaskContinuationOptions)">
  7067. <summary>
  7068. Helper function to determine whether the current task is in the state desired by the
  7069. continuation kind under evaluation. Three possibilities exist: the task failed with
  7070. an unhandled exception (OnFailed), the task was canceled before running (OnAborted),
  7071. or the task completed successfully (OnCompletedSuccessfully). Note that the last
  7072. one includes completing due to cancellation.
  7073. </summary>
  7074. <param name="options">The continuation options under evaluation.</param>
  7075. <returns>True if the continuation should be run given the task's current state.</returns>
  7076. </member>
  7077. <member name="M:System.Threading.Tasks.Task.ContinueWith(System.Action{System.Threading.Tasks.Task})">
  7078. <summary>
  7079. Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
  7080. </summary>
  7081. <param name="continuationAction">
  7082. An action to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
  7083. passed the completed task as an argument.
  7084. </param>
  7085. <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
  7086. <remarks>
  7087. The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
  7088. completed, whether it completes due to running to completion successfully, faulting due to an
  7089. unhandled exception, or exiting out early due to being canceled.
  7090. </remarks>
  7091. <exception cref="T:System.ArgumentNullException">
  7092. The <paramref name="continuationAction"/> argument is null.
  7093. </exception>
  7094. <exception cref="T:System.ObjectDisposedException">
  7095. The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
  7096. </exception>
  7097. </member>
  7098. <member name="M:System.Threading.Tasks.Task.ContinueWith(System.Action{System.Threading.Tasks.Task},System.Threading.CancellationToken)">
  7099. <summary>
  7100. Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
  7101. </summary>
  7102. <param name="continuationAction">
  7103. An action to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
  7104. passed the completed task as an argument.
  7105. </param>
  7106. <param name="cancellationToken"> The <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> that will be assigned to the new continuation task.</param>
  7107. <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
  7108. <remarks>
  7109. The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
  7110. completed, whether it completes due to running to completion successfully, faulting due to an
  7111. unhandled exception, or exiting out early due to being canceled.
  7112. </remarks>
  7113. <exception cref="T:System.ArgumentNullException">
  7114. The <paramref name="continuationAction"/> argument is null.
  7115. </exception>
  7116. <exception cref="T:System.ObjectDisposedException">
  7117. The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
  7118. </exception>
  7119. <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  7120. has already been disposed.
  7121. </exception>
  7122. </member>
  7123. <member name="M:System.Threading.Tasks.Task.ContinueWith(System.Action{System.Threading.Tasks.Task},System.Threading.Tasks.TaskScheduler)">
  7124. <summary>
  7125. Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
  7126. </summary>
  7127. <param name="continuationAction">
  7128. An action to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
  7129. passed the completed task as an argument.
  7130. </param>
  7131. <param name="scheduler">
  7132. The <see cref="T:System.Threading.Tasks.TaskScheduler"/> to associate with the continuation task and to use for its execution.
  7133. </param>
  7134. <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
  7135. <remarks>
  7136. The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
  7137. completed, whether it completes due to running to completion successfully, faulting due to an
  7138. unhandled exception, or exiting out early due to being canceled.
  7139. </remarks>
  7140. <exception cref="T:System.ArgumentNullException">
  7141. The <paramref name="continuationAction"/> argument is null.
  7142. </exception>
  7143. <exception cref="T:System.ArgumentNullException">
  7144. The <paramref name="scheduler"/> argument is null.
  7145. </exception>
  7146. <exception cref="T:System.ObjectDisposedException">
  7147. The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
  7148. </exception>
  7149. </member>
  7150. <member name="M:System.Threading.Tasks.Task.ContinueWith(System.Action{System.Threading.Tasks.Task},System.Threading.Tasks.TaskContinuationOptions)">
  7151. <summary>
  7152. Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
  7153. </summary>
  7154. <param name="continuationAction">
  7155. An action to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
  7156. passed the completed task as an argument.
  7157. </param>
  7158. <param name="continuationOptions">
  7159. Options for when the continuation is scheduled and how it behaves. This includes criteria, such
  7160. as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnCanceled">OnlyOnCanceled</see>, as
  7161. well as execution options, such as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.ExecuteSynchronously">ExecuteSynchronously</see>.
  7162. </param>
  7163. <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
  7164. <remarks>
  7165. The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
  7166. completed. If the continuation criteria specified through the <paramref name="continuationOptions"/> parameter are not met, the continuation task will be canceled
  7167. instead of scheduled.
  7168. </remarks>
  7169. <exception cref="T:System.ArgumentNullException">
  7170. The <paramref name="continuationAction"/> argument is null.
  7171. </exception>
  7172. <exception cref="T:System.ArgumentOutOfRangeException">
  7173. The <paramref name="continuationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>.
  7174. </exception>
  7175. <exception cref="T:System.ObjectDisposedException">
  7176. The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
  7177. </exception>
  7178. </member>
  7179. <member name="M:System.Threading.Tasks.Task.ContinueWith(System.Action{System.Threading.Tasks.Task},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
  7180. <summary>
  7181. Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
  7182. </summary>
  7183. <param name="continuationAction">
  7184. An action to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
  7185. passed the completed task as an argument.
  7186. </param>
  7187. <param name="continuationOptions">
  7188. Options for when the continuation is scheduled and how it behaves. This includes criteria, such
  7189. as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnCanceled">OnlyOnCanceled</see>, as
  7190. well as execution options, such as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.ExecuteSynchronously">ExecuteSynchronously</see>.
  7191. </param>
  7192. <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> that will be assigned to the new continuation task.</param>
  7193. <param name="scheduler">
  7194. The <see cref="T:System.Threading.Tasks.TaskScheduler"/> to associate with the continuation task and to use for its
  7195. execution.
  7196. </param>
  7197. <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
  7198. <remarks>
  7199. The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
  7200. completed. If the criteria specified through the <paramref name="continuationOptions"/> parameter
  7201. are not met, the continuation task will be canceled instead of scheduled.
  7202. </remarks>
  7203. <exception cref="T:System.ArgumentNullException">
  7204. The <paramref name="continuationAction"/> argument is null.
  7205. </exception>
  7206. <exception cref="T:System.ArgumentOutOfRangeException">
  7207. The <paramref name="continuationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>.
  7208. </exception>
  7209. <exception cref="T:System.ArgumentNullException">
  7210. The <paramref name="scheduler"/> argument is null.
  7211. </exception>
  7212. <exception cref="T:System.ObjectDisposedException">
  7213. The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
  7214. </exception>
  7215. <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  7216. has already been disposed.
  7217. </exception>
  7218. </member>
  7219. <member name="M:System.Threading.Tasks.Task.ContinueWith``1(System.Func{System.Threading.Tasks.Task,``0})">
  7220. <summary>
  7221. Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
  7222. </summary>
  7223. <typeparam name="TResult">
  7224. The type of the result produced by the continuation.
  7225. </typeparam>
  7226. <param name="continuationFunction">
  7227. A function to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
  7228. passed the completed task as an argument.
  7229. </param>
  7230. <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
  7231. <remarks>
  7232. The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current task has
  7233. completed, whether it completes due to running to completion successfully, faulting due to an
  7234. unhandled exception, or exiting out early due to being canceled.
  7235. </remarks>
  7236. <exception cref="T:System.ArgumentNullException">
  7237. The <paramref name="continuationFunction"/> argument is null.
  7238. </exception>
  7239. <exception cref="T:System.ObjectDisposedException">
  7240. The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
  7241. </exception>
  7242. </member>
  7243. <member name="M:System.Threading.Tasks.Task.ContinueWith``1(System.Func{System.Threading.Tasks.Task,``0},System.Threading.CancellationToken)">
  7244. <summary>
  7245. Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
  7246. </summary>
  7247. <typeparam name="TResult">
  7248. The type of the result produced by the continuation.
  7249. </typeparam>
  7250. <param name="continuationFunction">
  7251. A function to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
  7252. passed the completed task as an argument.
  7253. </param>
  7254. <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> that will be assigned to the new continuation task.</param>
  7255. <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
  7256. <remarks>
  7257. The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current task has
  7258. completed, whether it completes due to running to completion successfully, faulting due to an
  7259. unhandled exception, or exiting out early due to being canceled.
  7260. </remarks>
  7261. <exception cref="T:System.ArgumentNullException">
  7262. The <paramref name="continuationFunction"/> argument is null.
  7263. </exception>
  7264. <exception cref="T:System.ObjectDisposedException">
  7265. The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
  7266. </exception>
  7267. <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  7268. has already been disposed.
  7269. </exception>
  7270. </member>
  7271. <member name="M:System.Threading.Tasks.Task.ContinueWith``1(System.Func{System.Threading.Tasks.Task,``0},System.Threading.Tasks.TaskScheduler)">
  7272. <summary>
  7273. Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
  7274. </summary>
  7275. <typeparam name="TResult">
  7276. The type of the result produced by the continuation.
  7277. </typeparam>
  7278. <param name="continuationFunction">
  7279. A function to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
  7280. passed the completed task as an argument.
  7281. </param>
  7282. <param name="scheduler">
  7283. The <see cref="T:System.Threading.Tasks.TaskScheduler"/> to associate with the continuation task and to use for its execution.
  7284. </param>
  7285. <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
  7286. <remarks>
  7287. The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current task has
  7288. completed, whether it completes due to running to completion successfully, faulting due to an
  7289. unhandled exception, or exiting out early due to being canceled.
  7290. </remarks>
  7291. <exception cref="T:System.ArgumentNullException">
  7292. The <paramref name="continuationFunction"/> argument is null.
  7293. </exception>
  7294. <exception cref="T:System.ArgumentNullException">
  7295. The <paramref name="scheduler"/> argument is null.
  7296. </exception>
  7297. <exception cref="T:System.ObjectDisposedException">
  7298. The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
  7299. </exception>
  7300. </member>
  7301. <member name="M:System.Threading.Tasks.Task.ContinueWith``1(System.Func{System.Threading.Tasks.Task,``0},System.Threading.Tasks.TaskContinuationOptions)">
  7302. <summary>
  7303. Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
  7304. </summary>
  7305. <typeparam name="TResult">
  7306. The type of the result produced by the continuation.
  7307. </typeparam>
  7308. <param name="continuationFunction">
  7309. A function to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
  7310. passed the completed task as an argument.
  7311. </param>
  7312. <param name="continuationOptions">
  7313. Options for when the continuation is scheduled and how it behaves. This includes criteria, such
  7314. as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnCanceled">OnlyOnCanceled</see>, as
  7315. well as execution options, such as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.ExecuteSynchronously">ExecuteSynchronously</see>.
  7316. </param>
  7317. <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
  7318. <remarks>
  7319. The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current task has
  7320. completed. If the continuation criteria specified through the <paramref name="continuationOptions"/> parameter are not met, the continuation task will be canceled
  7321. instead of scheduled.
  7322. </remarks>
  7323. <exception cref="T:System.ArgumentNullException">
  7324. The <paramref name="continuationFunction"/> argument is null.
  7325. </exception>
  7326. <exception cref="T:System.ArgumentOutOfRangeException">
  7327. The <paramref name="continuationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>.
  7328. </exception>
  7329. <exception cref="T:System.ObjectDisposedException">
  7330. The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
  7331. </exception>
  7332. </member>
  7333. <member name="M:System.Threading.Tasks.Task.ContinueWith``1(System.Func{System.Threading.Tasks.Task,``0},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
  7334. <summary>
  7335. Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task"/> completes.
  7336. </summary>
  7337. <typeparam name="TResult">
  7338. The type of the result produced by the continuation.
  7339. </typeparam>
  7340. <param name="continuationFunction">
  7341. A function to run when the <see cref="T:System.Threading.Tasks.Task"/> completes. When run, the delegate will be
  7342. passed the completed task as an argument.
  7343. </param>
  7344. <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> that will be assigned to the new continuation task.</param>
  7345. <param name="continuationOptions">
  7346. Options for when the continuation is scheduled and how it behaves. This includes criteria, such
  7347. as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnCanceled">OnlyOnCanceled</see>, as
  7348. well as execution options, such as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.ExecuteSynchronously">ExecuteSynchronously</see>.
  7349. </param>
  7350. <param name="scheduler">
  7351. The <see cref="T:System.Threading.Tasks.TaskScheduler"/> to associate with the continuation task and to use for its
  7352. execution.
  7353. </param>
  7354. <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
  7355. <remarks>
  7356. The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current task has
  7357. completed. If the criteria specified through the <paramref name="continuationOptions"/> parameter
  7358. are not met, the continuation task will be canceled instead of scheduled.
  7359. </remarks>
  7360. <exception cref="T:System.ArgumentNullException">
  7361. The <paramref name="continuationFunction"/> argument is null.
  7362. </exception>
  7363. <exception cref="T:System.ArgumentOutOfRangeException">
  7364. The <paramref name="continuationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>.
  7365. </exception>
  7366. <exception cref="T:System.ArgumentNullException">
  7367. The <paramref name="scheduler"/> argument is null.
  7368. </exception>
  7369. <exception cref="T:System.ObjectDisposedException">
  7370. The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
  7371. </exception>
  7372. <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  7373. has already been disposed.
  7374. </exception>
  7375. </member>
  7376. <member name="M:System.Threading.Tasks.Task.CreationOptionsFromContinuationOptions(System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskCreationOptions@,System.Threading.Tasks.InternalTaskOptions@)">
  7377. <summary>
  7378. Converts TaskContinuationOptions to TaskCreationOptions, and also does
  7379. some validity checking along the way.
  7380. </summary>
  7381. <param name="continuationOptions">Incoming TaskContinuationOptions</param>
  7382. <param name="creationOptions">Outgoing TaskCreationOptions</param>
  7383. <param name="internalOptions">Outgoing InternalTaskOptions</param>
  7384. </member>
  7385. <member name="M:System.Threading.Tasks.Task.ContinueWithCore(System.Threading.Tasks.Task,System.Threading.Tasks.TaskScheduler,System.Threading.Tasks.TaskContinuationOptions)">
  7386. <summary>
  7387. Registers the continuation and possibly runs it (if the task is already finished).
  7388. </summary>
  7389. <param name="continuationTask">The continuation task itself.</param>
  7390. <param name="scheduler">TaskScheduler with which to associate continuation task.</param>
  7391. <param name="options">Restrictions on when the continuation becomes active.</param>
  7392. </member>
  7393. <member name="M:System.Threading.Tasks.Task.WaitAll(System.Threading.Tasks.Task[])">
  7394. <summary>
  7395. Waits for all of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
  7396. </summary>
  7397. <param name="tasks">
  7398. An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
  7399. </param>
  7400. <exception cref="T:System.ArgumentNullException">
  7401. The <paramref name="tasks"/> argument is null.
  7402. </exception>
  7403. <exception cref="T:System.ArgumentNullException">
  7404. The <paramref name="tasks"/> argument contains a null element.
  7405. </exception>
  7406. <exception cref="T:System.AggregateException">
  7407. At least one of the <see cref="T:System.Threading.Tasks.Task"/> instances was canceled -or- an exception was thrown during
  7408. the execution of at least one of the <see cref="T:System.Threading.Tasks.Task"/> instances.
  7409. </exception>
  7410. <exception cref="T:System.ObjectDisposedException">
  7411. The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
  7412. </exception>
  7413. </member>
  7414. <member name="M:System.Threading.Tasks.Task.WaitAll(System.Threading.Tasks.Task[],System.TimeSpan)">
  7415. <summary>
  7416. Waits for all of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
  7417. </summary>
  7418. <returns>
  7419. true if all of the <see cref="T:System.Threading.Tasks.Task"/> instances completed execution within the allotted time;
  7420. otherwise, false.
  7421. </returns>
  7422. <param name="tasks">
  7423. An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
  7424. </param>
  7425. <param name="timeout">
  7426. A <see cref="T:System.TimeSpan"/> that represents the number of milliseconds to wait, or a <see cref="T:System.TimeSpan"/> that represents -1 milliseconds to wait indefinitely.
  7427. </param>
  7428. <exception cref="T:System.ArgumentNullException">
  7429. The <paramref name="tasks"/> argument is null.
  7430. </exception>
  7431. <exception cref="T:System.ArgumentException">
  7432. The <paramref name="tasks"/> argument contains a null element.
  7433. </exception>
  7434. <exception cref="T:System.AggregateException">
  7435. At least one of the <see cref="T:System.Threading.Tasks.Task"/> instances was canceled -or- an exception was thrown during
  7436. the execution of at least one of the <see cref="T:System.Threading.Tasks.Task"/> instances.
  7437. </exception>
  7438. <exception cref="T:System.ArgumentOutOfRangeException">
  7439. <paramref name="timeout"/> is a negative number other than -1 milliseconds, which represents an
  7440. infinite time-out -or- timeout is greater than
  7441. <see cref="F:System.Int32.MaxValue"/>.
  7442. </exception>
  7443. <exception cref="T:System.ObjectDisposedException">
  7444. The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
  7445. </exception>
  7446. </member>
  7447. <member name="M:System.Threading.Tasks.Task.WaitAll(System.Threading.Tasks.Task[],System.Int32)">
  7448. <summary>
  7449. Waits for all of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
  7450. </summary>
  7451. <returns>
  7452. true if all of the <see cref="T:System.Threading.Tasks.Task"/> instances completed execution within the allotted time;
  7453. otherwise, false.
  7454. </returns>
  7455. <param name="millisecondsTimeout">
  7456. The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to
  7457. wait indefinitely.</param>
  7458. <param name="tasks">An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
  7459. </param>
  7460. <exception cref="T:System.ArgumentNullException">
  7461. The <paramref name="tasks"/> argument is null.
  7462. </exception>
  7463. <exception cref="T:System.ArgumentException">
  7464. The <paramref name="tasks"/> argument contains a null element.
  7465. </exception>
  7466. <exception cref="T:System.AggregateException">
  7467. At least one of the <see cref="T:System.Threading.Tasks.Task"/> instances was canceled -or- an exception was thrown during
  7468. the execution of at least one of the <see cref="T:System.Threading.Tasks.Task"/> instances.
  7469. </exception>
  7470. <exception cref="T:System.ObjectDisposedException">
  7471. The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
  7472. </exception>
  7473. <exception cref="T:System.ArgumentOutOfRangeException">
  7474. <paramref name="millisecondsTimeout"/> is a negative number other than -1, which represents an
  7475. infinite time-out.
  7476. </exception>
  7477. </member>
  7478. <member name="M:System.Threading.Tasks.Task.WaitAll(System.Threading.Tasks.Task[],System.Threading.CancellationToken)">
  7479. <summary>
  7480. Waits for all of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
  7481. </summary>
  7482. <returns>
  7483. true if all of the <see cref="T:System.Threading.Tasks.Task"/> instances completed execution within the allotted time;
  7484. otherwise, false.
  7485. </returns>
  7486. <param name="tasks">
  7487. An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
  7488. </param>
  7489. <param name="cancellationToken">
  7490. A <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> to observe while waiting for the tasks to complete.
  7491. </param>
  7492. <exception cref="T:System.ArgumentNullException">
  7493. The <paramref name="tasks"/> argument is null.
  7494. </exception>
  7495. <exception cref="T:System.ArgumentException">
  7496. The <paramref name="tasks"/> argument contains a null element.
  7497. </exception>
  7498. <exception cref="T:System.AggregateException">
  7499. At least one of the <see cref="T:System.Threading.Tasks.Task"/> instances was canceled -or- an exception was thrown during
  7500. the execution of at least one of the <see cref="T:System.Threading.Tasks.Task"/> instances.
  7501. </exception>
  7502. <exception cref="T:System.OperationCanceledException">
  7503. The <paramref name="cancellationToken"/> was canceled.
  7504. </exception>
  7505. <exception cref="T:System.ObjectDisposedException">
  7506. The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
  7507. </exception>
  7508. </member>
  7509. <member name="M:System.Threading.Tasks.Task.WaitAll(System.Threading.Tasks.Task[],System.Int32,System.Threading.CancellationToken)">
  7510. <summary>
  7511. Waits for all of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
  7512. </summary>
  7513. <returns>
  7514. true if all of the <see cref="T:System.Threading.Tasks.Task"/> instances completed execution within the allotted time;
  7515. otherwise, false.
  7516. </returns>
  7517. <param name="tasks">
  7518. An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
  7519. </param>
  7520. <param name="millisecondsTimeout">
  7521. The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to
  7522. wait indefinitely.
  7523. </param>
  7524. <param name="cancellationToken">
  7525. A <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> to observe while waiting for the tasks to complete.
  7526. </param>
  7527. <exception cref="T:System.ArgumentNullException">
  7528. The <paramref name="tasks"/> argument is null.
  7529. </exception>
  7530. <exception cref="T:System.ArgumentException">
  7531. The <paramref name="tasks"/> argument contains a null element.
  7532. </exception>
  7533. <exception cref="T:System.AggregateException">
  7534. At least one of the <see cref="T:System.Threading.Tasks.Task"/> instances was canceled -or- an exception was thrown during
  7535. the execution of at least one of the <see cref="T:System.Threading.Tasks.Task"/> instances.
  7536. </exception>
  7537. <exception cref="T:System.ObjectDisposedException">
  7538. The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
  7539. </exception>
  7540. <exception cref="T:System.ArgumentOutOfRangeException">
  7541. <paramref name="millisecondsTimeout"/> is a negative number other than -1, which represents an
  7542. infinite time-out.
  7543. </exception>
  7544. <exception cref="T:System.OperationCanceledException">
  7545. The <paramref name="cancellationToken"/> was canceled.
  7546. </exception>
  7547. </member>
  7548. <member name="M:System.Threading.Tasks.Task.WaitAllSTAAnd64Aware(System.Threading.WaitHandle[],System.Int32,System.Threading.CancellationToken)">
  7549. <summary>
  7550. Waits for a set of handles in a STA-aware way. In other words, it will wait for each
  7551. of the events individually if we're on a STA thread, because MsgWaitForMultipleObjectsEx
  7552. can't do a true wait-all due to its hidden message queue event. This is not atomic,
  7553. of course, but we only wait on one-way (MRE) events anyway so this is OK.
  7554. </summary>
  7555. <param name="waitHandles">An array of wait handles to wait on.</param>
  7556. <param name="millisecondsTimeout">The timeout to use during waits.</param>
  7557. <param name="cancellationToken">The cancellationToken that enables a wait to be canceled.</param>
  7558. <returns>True if all waits succeeded, false if a timeout occurred.</returns>
  7559. </member>
  7560. <member name="M:System.Threading.Tasks.Task.FastWaitAll(System.Threading.Tasks.Task[])">
  7561. <summary>
  7562. Internal WaitAll implementation which is meant to be used with small number of tasks,
  7563. optimized for Parallel.Invoke and other structured primitives.
  7564. </summary>
  7565. </member>
  7566. <member name="M:System.Threading.Tasks.Task.AddExceptionsForCompletedTask(System.Collections.Generic.List{System.Exception}@,System.Threading.Tasks.Task)">
  7567. <summary>
  7568. This internal function is only meant to be called by WaitAll()
  7569. If the completed task is canceled or it has other exceptions, here we will add those
  7570. into the passed in exception list (which will be lazily initialized here).
  7571. </summary>
  7572. </member>
  7573. <member name="M:System.Threading.Tasks.Task.WaitAny(System.Threading.Tasks.Task[])">
  7574. <summary>
  7575. Waits for any of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
  7576. </summary>
  7577. <param name="tasks">
  7578. An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
  7579. </param>
  7580. <returns>The index of the completed task in the <paramref name="tasks"/> array argument.</returns>
  7581. <exception cref="T:System.ArgumentNullException">
  7582. The <paramref name="tasks"/> argument is null.
  7583. </exception>
  7584. <exception cref="T:System.ArgumentException">
  7585. The <paramref name="tasks"/> argument contains a null element.
  7586. </exception>
  7587. <exception cref="T:System.ObjectDisposedException">
  7588. The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
  7589. </exception>
  7590. </member>
  7591. <member name="M:System.Threading.Tasks.Task.WaitAny(System.Threading.Tasks.Task[],System.TimeSpan)">
  7592. <summary>
  7593. Waits for any of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
  7594. </summary>
  7595. <param name="tasks">
  7596. An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
  7597. </param>
  7598. <param name="timeout">
  7599. A <see cref="T:System.TimeSpan"/> that represents the number of milliseconds to wait, or a <see cref="T:System.TimeSpan"/> that represents -1 milliseconds to wait indefinitely.
  7600. </param>
  7601. <returns>
  7602. The index of the completed task in the <paramref name="tasks"/> array argument, or -1 if the
  7603. timeout occurred.
  7604. </returns>
  7605. <exception cref="T:System.ArgumentNullException">
  7606. The <paramref name="tasks"/> argument is null.
  7607. </exception>
  7608. <exception cref="T:System.ArgumentException">
  7609. The <paramref name="tasks"/> argument contains a null element.
  7610. </exception>
  7611. <exception cref="T:System.ObjectDisposedException">
  7612. The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
  7613. </exception>
  7614. <exception cref="T:System.ArgumentOutOfRangeException">
  7615. <paramref name="timeout"/> is a negative number other than -1 milliseconds, which represents an
  7616. infinite time-out -or- timeout is greater than
  7617. <see cref="F:System.Int32.MaxValue"/>.
  7618. </exception>
  7619. </member>
  7620. <member name="M:System.Threading.Tasks.Task.WaitAny(System.Threading.Tasks.Task[],System.Threading.CancellationToken)">
  7621. <summary>
  7622. Waits for any of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
  7623. </summary>
  7624. <param name="tasks">
  7625. An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
  7626. </param>
  7627. <param name="cancellationToken">
  7628. A <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> to observe while waiting for a task to complete.
  7629. </param>
  7630. <returns>
  7631. The index of the completed task in the <paramref name="tasks"/> array argument.
  7632. </returns>
  7633. <exception cref="T:System.ArgumentNullException">
  7634. The <paramref name="tasks"/> argument is null.
  7635. </exception>
  7636. <exception cref="T:System.ArgumentException">
  7637. The <paramref name="tasks"/> argument contains a null element.
  7638. </exception>
  7639. <exception cref="T:System.ObjectDisposedException">
  7640. The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
  7641. </exception>
  7642. <exception cref="T:System.OperationCanceledException">
  7643. The <paramref name="cancellationToken"/> was canceled.
  7644. </exception>
  7645. </member>
  7646. <member name="M:System.Threading.Tasks.Task.WaitAny(System.Threading.Tasks.Task[],System.Int32)">
  7647. <summary>
  7648. Waits for any of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
  7649. </summary>
  7650. <param name="tasks">
  7651. An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
  7652. </param>
  7653. <param name="millisecondsTimeout">
  7654. The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to
  7655. wait indefinitely.
  7656. </param>
  7657. <returns>
  7658. The index of the completed task in the <paramref name="tasks"/> array argument, or -1 if the
  7659. timeout occurred.
  7660. </returns>
  7661. <exception cref="T:System.ArgumentNullException">
  7662. The <paramref name="tasks"/> argument is null.
  7663. </exception>
  7664. <exception cref="T:System.ArgumentException">
  7665. The <paramref name="tasks"/> argument contains a null element.
  7666. </exception>
  7667. <exception cref="T:System.ObjectDisposedException">
  7668. The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
  7669. </exception>
  7670. <exception cref="T:System.ArgumentOutOfRangeException">
  7671. <paramref name="millisecondsTimeout"/> is a negative number other than -1, which represents an
  7672. infinite time-out.
  7673. </exception>
  7674. </member>
  7675. <member name="M:System.Threading.Tasks.Task.WaitAny(System.Threading.Tasks.Task[],System.Int32,System.Threading.CancellationToken)">
  7676. <summary>
  7677. Waits for any of the provided <see cref="T:System.Threading.Tasks.Task"/> objects to complete execution.
  7678. </summary>
  7679. <param name="tasks">
  7680. An array of <see cref="T:System.Threading.Tasks.Task"/> instances on which to wait.
  7681. </param>
  7682. <param name="millisecondsTimeout">
  7683. The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to
  7684. wait indefinitely.
  7685. </param>
  7686. <param name="cancellationToken">
  7687. A <see cref="P:System.Threading.Tasks.Task.CancellationToken"/> to observe while waiting for a task to complete.
  7688. </param>
  7689. <returns>
  7690. The index of the completed task in the <paramref name="tasks"/> array argument, or -1 if the
  7691. timeout occurred.
  7692. </returns>
  7693. <exception cref="T:System.ArgumentNullException">
  7694. The <paramref name="tasks"/> argument is null.
  7695. </exception>
  7696. <exception cref="T:System.ArgumentException">
  7697. The <paramref name="tasks"/> argument contains a null element.
  7698. </exception>
  7699. <exception cref="T:System.ObjectDisposedException">
  7700. The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
  7701. </exception>
  7702. <exception cref="T:System.ArgumentOutOfRangeException">
  7703. <paramref name="millisecondsTimeout"/> is a negative number other than -1, which represents an
  7704. infinite time-out.
  7705. </exception>
  7706. <exception cref="T:System.OperationCanceledException">
  7707. The <paramref name="cancellationToken"/> was canceled.
  7708. </exception>
  7709. </member>
  7710. <member name="P:System.Threading.Tasks.Task.Id">
  7711. <summary>
  7712. Gets a unique ID for this <see cref="T:System.Threading.Tasks.Task">Task</see> instance.
  7713. </summary>
  7714. <remarks>
  7715. Task IDs are assigned on-demand and do not necessarily represent the order in the which Task
  7716. instances were created.
  7717. </remarks>
  7718. </member>
  7719. <member name="P:System.Threading.Tasks.Task.CurrentId">
  7720. <summary>
  7721. Returns the unique ID of the currently executing <see cref="T:System.Threading.Tasks.Task">Task</see>.
  7722. </summary>
  7723. </member>
  7724. <member name="P:System.Threading.Tasks.Task.InternalCurrent">
  7725. <summary>
  7726. Gets the <see cref="T:System.Threading.Tasks.Task">Task</see> instance currently executing, or
  7727. null if none exists.
  7728. </summary>
  7729. </member>
  7730. <member name="P:System.Threading.Tasks.Task.CurrentStackGuard">
  7731. <summary>
  7732. Gets the StackGuard object assigned to the current thread.
  7733. </summary>
  7734. </member>
  7735. <member name="P:System.Threading.Tasks.Task.Exception">
  7736. <summary>
  7737. Gets the <see cref="T:System.AggregateException">Exception</see> that caused the <see cref="T:System.Threading.Tasks.Task">Task</see> to end prematurely. If the <see cref="T:System.Threading.Tasks.Task">Task</see> completed successfully or has not yet thrown any
  7738. exceptions, this will return null.
  7739. </summary>
  7740. <remarks>
  7741. Tasks that throw unhandled exceptions store the resulting exception and propagate it wrapped in a
  7742. <see cref="T:System.AggregateException"/> in calls to <see cref="M:System.Threading.Tasks.Task.Wait">Wait</see>
  7743. or in accesses to the <see cref="P:System.Threading.Tasks.Task.Exception"/> property. Any exceptions not observed by the time
  7744. the Task instance is garbage collected will be propagated on the finalizer thread.
  7745. </remarks>
  7746. <exception cref="T:System.ObjectDisposedException">
  7747. The <see cref="T:System.Threading.Tasks.Task">Task</see>
  7748. has been disposed.
  7749. </exception>
  7750. </member>
  7751. <member name="P:System.Threading.Tasks.Task.Status">
  7752. <summary>
  7753. Gets the <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> of this Task.
  7754. </summary>
  7755. </member>
  7756. <member name="P:System.Threading.Tasks.Task.IsCanceled">
  7757. <summary>
  7758. Gets whether this <see cref="T:System.Threading.Tasks.Task">Task</see> instance has completed
  7759. execution due to being canceled.
  7760. </summary>
  7761. <remarks>
  7762. A <see cref="T:System.Threading.Tasks.Task">Task</see> will complete in Canceled state either if its <see cref="P:System.Threading.Tasks.Task.CancellationToken">CancellationToken</see>
  7763. was marked for cancellation before the task started executing, or if the task acknowledged the cancellation request on
  7764. its already signaled CancellationToken by throwing an
  7765. <see cref="T:System.OperationCanceledException">OperationCanceledException</see> that bears the same
  7766. <see cref="T:System.Threading.CancellationToken">CancellationToken</see>.
  7767. </remarks>
  7768. </member>
  7769. <member name="P:System.Threading.Tasks.Task.IsCancellationRequested">
  7770. <summary>
  7771. Returns true if this task has a cancellation token and it was signaled.
  7772. To be used internally in execute entry codepaths.
  7773. </summary>
  7774. </member>
  7775. <member name="P:System.Threading.Tasks.Task.CancellationToken">
  7776. <summary>
  7777. This internal property provides access to the CancellationToken that was set on the task
  7778. when it was constructed.
  7779. </summary>
  7780. </member>
  7781. <member name="P:System.Threading.Tasks.Task.IsCancellationAcknowledged">
  7782. <summary>
  7783. Gets whether this <see cref="T:System.Threading.Tasks.Task"/> threw an OperationCanceledException while its CancellationToken was signaled.
  7784. </summary>
  7785. </member>
  7786. <member name="P:System.Threading.Tasks.Task.IsCompleted">
  7787. <summary>
  7788. Gets whether this <see cref="T:System.Threading.Tasks.Task">Task</see> has completed.
  7789. </summary>
  7790. <remarks>
  7791. <see cref="P:System.Threading.Tasks.Task.IsCompleted"/> will return true when the Task is in one of the three
  7792. final states: <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
  7793. <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
  7794. <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
  7795. </remarks>
  7796. </member>
  7797. <member name="P:System.Threading.Tasks.Task.IsDisposed">
  7798. <summary>
  7799. Checks whether this task has been disposed.
  7800. </summary>
  7801. </member>
  7802. <member name="P:System.Threading.Tasks.Task.CreationOptions">
  7803. <summary>
  7804. Gets the <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used
  7805. to create this task.
  7806. </summary>
  7807. </member>
  7808. <member name="P:System.Threading.Tasks.Task.System#IAsyncResult#AsyncWaitHandle">
  7809. <summary>
  7810. Gets a <see cref="T:System.Threading.WaitHandle"/> that can be used to wait for the task to
  7811. complete.
  7812. </summary>
  7813. <remarks>
  7814. Using the wait functionality provided by <see cref="M:System.Threading.Tasks.Task.Wait"/>
  7815. should be preferred over using <see cref="P:System.IAsyncResult.AsyncWaitHandle"/> for similar
  7816. functionality.
  7817. </remarks>
  7818. <exception cref="T:System.ObjectDisposedException">
  7819. The <see cref="T:System.Threading.Tasks.Task"/> has been disposed.
  7820. </exception>
  7821. </member>
  7822. <member name="P:System.Threading.Tasks.Task.AsyncState">
  7823. <summary>
  7824. Gets the state object supplied when the <see cref="T:System.Threading.Tasks.Task">Task</see> was created,
  7825. or null if none was supplied.
  7826. </summary>
  7827. </member>
  7828. <member name="P:System.Threading.Tasks.Task.System#IAsyncResult#CompletedSynchronously">
  7829. <summary>
  7830. Gets an indication of whether the asynchronous operation completed synchronously.
  7831. </summary>
  7832. <value>true if the asynchronous operation completed synchronously; otherwise, false.</value>
  7833. </member>
  7834. <member name="P:System.Threading.Tasks.Task.ExecutingTaskScheduler">
  7835. <summary>
  7836. Provides access to the TaskScheduler responsible for executing this Task.
  7837. </summary>
  7838. </member>
  7839. <member name="P:System.Threading.Tasks.Task.Factory">
  7840. <summary>
  7841. Provides access to factory methods for creating <see cref="T:System.Threading.Tasks.Task"/> and <see cref="T:System.Threading.Tasks.Task`1"/> instances.
  7842. </summary>
  7843. <remarks>
  7844. The factory returned from <see cref="P:System.Threading.Tasks.Task.Factory"/> is a default instance
  7845. of <see cref="T:System.Threading.Tasks.TaskFactory"/>, as would result from using
  7846. the default constructor on TaskFactory.
  7847. </remarks>
  7848. </member>
  7849. <member name="P:System.Threading.Tasks.Task.CompletedEvent">
  7850. <summary>
  7851. Provides an event that can be used to wait for completion.
  7852. Only called by Wait*(), which means that we really do need to instantiate a completion event.
  7853. </summary>
  7854. </member>
  7855. <member name="P:System.Threading.Tasks.Task.IsSelfReplicatingRoot">
  7856. <summary>
  7857. Determines whether this is the root task of a self replicating group.
  7858. </summary>
  7859. </member>
  7860. <member name="P:System.Threading.Tasks.Task.IsChildReplica">
  7861. <summary>
  7862. Determines whether the task is a replica itself.
  7863. </summary>
  7864. </member>
  7865. <member name="P:System.Threading.Tasks.Task.ExceptionRecorded">
  7866. <summary>
  7867. The property formerly known as IsFaulted.
  7868. </summary>
  7869. </member>
  7870. <member name="P:System.Threading.Tasks.Task.IsFaulted">
  7871. <summary>
  7872. Gets whether the <see cref="T:System.Threading.Tasks.Task"/> completed due to an unhandled exception.
  7873. </summary>
  7874. <remarks>
  7875. If <see cref="P:System.Threading.Tasks.Task.IsFaulted"/> is true, the Task's <see cref="P:System.Threading.Tasks.Task.Status"/> will be equal to
  7876. <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">TaskStatus.Faulted</see>, and its
  7877. <see cref="P:System.Threading.Tasks.Task.Exception"/> property will be non-null.
  7878. </remarks>
  7879. </member>
  7880. <member name="P:System.Threading.Tasks.Task.IsExceptionObservedByParent">
  7881. <summary>
  7882. Checks whether the TASK_STATE_EXCEPTIONOBSERVEDBYPARENT status flag is set,
  7883. This will only be used by the implicit wait to prevent double throws
  7884. </summary>
  7885. </member>
  7886. <member name="P:System.Threading.Tasks.Task.IsDelegateInvoked">
  7887. <summary>
  7888. Checks whether the body was ever invoked. Used by task scheduler code to verify custom schedulers actually ran the task.
  7889. </summary>
  7890. </member>
  7891. <member name="T:System.Threading.Tasks.Task.TaskContinuation">
  7892. <summary>
  7893. A structure to hold continuation information.
  7894. </summary>
  7895. </member>
  7896. <member name="M:System.Threading.Tasks.Task.TaskContinuation.#ctor(System.Threading.Tasks.Task,System.Threading.Tasks.TaskScheduler,System.Threading.Tasks.TaskContinuationOptions)">
  7897. <summary>
  7898. Constructs a new continuation structure.
  7899. </summary>
  7900. <param name="task">The task to be activated.</param>
  7901. <param name="options">The continuation options.</param>
  7902. <param name="scheduler">The scheduler to use for the continuation.</param>
  7903. </member>
  7904. <member name="M:System.Threading.Tasks.Task.TaskContinuation.Run(System.Threading.Tasks.Task,System.Boolean)">
  7905. <summary>
  7906. Invokes the continuation for the target completion task.
  7907. </summary>
  7908. <param name="completedTask">The completed task.</param>
  7909. <param name="bCanInlineContinuationTask">Whether the continuation can be inlined.</param>
  7910. </member>
  7911. <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{`0})">
  7912. <summary>
  7913. Initializes a new <see cref="T:System.Threading.Tasks.Task`1"/> with the specified function.
  7914. </summary>
  7915. <param name="function">
  7916. The delegate that represents the code to execute in the task. When the function has completed,
  7917. the task's <see cref="P:System.Threading.Tasks.Task`1.Result"/> property will be set to return the result value of the function.
  7918. </param>
  7919. <exception cref="T:System.ArgumentException">
  7920. The <paramref name="function"/> argument is null.
  7921. </exception>
  7922. </member>
  7923. <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{`0},System.Threading.CancellationToken)">
  7924. <summary>
  7925. Initializes a new <see cref="T:System.Threading.Tasks.Task`1"/> with the specified function.
  7926. </summary>
  7927. <param name="function">
  7928. The delegate that represents the code to execute in the task. When the function has completed,
  7929. the task's <see cref="P:System.Threading.Tasks.Task`1.Result"/> property will be set to return the result value of the function.
  7930. </param>
  7931. <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to be assigned to this task.</param>
  7932. <exception cref="T:System.ArgumentException">
  7933. The <paramref name="function"/> argument is null.
  7934. </exception>
  7935. <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  7936. has already been disposed.
  7937. </exception>
  7938. </member>
  7939. <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{`0},System.Threading.Tasks.TaskCreationOptions)">
  7940. <summary>
  7941. Initializes a new <see cref="T:System.Threading.Tasks.Task`1"/> with the specified function and creation options.
  7942. </summary>
  7943. <param name="function">
  7944. The delegate that represents the code to execute in the task. When the function has completed,
  7945. the task's <see cref="P:System.Threading.Tasks.Task`1.Result"/> property will be set to return the result value of the function.
  7946. </param>
  7947. <param name="creationOptions">
  7948. The <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used to
  7949. customize the task's behavior.
  7950. </param>
  7951. <exception cref="T:System.ArgumentException">
  7952. The <paramref name="function"/> argument is null.
  7953. </exception>
  7954. <exception cref="T:System.ArgumentOutOfRangeException">
  7955. The <paramref name="creationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.
  7956. </exception>
  7957. </member>
  7958. <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{`0},System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions)">
  7959. <summary>
  7960. Initializes a new <see cref="T:System.Threading.Tasks.Task`1"/> with the specified function and creation options.
  7961. </summary>
  7962. <param name="function">
  7963. The delegate that represents the code to execute in the task. When the function has completed,
  7964. the task's <see cref="P:System.Threading.Tasks.Task`1.Result"/> property will be set to return the result value of the function.
  7965. </param>
  7966. <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> that will be assigned to the new task.</param>
  7967. <param name="creationOptions">
  7968. The <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used to
  7969. customize the task's behavior.
  7970. </param>
  7971. <exception cref="T:System.ArgumentException">
  7972. The <paramref name="function"/> argument is null.
  7973. </exception>
  7974. <exception cref="T:System.ArgumentOutOfRangeException">
  7975. The <paramref name="creationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.
  7976. </exception>
  7977. <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  7978. has already been disposed.
  7979. </exception>
  7980. </member>
  7981. <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{System.Object,`0},System.Object)">
  7982. <summary>
  7983. Initializes a new <see cref="T:System.Threading.Tasks.Task`1"/> with the specified function and state.
  7984. </summary>
  7985. <param name="function">
  7986. The delegate that represents the code to execute in the task. When the function has completed,
  7987. the task's <see cref="P:System.Threading.Tasks.Task`1.Result"/> property will be set to return the result value of the function.
  7988. </param>
  7989. <param name="state">An object representing data to be used by the action.</param>
  7990. <exception cref="T:System.ArgumentException">
  7991. The <paramref name="function"/> argument is null.
  7992. </exception>
  7993. </member>
  7994. <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{System.Object,`0},System.Object,System.Threading.CancellationToken)">
  7995. <summary>
  7996. Initializes a new <see cref="T:System.Threading.Tasks.Task`1"/> with the specified action, state, and options.
  7997. </summary>
  7998. <param name="function">
  7999. The delegate that represents the code to execute in the task. When the function has completed,
  8000. the task's <see cref="P:System.Threading.Tasks.Task`1.Result"/> property will be set to return the result value of the function.
  8001. </param>
  8002. <param name="state">An object representing data to be used by the function.</param>
  8003. <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to be assigned to the new task.</param>
  8004. <exception cref="T:System.ArgumentException">
  8005. The <paramref name="function"/> argument is null.
  8006. </exception>
  8007. <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  8008. has already been disposed.
  8009. </exception>
  8010. </member>
  8011. <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{System.Object,`0},System.Object,System.Threading.Tasks.TaskCreationOptions)">
  8012. <summary>
  8013. Initializes a new <see cref="T:System.Threading.Tasks.Task`1"/> with the specified action, state, and options.
  8014. </summary>
  8015. <param name="function">
  8016. The delegate that represents the code to execute in the task. When the function has completed,
  8017. the task's <see cref="P:System.Threading.Tasks.Task`1.Result"/> property will be set to return the result value of the function.
  8018. </param>
  8019. <param name="state">An object representing data to be used by the function.</param>
  8020. <param name="creationOptions">
  8021. The <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used to
  8022. customize the task's behavior.
  8023. </param>
  8024. <exception cref="T:System.ArgumentException">
  8025. The <paramref name="function"/> argument is null.
  8026. </exception>
  8027. <exception cref="T:System.ArgumentOutOfRangeException">
  8028. The <paramref name="creationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.
  8029. </exception>
  8030. </member>
  8031. <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{System.Object,`0},System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions)">
  8032. <summary>
  8033. Initializes a new <see cref="T:System.Threading.Tasks.Task`1"/> with the specified action, state, and options.
  8034. </summary>
  8035. <param name="function">
  8036. The delegate that represents the code to execute in the task. When the function has completed,
  8037. the task's <see cref="P:System.Threading.Tasks.Task`1.Result"/> property will be set to return the result value of the function.
  8038. </param>
  8039. <param name="state">An object representing data to be used by the function.</param>
  8040. <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to be assigned to the new task.</param>
  8041. <param name="creationOptions">
  8042. The <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions</see> used to
  8043. customize the task's behavior.
  8044. </param>
  8045. <exception cref="T:System.ArgumentException">
  8046. The <paramref name="function"/> argument is null.
  8047. </exception>
  8048. <exception cref="T:System.ArgumentOutOfRangeException">
  8049. The <paramref name="creationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskCreationOptions"/>.
  8050. </exception>
  8051. <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  8052. has already been disposed.
  8053. </exception>
  8054. </member>
  8055. <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{`0},System.Threading.Tasks.Task,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.InternalTaskOptions,System.Threading.Tasks.TaskScheduler)">
  8056. <summary>
  8057. Creates a new future object.
  8058. </summary>
  8059. <param name="parent">The parent task for this future.</param>
  8060. <param name="valueSelector">A function that yields the future value.</param>
  8061. <param name="scheduler">The task scheduler which will be used to execute the future.</param>
  8062. <param name="cancellationToken">The CancellationToken for the task.</param>
  8063. <param name="creationOptions">Options to control the future's behavior.</param>
  8064. <param name="internalOptions">Internal options to control the future's behavior.</param>
  8065. <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="creationOptions"/> argument specifies
  8066. a SelfReplicating <see cref="T:System.Threading.Tasks.Task`1"/>, which is illegal."/&gt;.</exception>
  8067. </member>
  8068. <member name="M:System.Threading.Tasks.Task`1.#ctor(System.Func{System.Object,`0},System.Object,System.Threading.Tasks.Task,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.InternalTaskOptions,System.Threading.Tasks.TaskScheduler)">
  8069. <summary>
  8070. Creates a new future object.
  8071. </summary>
  8072. <param name="parent">The parent task for this future.</param>
  8073. <param name="state">An object containing data to be used by the action; may be null.</param>
  8074. <param name="valueSelector">A function that yields the future value.</param>
  8075. <param name="cancellationToken">The CancellationToken for the task.</param>
  8076. <param name="scheduler">The task scheduler which will be used to execute the future.</param>
  8077. <param name="creationOptions">Options to control the future's behavior.</param>
  8078. <param name="internalOptions">Internal options to control the future's behavior.</param>
  8079. <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="creationOptions"/> argument specifies
  8080. a SelfReplicating <see cref="T:System.Threading.Tasks.Task`1"/>, which is illegal."/&gt;.</exception>
  8081. </member>
  8082. <member name="M:System.Threading.Tasks.Task`1.InvokeFuture(System.Object)">
  8083. <summary>
  8084. Evaluates the value selector of the Task which is passed in as an object and stores the result.
  8085. </summary>
  8086. </member>
  8087. <member name="M:System.Threading.Tasks.Task`1.ContinueWith(System.Action{System.Threading.Tasks.Task{`0}})">
  8088. <summary>
  8089. Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
  8090. </summary>
  8091. <param name="continuationAction">
  8092. An action to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be
  8093. passed the completed task as an argument.
  8094. </param>
  8095. <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
  8096. <remarks>
  8097. The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
  8098. completed, whether it completes due to running to completion successfully, faulting due to an
  8099. unhandled exception, or exiting out early due to being canceled.
  8100. </remarks>
  8101. <exception cref="T:System.ArgumentNullException">
  8102. The <paramref name="continuationAction"/> argument is null.
  8103. </exception>
  8104. <exception cref="T:System.ObjectDisposedException">
  8105. The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
  8106. </exception>
  8107. </member>
  8108. <member name="M:System.Threading.Tasks.Task`1.ContinueWith(System.Action{System.Threading.Tasks.Task{`0}},System.Threading.CancellationToken)">
  8109. <summary>
  8110. Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
  8111. </summary>
  8112. <param name="continuationAction">
  8113. An action to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be
  8114. passed the completed task as an argument.
  8115. </param>
  8116. <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> that will be assigned to the new continuation task.</param>
  8117. <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
  8118. <remarks>
  8119. The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
  8120. completed, whether it completes due to running to completion successfully, faulting due to an
  8121. unhandled exception, or exiting out early due to being canceled.
  8122. </remarks>
  8123. <exception cref="T:System.ArgumentNullException">
  8124. The <paramref name="continuationAction"/> argument is null.
  8125. </exception>
  8126. <exception cref="T:System.ObjectDisposedException">
  8127. The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
  8128. </exception>
  8129. <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  8130. has already been disposed.
  8131. </exception>
  8132. </member>
  8133. <member name="M:System.Threading.Tasks.Task`1.ContinueWith(System.Action{System.Threading.Tasks.Task{`0}},System.Threading.Tasks.TaskScheduler)">
  8134. <summary>
  8135. Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
  8136. </summary>
  8137. <param name="continuationAction">
  8138. An action to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be
  8139. passed the completed task as an argument.
  8140. </param>
  8141. <param name="scheduler">
  8142. The <see cref="T:System.Threading.Tasks.TaskScheduler"/> to associate with the continuation task and to use for its execution.
  8143. </param>
  8144. <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
  8145. <remarks>
  8146. The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
  8147. completed, whether it completes due to running to completion successfully, faulting due to an
  8148. unhandled exception, or exiting out early due to being canceled.
  8149. </remarks>
  8150. <exception cref="T:System.ArgumentNullException">
  8151. The <paramref name="continuationAction"/> argument is null.
  8152. </exception>
  8153. <exception cref="T:System.ArgumentNullException">
  8154. The <paramref name="scheduler"/> argument is null.
  8155. </exception>
  8156. <exception cref="T:System.ObjectDisposedException">
  8157. The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
  8158. </exception>
  8159. </member>
  8160. <member name="M:System.Threading.Tasks.Task`1.ContinueWith(System.Action{System.Threading.Tasks.Task{`0}},System.Threading.Tasks.TaskContinuationOptions)">
  8161. <summary>
  8162. Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
  8163. </summary>
  8164. <param name="continuationAction">
  8165. An action to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be
  8166. passed the completed task as an argument.
  8167. </param>
  8168. <param name="continuationOptions">
  8169. Options for when the continuation is scheduled and how it behaves. This includes criteria, such
  8170. as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnCanceled">OnlyOnCanceled</see>, as
  8171. well as execution options, such as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.ExecuteSynchronously">ExecuteSynchronously</see>.
  8172. </param>
  8173. <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
  8174. <remarks>
  8175. The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
  8176. completed. If the continuation criteria specified through the <paramref name="continuationOptions"/> parameter are not met, the continuation task will be canceled
  8177. instead of scheduled.
  8178. </remarks>
  8179. <exception cref="T:System.ArgumentNullException">
  8180. The <paramref name="continuationAction"/> argument is null.
  8181. </exception>
  8182. <exception cref="T:System.ArgumentOutOfRangeException">
  8183. The <paramref name="continuationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>.
  8184. </exception>
  8185. <exception cref="T:System.ObjectDisposedException">
  8186. The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
  8187. </exception>
  8188. </member>
  8189. <member name="M:System.Threading.Tasks.Task`1.ContinueWith(System.Action{System.Threading.Tasks.Task{`0}},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
  8190. <summary>
  8191. Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
  8192. </summary>
  8193. <param name="continuationAction">
  8194. An action to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be
  8195. passed the completed task as an argument.
  8196. </param>
  8197. <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> that will be assigned to the new continuation task.</param>
  8198. <param name="continuationOptions">
  8199. Options for when the continuation is scheduled and how it behaves. This includes criteria, such
  8200. as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnCanceled">OnlyOnCanceled</see>, as
  8201. well as execution options, such as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.ExecuteSynchronously">ExecuteSynchronously</see>.
  8202. </param>
  8203. <param name="scheduler">
  8204. The <see cref="T:System.Threading.Tasks.TaskScheduler"/> to associate with the continuation task and to use for its
  8205. execution.
  8206. </param>
  8207. <returns>A new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
  8208. <remarks>
  8209. The returned <see cref="T:System.Threading.Tasks.Task"/> will not be scheduled for execution until the current task has
  8210. completed. If the criteria specified through the <paramref name="continuationOptions"/> parameter
  8211. are not met, the continuation task will be canceled instead of scheduled.
  8212. </remarks>
  8213. <exception cref="T:System.ArgumentNullException">
  8214. The <paramref name="continuationAction"/> argument is null.
  8215. </exception>
  8216. <exception cref="T:System.ArgumentOutOfRangeException">
  8217. The <paramref name="continuationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>.
  8218. </exception>
  8219. <exception cref="T:System.ArgumentNullException">
  8220. The <paramref name="scheduler"/> argument is null.
  8221. </exception>
  8222. <exception cref="T:System.ObjectDisposedException">
  8223. The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
  8224. </exception>
  8225. <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  8226. has already been disposed.
  8227. </exception>
  8228. </member>
  8229. <member name="M:System.Threading.Tasks.Task`1.ContinueWith``1(System.Func{System.Threading.Tasks.Task{`0},``0})">
  8230. <summary>
  8231. Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
  8232. </summary>
  8233. <typeparam name="TNewResult">
  8234. The type of the result produced by the continuation.
  8235. </typeparam>
  8236. <param name="continuationFunction">
  8237. A function to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be
  8238. passed the completed task as an argument.
  8239. </param>
  8240. <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
  8241. <remarks>
  8242. The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current
  8243. task has completed, whether it completes due to running to completion successfully, faulting due
  8244. to an unhandled exception, or exiting out early due to being canceled.
  8245. </remarks>
  8246. <exception cref="T:System.ArgumentNullException">
  8247. The <paramref name="continuationFunction"/> argument is null.
  8248. </exception>
  8249. <exception cref="T:System.ObjectDisposedException">
  8250. The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
  8251. </exception>
  8252. </member>
  8253. <member name="M:System.Threading.Tasks.Task`1.ContinueWith``1(System.Func{System.Threading.Tasks.Task{`0},``0},System.Threading.CancellationToken)">
  8254. <summary>
  8255. Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
  8256. </summary>
  8257. <typeparam name="TNewResult">
  8258. The type of the result produced by the continuation.
  8259. </typeparam>
  8260. <param name="continuationFunction">
  8261. A function to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be
  8262. passed the completed task as an argument.
  8263. </param>
  8264. <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> that will be assigned to the new task.</param>
  8265. <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
  8266. <remarks>
  8267. The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current
  8268. task has completed, whether it completes due to running to completion successfully, faulting due
  8269. to an unhandled exception, or exiting out early due to being canceled.
  8270. </remarks>
  8271. <exception cref="T:System.ArgumentNullException">
  8272. The <paramref name="continuationFunction"/> argument is null.
  8273. </exception>
  8274. <exception cref="T:System.ObjectDisposedException">
  8275. The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
  8276. </exception>
  8277. <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  8278. has already been disposed.
  8279. </exception>
  8280. </member>
  8281. <member name="M:System.Threading.Tasks.Task`1.ContinueWith``1(System.Func{System.Threading.Tasks.Task{`0},``0},System.Threading.Tasks.TaskScheduler)">
  8282. <summary>
  8283. Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
  8284. </summary>
  8285. <typeparam name="TNewResult">
  8286. The type of the result produced by the continuation.
  8287. </typeparam>
  8288. <param name="continuationFunction">
  8289. A function to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be
  8290. passed the completed task as an argument.
  8291. </param>
  8292. <param name="scheduler">
  8293. The <see cref="T:System.Threading.Tasks.TaskScheduler"/> to associate with the continuation task and to use for its execution.
  8294. </param>
  8295. <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
  8296. <remarks>
  8297. The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current task has
  8298. completed, whether it completes due to running to completion successfully, faulting due to an
  8299. unhandled exception, or exiting out early due to being canceled.
  8300. </remarks>
  8301. <exception cref="T:System.ArgumentNullException">
  8302. The <paramref name="continuationFunction"/> argument is null.
  8303. </exception>
  8304. <exception cref="T:System.ArgumentNullException">
  8305. The <paramref name="scheduler"/> argument is null.
  8306. </exception>
  8307. <exception cref="T:System.ObjectDisposedException">
  8308. The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
  8309. </exception>
  8310. </member>
  8311. <member name="M:System.Threading.Tasks.Task`1.ContinueWith``1(System.Func{System.Threading.Tasks.Task{`0},``0},System.Threading.Tasks.TaskContinuationOptions)">
  8312. <summary>
  8313. Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
  8314. </summary>
  8315. <typeparam name="TNewResult">
  8316. The type of the result produced by the continuation.
  8317. </typeparam>
  8318. <param name="continuationFunction">
  8319. A function to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be
  8320. passed the completed task as an argument.
  8321. </param>
  8322. <param name="continuationOptions">
  8323. Options for when the continuation is scheduled and how it behaves. This includes criteria, such
  8324. as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnCanceled">OnlyOnCanceled</see>, as
  8325. well as execution options, such as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.ExecuteSynchronously">ExecuteSynchronously</see>.
  8326. </param>
  8327. <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
  8328. <remarks>
  8329. <para>
  8330. The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current
  8331. task has completed, whether it completes due to running to completion successfully, faulting due
  8332. to an unhandled exception, or exiting out early due to being canceled.
  8333. </para>
  8334. <para>
  8335. The <paramref name="continuationFunction"/>, when executed, should return a <see cref="T:System.Threading.Tasks.Task`1"/>. This task's completion state will be transferred to the task returned
  8336. from the ContinueWith call.
  8337. </para>
  8338. </remarks>
  8339. <exception cref="T:System.ArgumentNullException">
  8340. The <paramref name="continuationFunction"/> argument is null.
  8341. </exception>
  8342. <exception cref="T:System.ArgumentOutOfRangeException">
  8343. The <paramref name="continuationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>.
  8344. </exception>
  8345. <exception cref="T:System.ObjectDisposedException">
  8346. The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
  8347. </exception>
  8348. </member>
  8349. <member name="M:System.Threading.Tasks.Task`1.ContinueWith``1(System.Func{System.Threading.Tasks.Task{`0},``0},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
  8350. <summary>
  8351. Creates a continuation that executes when the target <see cref="T:System.Threading.Tasks.Task`1"/> completes.
  8352. </summary>
  8353. <typeparam name="TNewResult">
  8354. The type of the result produced by the continuation.
  8355. </typeparam>
  8356. <param name="continuationFunction">
  8357. A function to run when the <see cref="T:System.Threading.Tasks.Task`1"/> completes. When run, the delegate will be passed as
  8358. an argument this completed task.
  8359. </param>
  8360. <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> that will be assigned to the new task.</param>
  8361. <param name="continuationOptions">
  8362. Options for when the continuation is scheduled and how it behaves. This includes criteria, such
  8363. as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnCanceled">OnlyOnCanceled</see>, as
  8364. well as execution options, such as <see cref="F:System.Threading.Tasks.TaskContinuationOptions.ExecuteSynchronously">ExecuteSynchronously</see>.
  8365. </param>
  8366. <param name="scheduler">
  8367. The <see cref="T:System.Threading.Tasks.TaskScheduler"/> to associate with the continuation task and to use for its
  8368. execution.
  8369. </param>
  8370. <returns>A new continuation <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
  8371. <remarks>
  8372. <para>
  8373. The returned <see cref="T:System.Threading.Tasks.Task`1"/> will not be scheduled for execution until the current task has
  8374. completed, whether it completes due to running to completion successfully, faulting due to an
  8375. unhandled exception, or exiting out early due to being canceled.
  8376. </para>
  8377. <para>
  8378. The <paramref name="continuationFunction"/>, when executed, should return a <see cref="T:System.Threading.Tasks.Task`1"/>.
  8379. This task's completion state will be transferred to the task returned from the
  8380. ContinueWith call.
  8381. </para>
  8382. </remarks>
  8383. <exception cref="T:System.ArgumentNullException">
  8384. The <paramref name="continuationFunction"/> argument is null.
  8385. </exception>
  8386. <exception cref="T:System.ArgumentOutOfRangeException">
  8387. The <paramref name="continuationOptions"/> argument specifies an invalid value for <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>.
  8388. </exception>
  8389. <exception cref="T:System.ArgumentNullException">
  8390. The <paramref name="scheduler"/> argument is null.
  8391. </exception>
  8392. <exception cref="T:System.ObjectDisposedException">
  8393. The <see cref="T:System.Threading.Tasks.Task`1"/> has been disposed.
  8394. </exception>
  8395. <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  8396. has already been disposed.
  8397. </exception>
  8398. </member>
  8399. <member name="P:System.Threading.Tasks.Task`1.Result">
  8400. <summary>
  8401. Gets the result value of this <see cref="T:System.Threading.Tasks.Task`1"/>.
  8402. </summary>
  8403. <remarks>
  8404. The get accessor for this property ensures that the asynchronous operation is complete before
  8405. returning. Once the result of the computation is available, it is stored and will be returned
  8406. immediately on later calls to <see cref="P:System.Threading.Tasks.Task`1.Result"/>.
  8407. </remarks>
  8408. </member>
  8409. <member name="P:System.Threading.Tasks.Task`1.Factory">
  8410. <summary>
  8411. Provides access to factory methods for creating <see cref="T:System.Threading.Tasks.Task`1"/> instances.
  8412. </summary>
  8413. <remarks>
  8414. The factory returned from <see cref="P:System.Threading.Tasks.Task`1.Factory"/> is a default instance
  8415. of <see cref="T:System.Threading.Tasks.TaskFactory`1"/>, as would result from using
  8416. the default constructor on the factory type.
  8417. </remarks>
  8418. </member>
  8419. <member name="T:System.Threading.Tasks.TaskFactory`1">
  8420. <summary>
  8421. Provides support for creating and scheduling
  8422. <see cref="T:System.Threading.Tasks.Task{TResult}">Task{TResult}</see> objects.
  8423. </summary>
  8424. <typeparam name="TResult">The type of the results that are available though
  8425. the <see cref="T:System.Threading.Tasks.Task{TResult}">Task{TResult}</see> objects that are associated with
  8426. the methods in this class.</typeparam>
  8427. <remarks>
  8428. <para>
  8429. There are many common patterns for which tasks are relevant. The <see cref="T:System.Threading.Tasks.TaskFactory`1"/>
  8430. class encodes some of these patterns into methods that pick up default settings, which are
  8431. configurable through its constructors.
  8432. </para>
  8433. <para>
  8434. A default instance of <see cref="T:System.Threading.Tasks.TaskFactory`1"/> is available through the
  8435. <see cref="P:System.Threading.Tasks.Task`1.Factory">Task{TResult}.Factory</see> property.
  8436. </para>
  8437. </remarks>
  8438. </member>
  8439. <member name="M:System.Threading.Tasks.TaskFactory`1.#ctor">
  8440. <summary>
  8441. Initializes a <see cref="T:System.Threading.Tasks.TaskFactory`1"/> instance with the default configuration.
  8442. </summary>
  8443. <remarks>
  8444. This constructor creates a <see cref="T:System.Threading.Tasks.TaskFactory`1"/> instance with a default configuration. The
  8445. <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to
  8446. <see cref="F:System.Threading.Tasks.TaskCreationOptions.None">TaskCreationOptions.None</see>, the
  8447. <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <see cref="F:System.Threading.Tasks.TaskContinuationOptions.None">TaskContinuationOptions.None</see>,
  8448. and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is
  8449. initialized to the current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
  8450. </remarks>
  8451. </member>
  8452. <member name="M:System.Threading.Tasks.TaskFactory`1.#ctor(System.Threading.CancellationToken)">
  8453. <summary>
  8454. Initializes a <see cref="T:System.Threading.Tasks.TaskFactory`1"/> instance with the default configuration.
  8455. </summary>
  8456. <param name="cancellationToken">The default <see cref="P:System.Threading.Tasks.TaskFactory`1.CancellationToken"/> that will be assigned
  8457. to tasks created by this <see cref="T:System.Threading.Tasks.TaskFactory"/> unless another CancellationToken is explicitly specified
  8458. while calling the factory methods.</param>
  8459. <remarks>
  8460. This constructor creates a <see cref="T:System.Threading.Tasks.TaskFactory`1"/> instance with a default configuration. The
  8461. <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to
  8462. <see cref="F:System.Threading.Tasks.TaskCreationOptions.None">TaskCreationOptions.None</see>, the
  8463. <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <see cref="F:System.Threading.Tasks.TaskContinuationOptions.None">TaskContinuationOptions.None</see>,
  8464. and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is
  8465. initialized to the current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
  8466. </remarks>
  8467. </member>
  8468. <member name="M:System.Threading.Tasks.TaskFactory`1.#ctor(System.Threading.Tasks.TaskScheduler)">
  8469. <summary>
  8470. Initializes a <see cref="T:System.Threading.Tasks.TaskFactory`1"/> instance with the specified configuration.
  8471. </summary>
  8472. <param name="scheduler">
  8473. The <see cref="T:System.Threading.Tasks.TaskScheduler">
  8474. TaskScheduler</see> to use to schedule any tasks created with this TaskFactory{TResult}. A null value
  8475. indicates that the current TaskScheduler should be used.
  8476. </param>
  8477. <remarks>
  8478. With this constructor, the
  8479. <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to
  8480. <see cref="F:System.Threading.Tasks.TaskCreationOptions.None">TaskCreationOptions.None</see>, the
  8481. <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <see cref="F:System.Threading.Tasks.TaskContinuationOptions.None">TaskContinuationOptions.None</see>,
  8482. and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is
  8483. initialized to <paramref name="scheduler"/>, unless it's null, in which case the property is
  8484. initialized to the current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
  8485. </remarks>
  8486. </member>
  8487. <member name="M:System.Threading.Tasks.TaskFactory`1.#ctor(System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions)">
  8488. <summary>
  8489. Initializes a <see cref="T:System.Threading.Tasks.TaskFactory`1"/> instance with the specified configuration.
  8490. </summary>
  8491. <param name="creationOptions">
  8492. The default <see cref="T:System.Threading.Tasks.TaskCreationOptions">
  8493. TaskCreationOptions</see> to use when creating tasks with this TaskFactory{TResult}.
  8494. </param>
  8495. <param name="continuationOptions">
  8496. The default <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
  8497. TaskContinuationOptions</see> to use when creating continuation tasks with this TaskFactory{TResult}.
  8498. </param>
  8499. <exception cref="T:System.ArgumentOutOfRangeException">
  8500. The exception that is thrown when the
  8501. <paramref name="creationOptions"/> argument or the <paramref name="continuationOptions"/>
  8502. argument specifies an invalid value.
  8503. </exception>
  8504. <remarks>
  8505. With this constructor, the
  8506. <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to <paramref name="creationOptions"/>,
  8507. the
  8508. <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <paramref name="continuationOptions"/>, and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is initialized to the
  8509. current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
  8510. </remarks>
  8511. </member>
  8512. <member name="M:System.Threading.Tasks.TaskFactory`1.#ctor(System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
  8513. <summary>
  8514. Initializes a <see cref="T:System.Threading.Tasks.TaskFactory`1"/> instance with the specified configuration.
  8515. </summary>
  8516. <param name="cancellationToken">The default <see cref="P:System.Threading.Tasks.TaskFactory`1.CancellationToken"/> that will be assigned
  8517. to tasks created by this <see cref="T:System.Threading.Tasks.TaskFactory"/> unless another CancellationToken is explicitly specified
  8518. while calling the factory methods.</param>
  8519. <param name="creationOptions">
  8520. The default <see cref="T:System.Threading.Tasks.TaskCreationOptions">
  8521. TaskCreationOptions</see> to use when creating tasks with this TaskFactory{TResult}.
  8522. </param>
  8523. <param name="continuationOptions">
  8524. The default <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
  8525. TaskContinuationOptions</see> to use when creating continuation tasks with this TaskFactory{TResult}.
  8526. </param>
  8527. <param name="scheduler">
  8528. The default <see cref="T:System.Threading.Tasks.TaskScheduler">
  8529. TaskScheduler</see> to use to schedule any Tasks created with this TaskFactory{TResult}. A null value
  8530. indicates that TaskScheduler.Current should be used.
  8531. </param>
  8532. <exception cref="T:System.ArgumentOutOfRangeException">
  8533. The exception that is thrown when the
  8534. <paramref name="creationOptions"/> argument or the <paramref name="continuationOptions"/>
  8535. argumentspecifies an invalid value.
  8536. </exception>
  8537. <remarks>
  8538. With this constructor, the
  8539. <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to <paramref name="creationOptions"/>,
  8540. the
  8541. <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <paramref name="continuationOptions"/>, and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is initialized to
  8542. <paramref name="scheduler"/>, unless it's null, in which case the property is initialized to the
  8543. current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
  8544. </remarks>
  8545. </member>
  8546. <member name="M:System.Threading.Tasks.TaskFactory`1.StartNew(System.Func{`0})">
  8547. <summary>
  8548. Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
  8549. </summary>
  8550. <param name="function">A function delegate that returns the future result to be available through
  8551. the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
  8552. <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
  8553. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
  8554. argument is null.</exception>
  8555. <remarks>
  8556. Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
  8557. of its constructors and then calling
  8558. <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
  8559. However, unless creation and scheduling must be separated, StartNew is the recommended approach
  8560. for both simplicity and performance.
  8561. </remarks>
  8562. </member>
  8563. <member name="M:System.Threading.Tasks.TaskFactory`1.StartNew(System.Func{`0},System.Threading.CancellationToken)">
  8564. <summary>
  8565. Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
  8566. </summary>
  8567. <param name="function">A function delegate that returns the future result to be available through
  8568. the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
  8569. <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory`1.CancellationToken"/> that will be assigned to the new task.</param>
  8570. <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
  8571. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
  8572. argument is null.</exception>
  8573. <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  8574. has already been disposed.
  8575. </exception>
  8576. <remarks>
  8577. Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
  8578. of its constructors and then calling
  8579. <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
  8580. However, unless creation and scheduling must be separated, StartNew is the recommended approach
  8581. for both simplicity and performance.
  8582. </remarks>
  8583. </member>
  8584. <member name="M:System.Threading.Tasks.TaskFactory`1.StartNew(System.Func{`0},System.Threading.Tasks.TaskCreationOptions)">
  8585. <summary>
  8586. Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
  8587. </summary>
  8588. <param name="function">A function delegate that returns the future result to be available through
  8589. the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
  8590. <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
  8591. created
  8592. <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
  8593. <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
  8594. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
  8595. argument is null.</exception>
  8596. <exception cref="T:System.ArgumentOutOfRangeException">The exception that is thrown when the
  8597. <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
  8598. value.</exception>
  8599. <remarks>
  8600. Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
  8601. of its constructors and then calling
  8602. <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
  8603. However, unless creation and scheduling must be separated, StartNew is the recommended approach
  8604. for both simplicity and performance.
  8605. </remarks>
  8606. </member>
  8607. <member name="M:System.Threading.Tasks.TaskFactory`1.StartNew(System.Func{`0},System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
  8608. <summary>
  8609. Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
  8610. </summary>
  8611. <param name="function">A function delegate that returns the future result to be available through
  8612. the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
  8613. <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
  8614. created
  8615. <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
  8616. <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory`1.CancellationToken"/> that will be assigned to the new task.</param>
  8617. <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
  8618. that is used to schedule the created <see cref="T:System.Threading.Tasks.Task{TResult}">
  8619. Task{TResult}</see>.</param>
  8620. <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
  8621. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
  8622. argument is null.</exception>
  8623. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="scheduler"/>
  8624. argument is null.</exception>
  8625. <exception cref="T:System.ArgumentOutOfRangeException">The exception that is thrown when the
  8626. <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
  8627. value.</exception>
  8628. <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  8629. has already been disposed.
  8630. </exception>
  8631. <remarks>
  8632. Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
  8633. of its constructors and then calling
  8634. <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
  8635. However, unless creation and scheduling must be separated, StartNew is the recommended approach
  8636. for both simplicity and performance.
  8637. </remarks>
  8638. </member>
  8639. <member name="M:System.Threading.Tasks.TaskFactory`1.StartNew(System.Func{System.Object,`0},System.Object)">
  8640. <summary>
  8641. Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
  8642. </summary>
  8643. <param name="function">A function delegate that returns the future result to be available through
  8644. the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
  8645. <param name="state">An object containing data to be used by the <paramref name="function"/>
  8646. delegate.</param>
  8647. <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
  8648. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
  8649. argument is null.</exception>
  8650. <remarks>
  8651. Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
  8652. of its constructors and then calling
  8653. <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
  8654. However, unless creation and scheduling must be separated, StartNew is the recommended approach
  8655. for both simplicity and performance.
  8656. </remarks>
  8657. </member>
  8658. <member name="M:System.Threading.Tasks.TaskFactory`1.StartNew(System.Func{System.Object,`0},System.Object,System.Threading.CancellationToken)">
  8659. <summary>
  8660. Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
  8661. </summary>
  8662. <param name="function">A function delegate that returns the future result to be available through
  8663. the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
  8664. <param name="state">An object containing data to be used by the <paramref name="function"/>
  8665. delegate.</param>
  8666. <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory`1.CancellationToken"/> that will be assigned to the new task.</param>
  8667. <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
  8668. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
  8669. argument is null.</exception>
  8670. <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  8671. has already been disposed.
  8672. </exception>
  8673. <remarks>
  8674. Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
  8675. of its constructors and then calling
  8676. <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
  8677. However, unless creation and scheduling must be separated, StartNew is the recommended approach
  8678. for both simplicity and performance.
  8679. </remarks>
  8680. </member>
  8681. <member name="M:System.Threading.Tasks.TaskFactory`1.StartNew(System.Func{System.Object,`0},System.Object,System.Threading.Tasks.TaskCreationOptions)">
  8682. <summary>
  8683. Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
  8684. </summary>
  8685. <param name="function">A function delegate that returns the future result to be available through
  8686. the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
  8687. <param name="state">An object containing data to be used by the <paramref name="function"/>
  8688. delegate.</param>
  8689. <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
  8690. created
  8691. <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
  8692. <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
  8693. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
  8694. argument is null.</exception>
  8695. <exception cref="T:System.ArgumentOutOfRangeException">The exception that is thrown when the
  8696. <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
  8697. value.</exception>
  8698. <remarks>
  8699. Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
  8700. of its constructors and then calling
  8701. <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
  8702. However, unless creation and scheduling must be separated, StartNew is the recommended approach
  8703. for both simplicity and performance.
  8704. </remarks>
  8705. </member>
  8706. <member name="M:System.Threading.Tasks.TaskFactory`1.StartNew(System.Func{System.Object,`0},System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
  8707. <summary>
  8708. Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
  8709. </summary>
  8710. <param name="function">A function delegate that returns the future result to be available through
  8711. the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
  8712. <param name="state">An object containing data to be used by the <paramref name="function"/>
  8713. delegate.</param>
  8714. <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory`1.CancellationToken"/> that will be assigned to the new task.</param>
  8715. <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
  8716. created
  8717. <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
  8718. <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
  8719. that is used to schedule the created <see cref="T:System.Threading.Tasks.Task{TResult}">
  8720. Task{TResult}</see>.</param>
  8721. <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
  8722. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
  8723. argument is null.</exception>
  8724. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="scheduler"/>
  8725. argument is null.</exception>
  8726. <exception cref="T:System.ArgumentOutOfRangeException">The exception that is thrown when the
  8727. <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
  8728. value.</exception>
  8729. <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  8730. has already been disposed.
  8731. </exception>
  8732. <remarks>
  8733. Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
  8734. of its constructors and then calling
  8735. <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
  8736. However, unless creation and scheduling must be separated, StartNew is the recommended approach
  8737. for both simplicity and performance.
  8738. </remarks>
  8739. </member>
  8740. <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync(System.IAsyncResult,System.Func{System.IAsyncResult,`0})">
  8741. <summary>
  8742. Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that executes an end
  8743. method function when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
  8744. </summary>
  8745. <param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
  8746. <paramref name="endMethod"/>.</param>
  8747. <param name="endMethod">The function delegate that processes the completed <paramref
  8748. name="asyncResult"/>.</param>
  8749. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  8750. <paramref name="asyncResult"/> argument is null.</exception>
  8751. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  8752. <paramref name="endMethod"/> argument is null.</exception>
  8753. <returns>A <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents the
  8754. asynchronous operation.</returns>
  8755. </member>
  8756. <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync(System.IAsyncResult,System.Func{System.IAsyncResult,`0},System.Threading.Tasks.TaskCreationOptions)">
  8757. <summary>
  8758. Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that executes an end
  8759. method function when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
  8760. </summary>
  8761. <param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
  8762. <paramref name="endMethod"/>.</param>
  8763. <param name="endMethod">The function delegate that processes the completed <paramref
  8764. name="asyncResult"/>.</param>
  8765. <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
  8766. created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
  8767. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  8768. <paramref name="asyncResult"/> argument is null.</exception>
  8769. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  8770. <paramref name="endMethod"/> argument is null.</exception>
  8771. <exception cref="T:System.ArgumentOutOfRangeException">The exception that is thrown when the
  8772. <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
  8773. value.</exception>
  8774. <returns>A <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents the
  8775. asynchronous operation.</returns>
  8776. </member>
  8777. <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync(System.IAsyncResult,System.Func{System.IAsyncResult,`0},System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
  8778. <summary>
  8779. Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that executes an end
  8780. method function when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
  8781. </summary>
  8782. <param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
  8783. <paramref name="endMethod"/>.</param>
  8784. <param name="endMethod">The function delegate that processes the completed <paramref name="asyncResult"/>.</param>
  8785. <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
  8786. that is used to schedule the task that executes the end method.</param>
  8787. <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
  8788. created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
  8789. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  8790. <paramref name="asyncResult"/> argument is null.</exception>
  8791. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  8792. <paramref name="endMethod"/> argument is null.</exception>
  8793. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  8794. <paramref name="scheduler"/> argument is null.</exception>
  8795. <exception cref="T:System.ArgumentOutOfRangeException">The exception that is thrown when the
  8796. <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
  8797. value.</exception>
  8798. <returns>A <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents the
  8799. asynchronous operation.</returns>
  8800. </member>
  8801. <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync(System.Func{System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,`0},System.Object)">
  8802. <summary>
  8803. Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
  8804. begin and end methods that conform to the Asynchronous Programming Model pattern.
  8805. </summary>
  8806. <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
  8807. <param name="endMethod">The delegate that ends the asynchronous operation.</param>
  8808. <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
  8809. delegate.</param>
  8810. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  8811. <paramref name="beginMethod"/> argument is null.</exception>
  8812. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  8813. <paramref name="endMethod"/> argument is null.</exception>
  8814. <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
  8815. represents the asynchronous operation.</returns>
  8816. <remarks>
  8817. This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
  8818. </remarks>
  8819. </member>
  8820. <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync(System.Func{System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,`0},System.Object,System.Threading.Tasks.TaskCreationOptions)">
  8821. <summary>
  8822. Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
  8823. begin and end methods that conform to the Asynchronous Programming Model pattern.
  8824. </summary>
  8825. <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
  8826. <param name="endMethod">The delegate that ends the asynchronous operation.</param>
  8827. <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
  8828. created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
  8829. <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
  8830. delegate.</param>
  8831. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  8832. <paramref name="beginMethod"/> argument is null.</exception>
  8833. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  8834. <paramref name="endMethod"/> argument is null.</exception>
  8835. <exception cref="T:System.ArgumentOutOfRangeException">The exception that is thrown when the
  8836. <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
  8837. value.</exception>
  8838. <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
  8839. represents the asynchronous operation.</returns>
  8840. <remarks>
  8841. This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
  8842. </remarks>
  8843. </member>
  8844. <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync``1(System.Func{``0,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,`0},``0,System.Object)">
  8845. <summary>
  8846. Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
  8847. begin and end methods that conform to the Asynchronous Programming Model pattern.
  8848. </summary>
  8849. <typeparam name="TArg1">The type of the first argument passed to the <paramref
  8850. name="beginMethod"/> delegate.</typeparam>
  8851. <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
  8852. <param name="endMethod">The delegate that ends the asynchronous operation.</param>
  8853. <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
  8854. delegate.</param>
  8855. <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
  8856. delegate.</param>
  8857. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  8858. <paramref name="beginMethod"/> argument is null.</exception>
  8859. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  8860. <paramref name="endMethod"/> argument is null.</exception>
  8861. <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
  8862. represents the asynchronous operation.</returns>
  8863. <remarks>
  8864. This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
  8865. </remarks>
  8866. </member>
  8867. <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync``1(System.Func{``0,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,`0},``0,System.Object,System.Threading.Tasks.TaskCreationOptions)">
  8868. <summary>
  8869. Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
  8870. begin and end methods that conform to the Asynchronous Programming Model pattern.
  8871. </summary>
  8872. <typeparam name="TArg1">The type of the first argument passed to the <paramref
  8873. name="beginMethod"/> delegate.</typeparam>
  8874. <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
  8875. <param name="endMethod">The delegate that ends the asynchronous operation.</param>
  8876. <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
  8877. delegate.</param>
  8878. <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
  8879. created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
  8880. <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
  8881. delegate.</param>
  8882. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  8883. <paramref name="beginMethod"/> argument is null.</exception>
  8884. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  8885. <paramref name="endMethod"/> argument is null.</exception>
  8886. <exception cref="T:System.ArgumentOutOfRangeException">The exception that is thrown when the
  8887. <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
  8888. value.</exception>
  8889. <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
  8890. represents the asynchronous operation.</returns>
  8891. <remarks>
  8892. This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
  8893. </remarks>
  8894. </member>
  8895. <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync``2(System.Func{``0,``1,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,`0},``0,``1,System.Object)">
  8896. <summary>
  8897. Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
  8898. begin and end methods that conform to the Asynchronous Programming Model pattern.
  8899. </summary>
  8900. <typeparam name="TArg1">The type of the first argument passed to the <paramref
  8901. name="beginMethod"/> delegate.</typeparam>
  8902. <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
  8903. delegate.</typeparam>
  8904. <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
  8905. <param name="endMethod">The delegate that ends the asynchronous operation.</param>
  8906. <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
  8907. delegate.</param>
  8908. <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
  8909. delegate.</param>
  8910. <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
  8911. delegate.</param>
  8912. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  8913. <paramref name="beginMethod"/> argument is null.</exception>
  8914. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  8915. <paramref name="endMethod"/> argument is null.</exception>
  8916. <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
  8917. represents the asynchronous operation.</returns>
  8918. <remarks>
  8919. This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
  8920. </remarks>
  8921. </member>
  8922. <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync``2(System.Func{``0,``1,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,`0},``0,``1,System.Object,System.Threading.Tasks.TaskCreationOptions)">
  8923. <summary>
  8924. Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
  8925. begin and end methods that conform to the Asynchronous Programming Model pattern.
  8926. </summary>
  8927. <typeparam name="TArg1">The type of the first argument passed to the <paramref
  8928. name="beginMethod"/> delegate.</typeparam>
  8929. <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
  8930. delegate.</typeparam>
  8931. <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
  8932. <param name="endMethod">The delegate that ends the asynchronous operation.</param>
  8933. <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
  8934. delegate.</param>
  8935. <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
  8936. delegate.</param>
  8937. <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
  8938. created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
  8939. <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
  8940. delegate.</param>
  8941. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  8942. <paramref name="beginMethod"/> argument is null.</exception>
  8943. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  8944. <paramref name="endMethod"/> argument is null.</exception>
  8945. <exception cref="T:System.ArgumentOutOfRangeException">The exception that is thrown when the
  8946. <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
  8947. value.</exception>
  8948. <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
  8949. represents the asynchronous operation.</returns>
  8950. <remarks>
  8951. This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
  8952. </remarks>
  8953. </member>
  8954. <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync``3(System.Func_{``0,``1,``2,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,`0},``0,``1,``2,System.Object)">
  8955. <summary>
  8956. Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
  8957. begin and end methods that conform to the Asynchronous Programming Model pattern.
  8958. </summary>
  8959. <typeparam name="TArg1">The type of the first argument passed to the <paramref
  8960. name="beginMethod"/> delegate.</typeparam>
  8961. <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
  8962. delegate.</typeparam>
  8963. <typeparam name="TArg3">The type of the third argument passed to <paramref name="beginMethod"/>
  8964. delegate.</typeparam>
  8965. <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
  8966. <param name="endMethod">The delegate that ends the asynchronous operation.</param>
  8967. <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
  8968. delegate.</param>
  8969. <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
  8970. delegate.</param>
  8971. <param name="arg3">The third argument passed to the <paramref name="beginMethod"/>
  8972. delegate.</param>
  8973. <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
  8974. delegate.</param>
  8975. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  8976. <paramref name="beginMethod"/> argument is null.</exception>
  8977. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  8978. <paramref name="endMethod"/> argument is null.</exception>
  8979. <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
  8980. represents the asynchronous operation.</returns>
  8981. <remarks>
  8982. This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
  8983. </remarks>
  8984. </member>
  8985. <member name="M:System.Threading.Tasks.TaskFactory`1.FromAsync``3(System.Func_{``0,``1,``2,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,`0},``0,``1,``2,System.Object,System.Threading.Tasks.TaskCreationOptions)">
  8986. <summary>
  8987. Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
  8988. begin and end methods that conform to the Asynchronous Programming Model pattern.
  8989. </summary>
  8990. <typeparam name="TArg1">The type of the first argument passed to the <paramref
  8991. name="beginMethod"/> delegate.</typeparam>
  8992. <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
  8993. delegate.</typeparam>
  8994. <typeparam name="TArg3">The type of the third argument passed to <paramref name="beginMethod"/>
  8995. delegate.</typeparam>
  8996. <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
  8997. <param name="endMethod">The delegate that ends the asynchronous operation.</param>
  8998. <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
  8999. delegate.</param>
  9000. <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
  9001. delegate.</param>
  9002. <param name="arg3">The third argument passed to the <paramref name="beginMethod"/>
  9003. delegate.</param>
  9004. <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
  9005. created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
  9006. <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
  9007. delegate.</param>
  9008. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  9009. <paramref name="beginMethod"/> argument is null.</exception>
  9010. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  9011. <paramref name="endMethod"/> argument is null.</exception>
  9012. <exception cref="T:System.ArgumentOutOfRangeException">The exception that is thrown when the
  9013. <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
  9014. value.</exception>
  9015. <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
  9016. represents the asynchronous operation.</returns>
  9017. <remarks>
  9018. This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
  9019. </remarks>
  9020. </member>
  9021. <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAll(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task[],`0})">
  9022. <summary>
  9023. Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
  9024. that will be started upon the completion of a set of provided Tasks.
  9025. </summary>
  9026. <param name="tasks">The array of tasks from which to continue.</param>
  9027. <param name="continuationFunction">The function delegate to execute when all tasks in
  9028. the <paramref name="tasks"/> array have completed.</param>
  9029. <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</returns>
  9030. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  9031. <paramref name="tasks"/> array is null.</exception>
  9032. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  9033. <paramref name="continuationFunction"/> argument is null.</exception>
  9034. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  9035. <paramref name="tasks"/> array contains a null value.</exception>
  9036. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  9037. <paramref name="tasks"/> array is empty.</exception>
  9038. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
  9039. of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
  9040. </member>
  9041. <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAll(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task[],`0},System.Threading.CancellationToken)">
  9042. <summary>
  9043. Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
  9044. that will be started upon the completion of a set of provided Tasks.
  9045. </summary>
  9046. <param name="tasks">The array of tasks from which to continue.</param>
  9047. <param name="continuationFunction">The function delegate to execute when all tasks in
  9048. the <paramref name="tasks"/> array have completed.</param>
  9049. <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  9050. that will be assigned to the new continuation task.</param>
  9051. <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</returns>
  9052. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  9053. <paramref name="tasks"/> array is null.</exception>
  9054. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  9055. <paramref name="continuationFunction"/> argument is null.</exception>
  9056. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  9057. <paramref name="tasks"/> array contains a null value.</exception>
  9058. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  9059. <paramref name="tasks"/> array is empty.</exception>
  9060. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
  9061. of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
  9062. <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  9063. has already been disposed.
  9064. </exception>
  9065. </member>
  9066. <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAll(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task[],`0},System.Threading.Tasks.TaskContinuationOptions)">
  9067. <summary>
  9068. Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
  9069. that will be started upon the completion of a set of provided Tasks.
  9070. </summary>
  9071. <param name="tasks">The array of tasks from which to continue.</param>
  9072. <param name="continuationFunction">The function delegate to execute when all tasks in the <paramref name="tasks"/> array have completed.</param>
  9073. <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
  9074. TaskContinuationOptions</see> value that controls the behavior of
  9075. the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
  9076. <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</returns>
  9077. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  9078. <paramref name="tasks"/> array is null.</exception>
  9079. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  9080. <paramref name="continuationFunction"/> argument is null.</exception>
  9081. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  9082. <paramref name="tasks"/> array contains a null value.</exception>
  9083. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  9084. <paramref name="tasks"/> array is empty.</exception>
  9085. <exception cref="T:System.ArgumentOutOfRangeException">The exception that is thrown when the
  9086. <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
  9087. value.</exception>
  9088. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
  9089. of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
  9090. <remarks>
  9091. The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
  9092. which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
  9093. will be executed, are illegal with ContinueWhenAll.
  9094. </remarks>
  9095. </member>
  9096. <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAll(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task[],`0},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
  9097. <summary>
  9098. Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
  9099. that will be started upon the completion of a set of provided Tasks.
  9100. </summary>
  9101. <param name="tasks">The array of tasks from which to continue.</param>
  9102. <param name="continuationFunction">The function delegate to execute when all tasks in the <paramref name="tasks"/> array have completed.</param>
  9103. <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  9104. that will be assigned to the new continuation task.</param>
  9105. <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
  9106. TaskContinuationOptions</see> value that controls the behavior of
  9107. the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
  9108. <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
  9109. that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
  9110. <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</returns>
  9111. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  9112. <paramref name="tasks"/> array is null.</exception>
  9113. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  9114. <paramref name="continuationFunction"/> argument is null.</exception>
  9115. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  9116. <paramref name="scheduler"/> argument is null.</exception>
  9117. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  9118. <paramref name="tasks"/> array contains a null value.</exception>
  9119. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  9120. <paramref name="tasks"/> array is empty.</exception>
  9121. <exception cref="T:System.ArgumentOutOfRangeException">The exception that is thrown when the
  9122. <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
  9123. value.</exception>
  9124. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
  9125. of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
  9126. <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  9127. has already been disposed.
  9128. </exception>
  9129. <remarks>
  9130. The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
  9131. which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
  9132. will be executed, are illegal with ContinueWhenAll.
  9133. </remarks>
  9134. </member>
  9135. <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAll``1(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0}[],`0})">
  9136. <summary>
  9137. Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
  9138. that will be started upon the completion of a set of provided Tasks.
  9139. </summary>
  9140. <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
  9141. <param name="tasks">The array of tasks from which to continue.</param>
  9142. <param name="continuationFunction">The function delegate to execute when all tasks in the
  9143. <paramref name="tasks"/> array have completed.</param>
  9144. <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
  9145. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  9146. <paramref name="tasks"/> array is null.</exception>
  9147. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  9148. <paramref name="continuationFunction"/> argument is null.</exception>
  9149. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  9150. <paramref name="tasks"/> array contains a null value.</exception>
  9151. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  9152. <paramref name="tasks"/> array is empty.</exception>
  9153. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
  9154. of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
  9155. </member>
  9156. <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAll``1(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0}[],`0},System.Threading.CancellationToken)">
  9157. <summary>
  9158. Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
  9159. that will be started upon the completion of a set of provided Tasks.
  9160. </summary>
  9161. <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
  9162. <param name="tasks">The array of tasks from which to continue.</param>
  9163. <param name="continuationFunction">The function delegate to execute when all tasks in the
  9164. <paramref name="tasks"/> array have completed.</param>
  9165. <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  9166. that will be assigned to the new continuation task.</param>
  9167. <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
  9168. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  9169. <paramref name="tasks"/> array is null.</exception>
  9170. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  9171. <paramref name="continuationFunction"/> argument is null.</exception>
  9172. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  9173. <paramref name="tasks"/> array contains a null value.</exception>
  9174. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  9175. <paramref name="tasks"/> array is empty.</exception>
  9176. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
  9177. of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
  9178. <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  9179. has already been disposed.
  9180. </exception>
  9181. </member>
  9182. <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAll``1(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0}[],`0},System.Threading.Tasks.TaskContinuationOptions)">
  9183. <summary>
  9184. Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
  9185. that will be started upon the completion of a set of provided Tasks.
  9186. </summary>
  9187. <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
  9188. <param name="tasks">The array of tasks from which to continue.</param>
  9189. <param name="continuationFunction">The function delegate to execute when all tasks in the
  9190. <paramref name="tasks"/> array have completed.</param>
  9191. <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
  9192. TaskContinuationOptions</see> value that controls the behavior of
  9193. the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
  9194. <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
  9195. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  9196. <paramref name="tasks"/> array is null.</exception>
  9197. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  9198. <paramref name="continuationFunction"/> argument is null.</exception>
  9199. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  9200. <paramref name="tasks"/> array contains a null value.</exception>
  9201. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  9202. <paramref name="tasks"/> array is empty.</exception>
  9203. <exception cref="T:System.ArgumentOutOfRangeException">The exception that is thrown when the
  9204. <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
  9205. value.</exception>
  9206. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
  9207. of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
  9208. <remarks>
  9209. The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
  9210. which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
  9211. will be executed, are illegal with ContinueWhenAll.
  9212. </remarks>
  9213. </member>
  9214. <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAll``1(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0}[],`0},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
  9215. <summary>
  9216. Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
  9217. that will be started upon the completion of a set of provided Tasks.
  9218. </summary>
  9219. <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
  9220. <param name="tasks">The array of tasks from which to continue.</param>
  9221. <param name="continuationFunction">The function delegate to execute when all tasks in the
  9222. <paramref name="tasks"/> array have completed.</param>
  9223. <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  9224. that will be assigned to the new continuation task.</param>
  9225. <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
  9226. TaskContinuationOptions</see> value that controls the behavior of
  9227. the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
  9228. <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
  9229. that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
  9230. <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
  9231. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  9232. <paramref name="tasks"/> array is null.</exception>
  9233. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  9234. <paramref name="continuationFunction"/> argument is null.</exception>
  9235. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  9236. <paramref name="scheduler"/> argument is null.</exception>
  9237. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  9238. <paramref name="tasks"/> array contains a null value.</exception>
  9239. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  9240. <paramref name="tasks"/> array is empty.</exception>
  9241. <exception cref="T:System.ArgumentOutOfRangeException">The exception that is thrown when the
  9242. <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
  9243. value.</exception>
  9244. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
  9245. of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
  9246. <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  9247. has already been disposed.
  9248. </exception>
  9249. <remarks>
  9250. The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
  9251. which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
  9252. will be executed, are illegal with ContinueWhenAll.
  9253. </remarks>
  9254. </member>
  9255. <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAny(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task,`0})">
  9256. <summary>
  9257. Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
  9258. that will be started upon the completion of any Task in the provided set.
  9259. </summary>
  9260. <param name="tasks">The array of tasks from which to continue when one task completes.</param>
  9261. <param name="continuationFunction">The function delegate to execute when one task in the <paramref
  9262. name="tasks"/> array completes.</param>
  9263. <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</returns>
  9264. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  9265. <paramref name="tasks"/> array is null.</exception>
  9266. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  9267. <paramref name="continuationFunction"/> argument is null.</exception>
  9268. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  9269. <paramref name="tasks"/> array contains a null value.</exception>
  9270. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  9271. <paramref name="tasks"/> array is empty.</exception>
  9272. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
  9273. of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
  9274. </member>
  9275. <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAny(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task,`0},System.Threading.CancellationToken)">
  9276. <summary>
  9277. Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
  9278. that will be started upon the completion of any Task in the provided set.
  9279. </summary>
  9280. <param name="tasks">The array of tasks from which to continue when one task completes.</param>
  9281. <param name="continuationFunction">The function delegate to execute when one task in the <paramref name="tasks"/> array completes.</param>
  9282. <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  9283. that will be assigned to the new continuation task.</param>
  9284. <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</returns>
  9285. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  9286. <paramref name="tasks"/> array is null.</exception>
  9287. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  9288. <paramref name="continuationFunction"/> argument is null.</exception>
  9289. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  9290. <paramref name="tasks"/> array contains a null value.</exception>
  9291. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  9292. <paramref name="tasks"/> array is empty.</exception>
  9293. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
  9294. of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
  9295. <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  9296. has already been disposed.
  9297. </exception>
  9298. </member>
  9299. <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAny(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task,`0},System.Threading.Tasks.TaskContinuationOptions)">
  9300. <summary>
  9301. Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
  9302. that will be started upon the completion of any Task in the provided set.
  9303. </summary>
  9304. <param name="tasks">The array of tasks from which to continue when one task completes.</param>
  9305. <param name="continuationFunction">The function delegate to execute when one task in the <paramref name="tasks"/> array completes.</param>
  9306. <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
  9307. TaskContinuationOptions</see> value that controls the behavior of
  9308. the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
  9309. <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</returns>
  9310. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  9311. <paramref name="tasks"/> array is null.</exception>
  9312. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  9313. <paramref name="continuationFunction"/> argument is null.</exception>
  9314. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  9315. <paramref name="tasks"/> array contains a null value.</exception>
  9316. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  9317. <paramref name="tasks"/> array is empty.</exception>
  9318. <exception cref="T:System.ArgumentOutOfRangeException">The exception that is thrown when the
  9319. <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
  9320. value.</exception>
  9321. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
  9322. of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
  9323. <remarks>
  9324. The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
  9325. which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
  9326. will be executed, are illegal with ContinueWhenAny.
  9327. </remarks>
  9328. </member>
  9329. <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAny(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task,`0},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
  9330. <summary>
  9331. Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
  9332. that will be started upon the completion of any Task in the provided set.
  9333. </summary>
  9334. <param name="tasks">The array of tasks from which to continue when one task completes.</param>
  9335. <param name="continuationFunction">The function delegate to execute when one task in the <paramref name="tasks"/> array completes.</param>
  9336. <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  9337. that will be assigned to the new continuation task.</param>
  9338. <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
  9339. TaskContinuationOptions</see> value that controls the behavior of
  9340. the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
  9341. <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
  9342. that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
  9343. <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</returns>
  9344. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  9345. <paramref name="tasks"/> array is null.</exception>
  9346. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  9347. <paramref name="continuationFunction"/> argument is null.</exception>
  9348. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  9349. <paramref name="scheduler"/> argument is null.</exception>
  9350. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  9351. <paramref name="tasks"/> array contains a null value.</exception>
  9352. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  9353. <paramref name="tasks"/> array is empty.</exception>
  9354. <exception cref="T:System.ArgumentOutOfRangeException">The exception that is thrown when the
  9355. <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
  9356. value.</exception>
  9357. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
  9358. of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
  9359. <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  9360. has already been disposed.
  9361. </exception>
  9362. <remarks>
  9363. The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
  9364. which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
  9365. will be executed, are illegal with ContinueWhenAny.
  9366. </remarks>
  9367. </member>
  9368. <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAny``1(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0},`0})">
  9369. <summary>
  9370. Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
  9371. that will be started upon the completion of any Task in the provided set.
  9372. </summary>
  9373. <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
  9374. <param name="tasks">The array of tasks from which to continue when one task completes.</param>
  9375. <param name="continuationFunction">The function delegate to execute when one task in the
  9376. <paramref name="tasks"/> array completes.</param>
  9377. <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
  9378. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  9379. <paramref name="tasks"/> array is null.</exception>
  9380. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  9381. <paramref name="continuationFunction"/> argument is null.</exception>
  9382. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  9383. <paramref name="tasks"/> array contains a null value.</exception>
  9384. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  9385. <paramref name="tasks"/> array is empty.</exception>
  9386. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
  9387. of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
  9388. </member>
  9389. <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAny``1(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0},`0},System.Threading.CancellationToken)">
  9390. <summary>
  9391. Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
  9392. that will be started upon the completion of any Task in the provided set.
  9393. </summary>
  9394. <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
  9395. <param name="tasks">The array of tasks from which to continue when one task completes.</param>
  9396. <param name="continuationFunction">The function delegate to execute when one task in the
  9397. <paramref name="tasks"/> array completes.</param>
  9398. <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  9399. that will be assigned to the new continuation task.</param>
  9400. <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
  9401. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  9402. <paramref name="tasks"/> array is null.</exception>
  9403. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  9404. <paramref name="continuationFunction"/> argument is null.</exception>
  9405. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  9406. <paramref name="tasks"/> array contains a null value.</exception>
  9407. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  9408. <paramref name="tasks"/> array is empty.</exception>
  9409. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
  9410. of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
  9411. <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  9412. has already been disposed.
  9413. </exception>
  9414. </member>
  9415. <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAny``1(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0},`0},System.Threading.Tasks.TaskContinuationOptions)">
  9416. <summary>
  9417. Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
  9418. that will be started upon the completion of any Task in the provided set.
  9419. </summary>
  9420. <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
  9421. <param name="tasks">The array of tasks from which to continue when one task completes.</param>
  9422. <param name="continuationFunction">The function delegate to execute when one task in the
  9423. <paramref name="tasks"/> array completes.</param>
  9424. <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
  9425. TaskContinuationOptions</see> value that controls the behavior of
  9426. the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
  9427. <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
  9428. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  9429. <paramref name="tasks"/> array is null.</exception>
  9430. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  9431. <paramref name="continuationFunction"/> argument is null.</exception>
  9432. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  9433. <paramref name="tasks"/> array contains a null value.</exception>
  9434. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  9435. <paramref name="tasks"/> array is empty.</exception>
  9436. <exception cref="T:System.ArgumentOutOfRangeException">The exception that is thrown when the
  9437. <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
  9438. value.</exception>
  9439. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
  9440. of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
  9441. <remarks>
  9442. The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
  9443. which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
  9444. will be executed, are illegal with ContinueWhenAny.
  9445. </remarks>
  9446. </member>
  9447. <member name="M:System.Threading.Tasks.TaskFactory`1.ContinueWhenAny``1(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0},`0},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
  9448. <summary>
  9449. Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
  9450. that will be started upon the completion of any Task in the provided set.
  9451. </summary>
  9452. <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
  9453. <param name="tasks">The array of tasks from which to continue when one task completes.</param>
  9454. <param name="continuationFunction">The function delegate to execute when one task in the
  9455. <paramref name="tasks"/> array completes.</param>
  9456. <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  9457. that will be assigned to the new continuation task.</param>
  9458. <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
  9459. TaskContinuationOptions</see> value that controls the behavior of
  9460. the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
  9461. <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
  9462. that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
  9463. <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
  9464. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  9465. <paramref name="tasks"/> array is null.</exception>
  9466. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  9467. <paramref name="continuationFunction"/> argument is null.</exception>
  9468. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  9469. <paramref name="scheduler"/> argument is null.</exception>
  9470. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  9471. <paramref name="tasks"/> array contains a null value.</exception>
  9472. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  9473. <paramref name="tasks"/> array is empty.</exception>
  9474. <exception cref="T:System.ArgumentOutOfRangeException">The exception that is thrown when the
  9475. <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
  9476. value.</exception>
  9477. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
  9478. of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
  9479. <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  9480. has already been disposed.
  9481. </exception>
  9482. <remarks>
  9483. The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
  9484. which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
  9485. will be executed, are illegal with ContinueWhenAny.
  9486. </remarks>
  9487. </member>
  9488. <member name="P:System.Threading.Tasks.TaskFactory`1.CancellationToken">
  9489. <summary>
  9490. Gets the default <see cref="T:System.Threading.CancellationToken">CancellationToken</see> of this
  9491. TaskFactory.
  9492. </summary>
  9493. <remarks>
  9494. This property returns the default <see cref="P:System.Threading.Tasks.TaskFactory`1.CancellationToken"/> that will be assigned to all
  9495. tasks created by this factory unless another CancellationToken value is explicitly specified
  9496. during the call to the factory methods.
  9497. </remarks>
  9498. </member>
  9499. <member name="P:System.Threading.Tasks.TaskFactory`1.Scheduler">
  9500. <summary>
  9501. Gets the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> of this
  9502. TaskFactory{TResult}.
  9503. </summary>
  9504. <remarks>
  9505. This property returns the default scheduler for this factory. It will be used to schedule all
  9506. tasks unless another scheduler is explicitly specified during calls to this factory's methods.
  9507. If null, <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>
  9508. will be used.
  9509. </remarks>
  9510. </member>
  9511. <member name="P:System.Threading.Tasks.TaskFactory`1.CreationOptions">
  9512. <summary>
  9513. Gets the <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions
  9514. </see> value of this TaskFactory{TResult}.
  9515. </summary>
  9516. <remarks>
  9517. This property returns the default creation options for this factory. They will be used to create all
  9518. tasks unless other options are explicitly specified during calls to this factory's methods.
  9519. </remarks>
  9520. </member>
  9521. <member name="P:System.Threading.Tasks.TaskFactory`1.ContinuationOptions">
  9522. <summary>
  9523. Gets the <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskContinuationOptions
  9524. </see> value of this TaskFactory{TResult}.
  9525. </summary>
  9526. <remarks>
  9527. This property returns the default continuation options for this factory. They will be used to create
  9528. all continuation tasks unless other options are explicitly specified during calls to this factory's methods.
  9529. </remarks>
  9530. </member>
  9531. <member name="T:System.Threading.Tasks.TaskStatus">
  9532. <summary>
  9533. Represents the current stage in the lifecycle of a <see cref="T:System.Threading.Tasks.Task"/>.
  9534. </summary>
  9535. </member>
  9536. <member name="F:System.Threading.Tasks.TaskStatus.Created">
  9537. <summary>
  9538. The task has been initialized but has not yet been scheduled.
  9539. </summary>
  9540. </member>
  9541. <member name="F:System.Threading.Tasks.TaskStatus.WaitingForActivation">
  9542. <summary>
  9543. The task is waiting to be activated and scheduled internally by the .NET Framework infrastructure.
  9544. </summary>
  9545. </member>
  9546. <member name="F:System.Threading.Tasks.TaskStatus.WaitingToRun">
  9547. <summary>
  9548. The task has been scheduled for execution but has not yet begun executing.
  9549. </summary>
  9550. </member>
  9551. <member name="F:System.Threading.Tasks.TaskStatus.Running">
  9552. <summary>
  9553. The task is running but has not yet completed.
  9554. </summary>
  9555. </member>
  9556. <member name="F:System.Threading.Tasks.TaskStatus.WaitingForChildrenToComplete">
  9557. <summary>
  9558. The task has finished executing and is implicitly waiting for
  9559. attached child tasks to complete.
  9560. </summary>
  9561. </member>
  9562. <member name="F:System.Threading.Tasks.TaskStatus.RanToCompletion">
  9563. <summary>
  9564. The task completed execution successfully.
  9565. </summary>
  9566. </member>
  9567. <member name="F:System.Threading.Tasks.TaskStatus.Canceled">
  9568. <summary>
  9569. The task acknowledged cancellation by throwing an OperationCanceledException with its own CancellationToken
  9570. while the token was in signaled state, or the task's CancellationToken was already signaled before the
  9571. task started executing.
  9572. </summary>
  9573. </member>
  9574. <member name="F:System.Threading.Tasks.TaskStatus.Faulted">
  9575. <summary>
  9576. The task completed due to an unhandled exception.
  9577. </summary>
  9578. </member>
  9579. <member name="M:System.Threading.Tasks.ParallelForReplicaTask.SaveStateForNextReplica(System.Object)">
  9580. <summary>
  9581. In some cases a replica will want to quit prematurely (ie. before finishing a chunk of work it may have grabbed)
  9582. yet they will need the next replica to pick things up from where they left. This API is used to save such state.
  9583. Calling it is also the only way to record a premature exit.
  9584. </summary>
  9585. <param name="stateForNextReplica"></param>
  9586. </member>
  9587. <member name="T:System.Threading.Tasks.TaskCreationOptions">
  9588. <summary>
  9589. Specifies flags that control optional behavior for the creation and execution of tasks.
  9590. </summary>
  9591. </member>
  9592. <member name="F:System.Threading.Tasks.TaskCreationOptions.None">
  9593. <summary>
  9594. Specifies that the default behavior should be used.
  9595. </summary>
  9596. </member>
  9597. <member name="F:System.Threading.Tasks.TaskCreationOptions.PreferFairness">
  9598. <summary>
  9599. A hint to a <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> to schedule a
  9600. task in as fair a manner as possible, meaning that tasks scheduled sooner will be more likely to
  9601. be run sooner, and tasks scheduled later will be more likely to be run later.
  9602. </summary>
  9603. </member>
  9604. <member name="F:System.Threading.Tasks.TaskCreationOptions.LongRunning">
  9605. <summary>
  9606. Specifies that a task will be a long-running, course-grained operation. It provides a hint to the
  9607. <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> that oversubscription may be
  9608. warranted.
  9609. </summary>
  9610. </member>
  9611. <member name="F:System.Threading.Tasks.TaskCreationOptions.AttachedToParent">
  9612. <summary>
  9613. Specifies that a task is attached to a parent in the task hierarchy.
  9614. </summary>
  9615. </member>
  9616. <member name="T:System.Threading.Tasks.InternalTaskOptions">
  9617. <summary>
  9618. Task creation flags which are only used internally.
  9619. </summary>
  9620. </member>
  9621. <member name="F:System.Threading.Tasks.InternalTaskOptions.None">
  9622. <summary> Specifies "No internal task options" </summary>
  9623. </member>
  9624. <member name="F:System.Threading.Tasks.InternalTaskOptions.InternalOptionsMask">
  9625. <summary>Used to filter out internal vs. public task creation options.</summary>
  9626. </member>
  9627. <member name="F:System.Threading.Tasks.InternalTaskOptions.QueuedByRuntime">
  9628. <summary>Specifies that the task will be queued by the runtime before handing it over to the user.
  9629. This flag will be used to skip the cancellationtoken registration step, which is only meant for unstarted tasks.</summary>
  9630. </member>
  9631. <member name="T:System.Threading.Tasks.TaskContinuationOptions">
  9632. <summary>
  9633. Specifies flags that control optional behavior for the creation and execution of continuation tasks.
  9634. </summary>
  9635. </member>
  9636. <member name="F:System.Threading.Tasks.TaskContinuationOptions.None">
  9637. <summary>
  9638. Default = "Continue on any, no task options, run asynchronously"
  9639. Specifies that the default behavior should be used. Continuations, by default, will
  9640. be scheduled when the antecedent task completes, regardless of the task's final <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see>.
  9641. </summary>
  9642. </member>
  9643. <member name="F:System.Threading.Tasks.TaskContinuationOptions.PreferFairness">
  9644. <summary>
  9645. A hint to a <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> to schedule a
  9646. task in as fair a manner as possible, meaning that tasks scheduled sooner will be more likely to
  9647. be run sooner, and tasks scheduled later will be more likely to be run later.
  9648. </summary>
  9649. </member>
  9650. <member name="F:System.Threading.Tasks.TaskContinuationOptions.LongRunning">
  9651. <summary>
  9652. Specifies that a task will be a long-running, course-grained operation. It provides
  9653. a hint to the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> that
  9654. oversubscription may be warranted.
  9655. </summary>
  9656. </member>
  9657. <member name="F:System.Threading.Tasks.TaskContinuationOptions.AttachedToParent">
  9658. <summary>
  9659. Specifies that a task is attached to a parent in the task hierarchy.
  9660. </summary>
  9661. </member>
  9662. <member name="F:System.Threading.Tasks.TaskContinuationOptions.NotOnRanToCompletion">
  9663. <summary>
  9664. Specifies that the continuation task should not be scheduled if its antecedent ran to completion.
  9665. This option is not valid for multi-task continuations.
  9666. </summary>
  9667. </member>
  9668. <member name="F:System.Threading.Tasks.TaskContinuationOptions.NotOnFaulted">
  9669. <summary>
  9670. Specifies that the continuation task should not be scheduled if its antecedent threw an unhandled
  9671. exception. This option is not valid for multi-task continuations.
  9672. </summary>
  9673. </member>
  9674. <member name="F:System.Threading.Tasks.TaskContinuationOptions.NotOnCanceled">
  9675. <summary>
  9676. Specifies that the continuation task should not be scheduled if its antecedent was canceled. This
  9677. option is not valid for multi-task continuations.
  9678. </summary>
  9679. </member>
  9680. <member name="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnRanToCompletion">
  9681. <summary>
  9682. Specifies that the continuation task should be scheduled only if its antecedent ran to
  9683. completion. This option is not valid for multi-task continuations.
  9684. </summary>
  9685. </member>
  9686. <member name="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnFaulted">
  9687. <summary>
  9688. Specifies that the continuation task should be scheduled only if its antecedent threw an
  9689. unhandled exception. This option is not valid for multi-task continuations.
  9690. </summary>
  9691. </member>
  9692. <member name="F:System.Threading.Tasks.TaskContinuationOptions.OnlyOnCanceled">
  9693. <summary>
  9694. Specifies that the continuation task should be scheduled only if its antecedent was canceled.
  9695. This option is not valid for multi-task continuations.
  9696. </summary>
  9697. </member>
  9698. <member name="F:System.Threading.Tasks.TaskContinuationOptions.ExecuteSynchronously">
  9699. <summary>
  9700. Specifies that the continuation task should be executed synchronously. With this option
  9701. specified, the continuation will be run on the same thread that causes the antecedent task to
  9702. transition into its final state. If the antecedent is already complete when the continuation is
  9703. created, the continuation will run on the thread creating the continuation. Only very
  9704. short-running continuations should be executed synchronously.
  9705. </summary>
  9706. </member>
  9707. <member name="T:System.Threading.Tasks.StackGuard">
  9708. <summary>
  9709. Internal helper class to keep track of stack depth and decide whether we should inline or not.
  9710. </summary>
  9711. </member>
  9712. <member name="M:System.Threading.Tasks.StackGuard.TryBeginInliningScope">
  9713. <summary>
  9714. This method needs to be called before attempting inline execution on the current thread.
  9715. If false is returned, it means we are too close to the end of the stack and should give up inlining.
  9716. Each call to TryBeginInliningScope() that returns true must be matched with a
  9717. call to EndInliningScope() regardless of whether inlining actually took place.
  9718. </summary>
  9719. </member>
  9720. <member name="M:System.Threading.Tasks.StackGuard.EndInliningScope">
  9721. <summary>
  9722. This needs to be called once for each previous successful TryBeginInliningScope() call after
  9723. inlining related logic runs.
  9724. </summary>
  9725. </member>
  9726. <member name="T:System.Threading.Tasks.TaskCanceledException">
  9727. <summary>
  9728. Represents an exception used to communicate task cancellation.
  9729. </summary>
  9730. </member>
  9731. <member name="M:System.Threading.Tasks.TaskCanceledException.#ctor">
  9732. <summary>
  9733. Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskCanceledException"/> class.
  9734. </summary>
  9735. </member>
  9736. <member name="M:System.Threading.Tasks.TaskCanceledException.#ctor(System.String)">
  9737. <summary>
  9738. Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskCanceledException"/>
  9739. class with a specified error message.
  9740. </summary>
  9741. <param name="message">The error message that explains the reason for the exception.</param>
  9742. </member>
  9743. <member name="M:System.Threading.Tasks.TaskCanceledException.#ctor(System.String,System.Exception)">
  9744. <summary>
  9745. Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskCanceledException"/>
  9746. class with a specified error message and a reference to the inner exception that is the cause of
  9747. this exception.
  9748. </summary>
  9749. <param name="message">The error message that explains the reason for the exception.</param>
  9750. <param name="innerException">The exception that is the cause of the current exception.</param>
  9751. </member>
  9752. <member name="M:System.Threading.Tasks.TaskCanceledException.#ctor(System.Threading.Tasks.Task)">
  9753. <summary>
  9754. Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskCanceledException"/> class
  9755. with a reference to the <see cref="T:System.Threading.Tasks.Task"/> that has been canceled.
  9756. </summary>
  9757. <param name="task">A task that has been canceled.</param>
  9758. </member>
  9759. <member name="M:System.Threading.Tasks.TaskCanceledException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
  9760. <summary>
  9761. Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskCanceledException"/>
  9762. class with serialized data.
  9763. </summary>
  9764. <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data about the exception being thrown.</param>
  9765. <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the source or destination. </param>
  9766. </member>
  9767. <member name="P:System.Threading.Tasks.TaskCanceledException.Task">
  9768. <summary>
  9769. Gets the task associated with this exception.
  9770. </summary>
  9771. <remarks>
  9772. It is permissible for no Task to be associated with a
  9773. <see cref="T:System.Threading.Tasks.TaskCanceledException"/>, in which case
  9774. this property will return null.
  9775. </remarks>
  9776. </member>
  9777. <member name="T:System.Threading.Tasks.TaskExceptionHolder">
  9778. <summary>
  9779. An exception holder manages a list of exceptions for one particular task.
  9780. It offers the ability to aggregate, but more importantly, also offers intrinsic
  9781. support for propagating unhandled exceptions that are never observed. It does
  9782. this by aggregating and throwing if the holder is ever GC'd without the holder's
  9783. contents ever having been requested (e.g. by a Task.Wait, Task.get_Exception, etc).
  9784. </summary>
  9785. </member>
  9786. <member name="M:System.Threading.Tasks.TaskExceptionHolder.#ctor(System.Threading.Tasks.Task)">
  9787. <summary>
  9788. Creates a new holder; it will be registered for finalization.
  9789. </summary>
  9790. <param name="task">The task this holder belongs to.</param>
  9791. </member>
  9792. <member name="M:System.Threading.Tasks.TaskExceptionHolder.Finalize">
  9793. <summary>
  9794. A finalizer that repropagates unhandled exceptions.
  9795. </summary>
  9796. </member>
  9797. <member name="M:System.Threading.Tasks.TaskExceptionHolder.Add(System.Object)">
  9798. <summary>
  9799. Add an exception to the internal list. This will ensure the holder is
  9800. in the proper state (handled/unhandled) depending on the list's contents.
  9801. </summary>
  9802. <param name="exceptionObject">An exception object (either an Exception or an
  9803. IEnumerable{Exception}) to add to the list.</param>
  9804. </member>
  9805. <member name="M:System.Threading.Tasks.TaskExceptionHolder.MarkAsUnhandled">
  9806. <summary>
  9807. A private helper method that ensures the holder is considered
  9808. unhandled, i.e. it is registered for finalization.
  9809. </summary>
  9810. </member>
  9811. <member name="M:System.Threading.Tasks.TaskExceptionHolder.MarkAsHandled(System.Boolean)">
  9812. <summary>
  9813. A private helper method that ensures the holder is considered
  9814. handled, i.e. it is not registered for finalization.
  9815. </summary>
  9816. <param name="calledFromFinalizer">Whether this is called from the finalizer thread.</param>
  9817. </member>
  9818. <member name="M:System.Threading.Tasks.TaskExceptionHolder.CreateExceptionObject(System.Boolean,System.Exception)">
  9819. <summary>
  9820. Allocates a new aggregate exception and adds the contents of the list to
  9821. it. By calling this method, the holder assumes exceptions to have been
  9822. "observed", such that the finalization check will be subsequently skipped.
  9823. </summary>
  9824. <param name="calledFromFinalizer">Whether this is being called from a finalizer.</param>
  9825. <param name="includeThisException">An extra exception to be included (optionally).</param>
  9826. <returns>The aggregate exception to throw.</returns>
  9827. </member>
  9828. <member name="T:System.Threading.Tasks.TaskFactory">
  9829. <summary>
  9830. Provides support for creating and scheduling
  9831. <see cref="T:System.Threading.Tasks.Task">Tasks</see>.
  9832. </summary>
  9833. <remarks>
  9834. <para>
  9835. There are many common patterns for which tasks are relevant. The <see cref="T:System.Threading.Tasks.TaskFactory"/>
  9836. class encodes some of these patterns into methods that pick up default settings, which are
  9837. configurable through its constructors.
  9838. </para>
  9839. <para>
  9840. A default instance of <see cref="T:System.Threading.Tasks.TaskFactory"/> is available through the
  9841. <see cref="P:System.Threading.Tasks.Task.Factory">Task.Factory</see> property.
  9842. </para>
  9843. </remarks>
  9844. </member>
  9845. <member name="M:System.Threading.Tasks.TaskFactory.#ctor">
  9846. <summary>
  9847. Initializes a <see cref="T:System.Threading.Tasks.TaskFactory"/> instance with the default configuration.
  9848. </summary>
  9849. <remarks>
  9850. This constructor creates a <see cref="T:System.Threading.Tasks.TaskFactory"/> instance with a default configuration. The
  9851. <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to
  9852. <see cref="F:System.Threading.Tasks.TaskCreationOptions.None">TaskCreationOptions.None</see>, the
  9853. <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <see cref="F:System.Threading.Tasks.TaskContinuationOptions.None">TaskContinuationOptions.None</see>,
  9854. and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is
  9855. initialized to the current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
  9856. </remarks>
  9857. </member>
  9858. <member name="M:System.Threading.Tasks.TaskFactory.#ctor(System.Threading.CancellationToken)">
  9859. <summary>
  9860. Initializes a <see cref="T:System.Threading.Tasks.TaskFactory"/> instance with the specified configuration.
  9861. </summary>
  9862. <param name="cancellationToken">The default <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned
  9863. to tasks created by this <see cref="T:System.Threading.Tasks.TaskFactory"/> unless another CancellationToken is explicitly specified
  9864. while calling the factory methods.</param>
  9865. <remarks>
  9866. This constructor creates a <see cref="T:System.Threading.Tasks.TaskFactory"/> instance with a default configuration. The
  9867. <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to
  9868. <see cref="F:System.Threading.Tasks.TaskCreationOptions.None">TaskCreationOptions.None</see>, the
  9869. <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <see cref="F:System.Threading.Tasks.TaskContinuationOptions.None">TaskContinuationOptions.None</see>,
  9870. and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is
  9871. initialized to the current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
  9872. </remarks>
  9873. </member>
  9874. <member name="M:System.Threading.Tasks.TaskFactory.#ctor(System.Threading.Tasks.TaskScheduler)">
  9875. <summary>
  9876. Initializes a <see cref="T:System.Threading.Tasks.TaskFactory"/> instance with the specified configuration.
  9877. </summary>
  9878. <param name="scheduler">
  9879. The <see cref="T:System.Threading.Tasks.TaskScheduler">
  9880. TaskScheduler</see> to use to schedule any tasks created with this TaskFactory. A null value
  9881. indicates that the current TaskScheduler should be used.
  9882. </param>
  9883. <remarks>
  9884. With this constructor, the
  9885. <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to
  9886. <see cref="F:System.Threading.Tasks.TaskCreationOptions.None">TaskCreationOptions.None</see>, the
  9887. <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <see cref="F:System.Threading.Tasks.TaskContinuationOptions.None">TaskContinuationOptions.None</see>,
  9888. and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is
  9889. initialized to <paramref name="scheduler"/>, unless it's null, in which case the property is
  9890. initialized to the current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
  9891. </remarks>
  9892. </member>
  9893. <member name="M:System.Threading.Tasks.TaskFactory.#ctor(System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions)">
  9894. <summary>
  9895. Initializes a <see cref="T:System.Threading.Tasks.TaskFactory"/> instance with the specified configuration.
  9896. </summary>
  9897. <param name="creationOptions">
  9898. The default <see cref="T:System.Threading.Tasks.TaskCreationOptions">
  9899. TaskCreationOptions</see> to use when creating tasks with this TaskFactory.
  9900. </param>
  9901. <param name="continuationOptions">
  9902. The default <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
  9903. TaskContinuationOptions</see> to use when creating continuation tasks with this TaskFactory.
  9904. </param>
  9905. <exception cref="T:System.ArgumentOutOfRangeException">
  9906. The exception that is thrown when the
  9907. <paramref name="creationOptions"/> argument or the <paramref name="continuationOptions"/>
  9908. argument specifies an invalid value.
  9909. </exception>
  9910. <remarks>
  9911. With this constructor, the
  9912. <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to <paramref name="creationOptions"/>,
  9913. the
  9914. <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <paramref name="continuationOptions"/>, and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is initialized to the
  9915. current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
  9916. </remarks>
  9917. </member>
  9918. <member name="M:System.Threading.Tasks.TaskFactory.#ctor(System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
  9919. <summary>
  9920. Initializes a <see cref="T:System.Threading.Tasks.TaskFactory"/> instance with the specified configuration.
  9921. </summary>
  9922. <param name="cancellationToken">The default <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned
  9923. to tasks created by this <see cref="T:System.Threading.Tasks.TaskFactory"/> unless another CancellationToken is explicitly specified
  9924. while calling the factory methods.</param>
  9925. <param name="creationOptions">
  9926. The default <see cref="T:System.Threading.Tasks.TaskCreationOptions">
  9927. TaskCreationOptions</see> to use when creating tasks with this TaskFactory.
  9928. </param>
  9929. <param name="continuationOptions">
  9930. The default <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
  9931. TaskContinuationOptions</see> to use when creating continuation tasks with this TaskFactory.
  9932. </param>
  9933. <param name="scheduler">
  9934. The default <see cref="T:System.Threading.Tasks.TaskScheduler">
  9935. TaskScheduler</see> to use to schedule any Tasks created with this TaskFactory. A null value
  9936. indicates that TaskScheduler.Current should be used.
  9937. </param>
  9938. <exception cref="T:System.ArgumentOutOfRangeException">
  9939. The exception that is thrown when the
  9940. <paramref name="creationOptions"/> argument or the <paramref name="continuationOptions"/>
  9941. argumentspecifies an invalid value.
  9942. </exception>
  9943. <remarks>
  9944. With this constructor, the
  9945. <see cref="T:System.Threading.Tasks.TaskCreationOptions"/> property is initialized to <paramref name="creationOptions"/>,
  9946. the
  9947. <see cref="T:System.Threading.Tasks.TaskContinuationOptions"/> property is initialized to <paramref name="continuationOptions"/>, and the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> property is initialized to
  9948. <paramref name="scheduler"/>, unless it's null, in which case the property is initialized to the
  9949. current scheduler (see <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>).
  9950. </remarks>
  9951. </member>
  9952. <member name="M:System.Threading.Tasks.TaskFactory.StartNew(System.Action)">
  9953. <summary>
  9954. Creates and starts a <see cref="T:System.Threading.Tasks.Task">Task</see>.
  9955. </summary>
  9956. <param name="action">The action delegate to execute asynchronously.</param>
  9957. <returns>The started <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
  9958. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="action"/>
  9959. argument is null.</exception>
  9960. <remarks>
  9961. Calling StartNew is functionally equivalent to creating a Task using one of its constructors
  9962. and then calling
  9963. <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution. However,
  9964. unless creation and scheduling must be separated, StartNew is the recommended
  9965. approach for both simplicity and performance.
  9966. </remarks>
  9967. </member>
  9968. <member name="M:System.Threading.Tasks.TaskFactory.StartNew(System.Action,System.Threading.CancellationToken)">
  9969. <summary>
  9970. Creates and starts a <see cref="T:System.Threading.Tasks.Task">Task</see>.
  9971. </summary>
  9972. <param name="action">The action delegate to execute asynchronously.</param>
  9973. <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to the new task.</param>
  9974. <returns>The started <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
  9975. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="action"/>
  9976. argument is null.</exception>
  9977. <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  9978. has already been disposed.
  9979. </exception>
  9980. <remarks>
  9981. Calling StartNew is functionally equivalent to creating a Task using one of its constructors
  9982. and then calling
  9983. <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution. However,
  9984. unless creation and scheduling must be separated, StartNew is the recommended
  9985. approach for both simplicity and performance.
  9986. </remarks>
  9987. </member>
  9988. <member name="M:System.Threading.Tasks.TaskFactory.StartNew(System.Action,System.Threading.Tasks.TaskCreationOptions)">
  9989. <summary>
  9990. Creates and starts a <see cref="T:System.Threading.Tasks.Task">Task</see>.
  9991. </summary>
  9992. <param name="action">The action delegate to execute asynchronously.</param>
  9993. <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
  9994. created
  9995. <see cref="T:System.Threading.Tasks.Task">Task.</see></param>
  9996. <returns>The started <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
  9997. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="action"/>
  9998. argument is null.</exception>
  9999. <exception cref="T:System.ArgumentOutOfRangeException">The exception that is thrown when the
  10000. <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
  10001. value.</exception>
  10002. <remarks>
  10003. Calling StartNew is functionally equivalent to creating a Task using one of its constructors and
  10004. then calling
  10005. <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
  10006. However, unless creation and scheduling must be separated, StartNew is the recommended approach
  10007. for both simplicity and performance.
  10008. </remarks>
  10009. </member>
  10010. <member name="M:System.Threading.Tasks.TaskFactory.StartNew(System.Action,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
  10011. <summary>
  10012. Creates and starts a <see cref="T:System.Threading.Tasks.Task">Task</see>.
  10013. </summary>
  10014. <param name="action">The action delegate to execute asynchronously.</param>
  10015. <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to the new <see cref="T:System.Threading.Tasks.Task"/></param>
  10016. <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
  10017. created
  10018. <see cref="T:System.Threading.Tasks.Task">Task.</see></param>
  10019. <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
  10020. that is used to schedule the created <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
  10021. <returns>The started <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
  10022. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="action"/>
  10023. argument is null.</exception>
  10024. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="scheduler"/>
  10025. argument is null.</exception>
  10026. <exception cref="T:System.ArgumentOutOfRangeException">The exception that is thrown when the
  10027. <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
  10028. value.</exception>
  10029. <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  10030. has already been disposed.
  10031. </exception>
  10032. <remarks>
  10033. Calling StartNew is functionally equivalent to creating a Task using one of its constructors and
  10034. then calling
  10035. <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
  10036. However, unless creation and scheduling must be separated, StartNew is the recommended approach
  10037. for both simplicity and performance.
  10038. </remarks>
  10039. </member>
  10040. <member name="M:System.Threading.Tasks.TaskFactory.StartNew(System.Action{System.Object},System.Object)">
  10041. <summary>
  10042. Creates and starts a <see cref="T:System.Threading.Tasks.Task">Task</see>.
  10043. </summary>
  10044. <param name="action">The action delegate to execute asynchronously.</param>
  10045. <param name="state">An object containing data to be used by the <paramref name="action"/>
  10046. delegate.</param>
  10047. <returns>The started <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
  10048. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="action"/>
  10049. argument is null.</exception>
  10050. <remarks>
  10051. Calling StartNew is functionally equivalent to creating a Task using one of its constructors and
  10052. then calling
  10053. <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
  10054. However, unless creation and scheduling must be separated, StartNew is the recommended approach
  10055. for both simplicity and performance.
  10056. </remarks>
  10057. </member>
  10058. <member name="M:System.Threading.Tasks.TaskFactory.StartNew(System.Action{System.Object},System.Object,System.Threading.CancellationToken)">
  10059. <summary>
  10060. Creates and starts a <see cref="T:System.Threading.Tasks.Task">Task</see>.
  10061. </summary>
  10062. <param name="action">The action delegate to execute asynchronously.</param>
  10063. <param name="state">An object containing data to be used by the <paramref name="action"/>
  10064. delegate.</param>
  10065. <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to the new <see cref="T:System.Threading.Tasks.Task"/></param>
  10066. <returns>The started <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
  10067. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="action"/>
  10068. argument is null.</exception>
  10069. <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  10070. has already been disposed.
  10071. </exception>
  10072. <remarks>
  10073. Calling StartNew is functionally equivalent to creating a Task using one of its constructors and
  10074. then calling
  10075. <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
  10076. However, unless creation and scheduling must be separated, StartNew is the recommended approach
  10077. for both simplicity and performance.
  10078. </remarks>
  10079. </member>
  10080. <member name="M:System.Threading.Tasks.TaskFactory.StartNew(System.Action{System.Object},System.Object,System.Threading.Tasks.TaskCreationOptions)">
  10081. <summary>
  10082. Creates and starts a <see cref="T:System.Threading.Tasks.Task">Task</see>.
  10083. </summary>
  10084. <param name="action">The action delegate to execute asynchronously.</param>
  10085. <param name="state">An object containing data to be used by the <paramref name="action"/>
  10086. delegate.</param>
  10087. <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
  10088. created
  10089. <see cref="T:System.Threading.Tasks.Task">Task.</see></param>
  10090. <returns>The started <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
  10091. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="action"/>
  10092. argument is null.</exception>
  10093. <exception cref="T:System.ArgumentOutOfRangeException">The exception that is thrown when the
  10094. <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
  10095. value.</exception>
  10096. <remarks>
  10097. Calling StartNew is functionally equivalent to creating a Task using one of its constructors and
  10098. then calling
  10099. <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
  10100. However, unless creation and scheduling must be separated, StartNew is the recommended approach
  10101. for both simplicity and performance.
  10102. </remarks>
  10103. </member>
  10104. <member name="M:System.Threading.Tasks.TaskFactory.StartNew(System.Action{System.Object},System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
  10105. <summary>
  10106. Creates and starts a <see cref="T:System.Threading.Tasks.Task">Task</see>.
  10107. </summary>
  10108. <param name="action">The action delegate to execute asynchronously.</param>
  10109. <param name="state">An object containing data to be used by the <paramref name="action"/>
  10110. delegate.</param>
  10111. <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to the new task.</param>
  10112. <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
  10113. created
  10114. <see cref="T:System.Threading.Tasks.Task">Task.</see></param>
  10115. <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
  10116. that is used to schedule the created <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
  10117. <returns>The started <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
  10118. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="action"/>
  10119. argument is null.</exception>
  10120. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="scheduler"/>
  10121. argument is null.</exception>
  10122. <exception cref="T:System.ArgumentOutOfRangeException">The exception that is thrown when the
  10123. <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
  10124. value.</exception>
  10125. <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  10126. has already been disposed.
  10127. </exception>
  10128. <remarks>
  10129. Calling StartNew is functionally equivalent to creating a Task using one of its constructors and
  10130. then calling
  10131. <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
  10132. However, unless creation and scheduling must be separated, StartNew is the recommended approach
  10133. for both simplicity and performance.
  10134. </remarks>
  10135. </member>
  10136. <member name="M:System.Threading.Tasks.TaskFactory.StartNew``1(System.Func{``0})">
  10137. <summary>
  10138. Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
  10139. </summary>
  10140. <typeparam name="TResult">The type of the result available through the
  10141. <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
  10142. </typeparam>
  10143. <param name="function">A function delegate that returns the future result to be available through
  10144. the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
  10145. <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
  10146. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
  10147. argument is null.</exception>
  10148. <remarks>
  10149. Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
  10150. of its constructors and then calling
  10151. <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
  10152. However, unless creation and scheduling must be separated, StartNew is the recommended approach
  10153. for both simplicity and performance.
  10154. </remarks>
  10155. </member>
  10156. <member name="M:System.Threading.Tasks.TaskFactory.StartNew``1(System.Func{``0},System.Threading.CancellationToken)">
  10157. <summary>
  10158. Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
  10159. </summary>
  10160. <typeparam name="TResult">The type of the result available through the
  10161. <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
  10162. </typeparam>
  10163. <param name="function">A function delegate that returns the future result to be available through
  10164. the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
  10165. <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to the new <see cref="T:System.Threading.Tasks.Task"/></param>
  10166. <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
  10167. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
  10168. argument is null.</exception>
  10169. <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  10170. has already been disposed.
  10171. </exception>
  10172. <remarks>
  10173. Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
  10174. of its constructors and then calling
  10175. <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
  10176. However, unless creation and scheduling must be separated, StartNew is the recommended approach
  10177. for both simplicity and performance.
  10178. </remarks>
  10179. </member>
  10180. <member name="M:System.Threading.Tasks.TaskFactory.StartNew``1(System.Func{``0},System.Threading.Tasks.TaskCreationOptions)">
  10181. <summary>
  10182. Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
  10183. </summary>
  10184. <typeparam name="TResult">The type of the result available through the
  10185. <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
  10186. </typeparam>
  10187. <param name="function">A function delegate that returns the future result to be available through
  10188. the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
  10189. <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
  10190. created
  10191. <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
  10192. <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
  10193. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
  10194. argument is null.</exception>
  10195. <exception cref="T:System.ArgumentOutOfRangeException">The exception that is thrown when the
  10196. <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
  10197. value.</exception>
  10198. <remarks>
  10199. Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
  10200. of its constructors and then calling
  10201. <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
  10202. However, unless creation and scheduling must be separated, StartNew is the recommended approach
  10203. for both simplicity and performance.
  10204. </remarks>
  10205. </member>
  10206. <member name="M:System.Threading.Tasks.TaskFactory.StartNew``1(System.Func{``0},System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
  10207. <summary>
  10208. Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
  10209. </summary>
  10210. <typeparam name="TResult">The type of the result available through the
  10211. <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
  10212. </typeparam>
  10213. <param name="function">A function delegate that returns the future result to be available through
  10214. the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
  10215. <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to the new task.</param>
  10216. <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
  10217. created
  10218. <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
  10219. <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
  10220. that is used to schedule the created <see cref="T:System.Threading.Tasks.Task{TResult}">
  10221. Task{TResult}</see>.</param>
  10222. <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
  10223. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
  10224. argument is null.</exception>
  10225. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="scheduler"/>
  10226. argument is null.</exception>
  10227. <exception cref="T:System.ArgumentOutOfRangeException">The exception that is thrown when the
  10228. <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
  10229. value.</exception>
  10230. <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  10231. has already been disposed.
  10232. </exception>
  10233. <remarks>
  10234. Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
  10235. of its constructors and then calling
  10236. <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
  10237. However, unless creation and scheduling must be separated, StartNew is the recommended approach
  10238. for both simplicity and performance.
  10239. </remarks>
  10240. </member>
  10241. <member name="M:System.Threading.Tasks.TaskFactory.StartNew``1(System.Func{System.Object,``0},System.Object)">
  10242. <summary>
  10243. Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
  10244. </summary>
  10245. <typeparam name="TResult">The type of the result available through the
  10246. <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
  10247. </typeparam>
  10248. <param name="function">A function delegate that returns the future result to be available through
  10249. the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
  10250. <param name="state">An object containing data to be used by the <paramref name="function"/>
  10251. delegate.</param>
  10252. <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
  10253. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
  10254. argument is null.</exception>
  10255. <remarks>
  10256. Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
  10257. of its constructors and then calling
  10258. <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
  10259. However, unless creation and scheduling must be separated, StartNew is the recommended approach
  10260. for both simplicity and performance.
  10261. </remarks>
  10262. </member>
  10263. <member name="M:System.Threading.Tasks.TaskFactory.StartNew``1(System.Func{System.Object,``0},System.Object,System.Threading.CancellationToken)">
  10264. <summary>
  10265. Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
  10266. </summary>
  10267. <typeparam name="TResult">The type of the result available through the
  10268. <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
  10269. </typeparam>
  10270. <param name="function">A function delegate that returns the future result to be available through
  10271. the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
  10272. <param name="state">An object containing data to be used by the <paramref name="function"/>
  10273. delegate.</param>
  10274. <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to the new <see cref="T:System.Threading.Tasks.Task"/></param>
  10275. <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
  10276. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
  10277. argument is null.</exception>
  10278. <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  10279. has already been disposed.
  10280. </exception>
  10281. <remarks>
  10282. Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
  10283. of its constructors and then calling
  10284. <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
  10285. However, unless creation and scheduling must be separated, StartNew is the recommended approach
  10286. for both simplicity and performance.
  10287. </remarks>
  10288. </member>
  10289. <member name="M:System.Threading.Tasks.TaskFactory.StartNew``1(System.Func{System.Object,``0},System.Object,System.Threading.Tasks.TaskCreationOptions)">
  10290. <summary>
  10291. Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
  10292. </summary>
  10293. <typeparam name="TResult">The type of the result available through the
  10294. <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
  10295. </typeparam>
  10296. <param name="function">A function delegate that returns the future result to be available through
  10297. the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
  10298. <param name="state">An object containing data to be used by the <paramref name="function"/>
  10299. delegate.</param>
  10300. <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
  10301. created
  10302. <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
  10303. <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
  10304. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
  10305. argument is null.</exception>
  10306. <exception cref="T:System.ArgumentOutOfRangeException">The exception that is thrown when the
  10307. <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
  10308. value.</exception>
  10309. <remarks>
  10310. Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
  10311. of its constructors and then calling
  10312. <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
  10313. However, unless creation and scheduling must be separated, StartNew is the recommended approach
  10314. for both simplicity and performance.
  10315. </remarks>
  10316. </member>
  10317. <member name="M:System.Threading.Tasks.TaskFactory.StartNew``1(System.Func{System.Object,``0},System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
  10318. <summary>
  10319. Creates and starts a <see cref="T:System.Threading.Tasks.Task{TResult}"/>.
  10320. </summary>
  10321. <typeparam name="TResult">The type of the result available through the
  10322. <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
  10323. </typeparam>
  10324. <param name="function">A function delegate that returns the future result to be available through
  10325. the <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
  10326. <param name="state">An object containing data to be used by the <paramref name="function"/>
  10327. delegate.</param>
  10328. <param name="cancellationToken">The <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to the new task.</param>
  10329. <param name="creationOptions">A TaskCreationOptions value that controls the behavior of the
  10330. created
  10331. <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
  10332. <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
  10333. that is used to schedule the created <see cref="T:System.Threading.Tasks.Task{TResult}">
  10334. Task{TResult}</see>.</param>
  10335. <returns>The started <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
  10336. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="function"/>
  10337. argument is null.</exception>
  10338. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the <paramref name="scheduler"/>
  10339. argument is null.</exception>
  10340. <exception cref="T:System.ArgumentOutOfRangeException">The exception that is thrown when the
  10341. <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
  10342. value.</exception>
  10343. <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  10344. has already been disposed.
  10345. </exception>
  10346. <remarks>
  10347. Calling StartNew is functionally equivalent to creating a <see cref="T:System.Threading.Tasks.Task`1"/> using one
  10348. of its constructors and then calling
  10349. <see cref="M:System.Threading.Tasks.Task.Start">Start</see> to schedule it for execution.
  10350. However, unless creation and scheduling must be separated, StartNew is the recommended approach
  10351. for both simplicity and performance.
  10352. </remarks>
  10353. </member>
  10354. <member name="M:System.Threading.Tasks.TaskFactory.FromAsync(System.IAsyncResult,System.Action{System.IAsyncResult})">
  10355. <summary>
  10356. Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that executes an end method action
  10357. when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
  10358. </summary>
  10359. <param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
  10360. <paramref name="endMethod"/>.</param>
  10361. <param name="endMethod">The action delegate that processes the completed <paramref
  10362. name="asyncResult"/>.</param>
  10363. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  10364. <paramref name="asyncResult"/> argument is null.</exception>
  10365. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  10366. <paramref name="endMethod"/> argument is null.</exception>
  10367. <returns>A <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the asynchronous
  10368. operation.</returns>
  10369. </member>
  10370. <member name="M:System.Threading.Tasks.TaskFactory.FromAsync(System.IAsyncResult,System.Action{System.IAsyncResult},System.Threading.Tasks.TaskCreationOptions)">
  10371. <summary>
  10372. Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that executes an end method action
  10373. when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
  10374. </summary>
  10375. <param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
  10376. <paramref name="endMethod"/>.</param>
  10377. <param name="endMethod">The action delegate that processes the completed <paramref
  10378. name="asyncResult"/>.</param>
  10379. <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
  10380. created <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
  10381. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  10382. <paramref name="asyncResult"/> argument is null.</exception>
  10383. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  10384. <paramref name="endMethod"/> argument is null.</exception>
  10385. <exception cref="T:System.ArgumentOutOfRangeException">The exception that is thrown when the
  10386. <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
  10387. value.</exception>
  10388. <returns>A <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the asynchronous
  10389. operation.</returns>
  10390. </member>
  10391. <member name="M:System.Threading.Tasks.TaskFactory.FromAsync(System.IAsyncResult,System.Action{System.IAsyncResult},System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
  10392. <summary>
  10393. Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that executes an end method action
  10394. when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
  10395. </summary>
  10396. <param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
  10397. <paramref name="endMethod"/>.</param>
  10398. <param name="endMethod">The action delegate that processes the completed <paramref name="asyncResult"/>.</param>
  10399. <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
  10400. that is used to schedule the task that executes the end method.</param>
  10401. <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
  10402. created <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
  10403. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  10404. <paramref name="asyncResult"/> argument is null.</exception>
  10405. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  10406. <paramref name="endMethod"/> argument is null.</exception>
  10407. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  10408. <paramref name="scheduler"/> argument is null.</exception>
  10409. <exception cref="T:System.ArgumentOutOfRangeException">The exception that is thrown when the
  10410. <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
  10411. value.</exception>
  10412. <returns>A <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the asynchronous
  10413. operation.</returns>
  10414. </member>
  10415. <member name="M:System.Threading.Tasks.TaskFactory.FromAsync(System.Func{System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult},System.Object)">
  10416. <summary>
  10417. Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents a pair of begin
  10418. and end methods that conform to the Asynchronous Programming Model pattern.
  10419. </summary>
  10420. <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
  10421. <param name="endMethod">The delegate that ends the asynchronous operation.</param>
  10422. <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
  10423. delegate.</param>
  10424. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  10425. <paramref name="beginMethod"/> argument is null.</exception>
  10426. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  10427. <paramref name="endMethod"/> argument is null.</exception>
  10428. <returns>The created <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
  10429. asynchronous operation.</returns>
  10430. <remarks>
  10431. This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
  10432. </remarks>
  10433. </member>
  10434. <member name="M:System.Threading.Tasks.TaskFactory.FromAsync(System.Func{System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult},System.Object,System.Threading.Tasks.TaskCreationOptions)">
  10435. <summary>
  10436. Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents a pair of begin
  10437. and end methods that conform to the Asynchronous Programming Model pattern.
  10438. </summary>
  10439. <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
  10440. <param name="endMethod">The delegate that ends the asynchronous operation.</param>
  10441. <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
  10442. created <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
  10443. <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
  10444. delegate.</param>
  10445. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  10446. <paramref name="beginMethod"/> argument is null.</exception>
  10447. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  10448. <paramref name="endMethod"/> argument is null.</exception>
  10449. <exception cref="T:System.ArgumentOutOfRangeException">The exception that is thrown when the
  10450. <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
  10451. value.</exception>
  10452. <returns>The created <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
  10453. asynchronous operation.</returns>
  10454. <remarks>
  10455. This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
  10456. </remarks>
  10457. </member>
  10458. <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``1(System.Func{``0,System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult},``0,System.Object)">
  10459. <summary>
  10460. Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents a pair of begin
  10461. and end methods that conform to the Asynchronous Programming Model pattern.
  10462. </summary>
  10463. <typeparam name="TArg1">The type of the first argument passed to the <paramref
  10464. name="beginMethod"/>
  10465. delegate.</typeparam>
  10466. <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
  10467. <param name="endMethod">The delegate that ends the asynchronous operation.</param>
  10468. <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
  10469. delegate.</param>
  10470. <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
  10471. delegate.</param>
  10472. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  10473. <paramref name="beginMethod"/> argument is null.</exception>
  10474. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  10475. <paramref name="endMethod"/> argument is null.</exception>
  10476. <returns>The created <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
  10477. asynchronous operation.</returns>
  10478. <remarks>
  10479. This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
  10480. </remarks>
  10481. </member>
  10482. <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``1(System.Func{``0,System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult},``0,System.Object,System.Threading.Tasks.TaskCreationOptions)">
  10483. <summary>
  10484. Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents a pair of begin
  10485. and end methods that conform to the Asynchronous Programming Model pattern.
  10486. </summary>
  10487. <typeparam name="TArg1">The type of the first argument passed to the <paramref
  10488. name="beginMethod"/>
  10489. delegate.</typeparam>
  10490. <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
  10491. <param name="endMethod">The delegate that ends the asynchronous operation.</param>
  10492. <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
  10493. delegate.</param>
  10494. <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
  10495. created <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
  10496. <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
  10497. delegate.</param>
  10498. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  10499. <paramref name="beginMethod"/> argument is null.</exception>
  10500. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  10501. <paramref name="endMethod"/> argument is null.</exception>
  10502. <exception cref="T:System.ArgumentOutOfRangeException">The exception that is thrown when the
  10503. <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
  10504. value.</exception>
  10505. <returns>The created <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
  10506. asynchronous operation.</returns>
  10507. <remarks>
  10508. This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
  10509. </remarks>
  10510. </member>
  10511. <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``2(System.Func{``0,``1,System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult},``0,``1,System.Object)">
  10512. <summary>
  10513. Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents a pair of begin
  10514. and end methods that conform to the Asynchronous Programming Model pattern.
  10515. </summary>
  10516. <typeparam name="TArg1">The type of the first argument passed to the <paramref
  10517. name="beginMethod"/>
  10518. delegate.</typeparam>
  10519. <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
  10520. delegate.</typeparam>
  10521. <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
  10522. <param name="endMethod">The delegate that ends the asynchronous operation.</param>
  10523. <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
  10524. delegate.</param>
  10525. <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
  10526. delegate.</param>
  10527. <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
  10528. delegate.</param>
  10529. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  10530. <paramref name="beginMethod"/> argument is null.</exception>
  10531. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  10532. <paramref name="endMethod"/> argument is null.</exception>
  10533. <returns>The created <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
  10534. asynchronous operation.</returns>
  10535. <remarks>
  10536. This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
  10537. </remarks>
  10538. </member>
  10539. <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``2(System.Func{``0,``1,System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult},``0,``1,System.Object,System.Threading.Tasks.TaskCreationOptions)">
  10540. <summary>
  10541. Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents a pair of begin
  10542. and end methods that conform to the Asynchronous Programming Model pattern.
  10543. </summary>
  10544. <typeparam name="TArg1">The type of the first argument passed to the <paramref
  10545. name="beginMethod"/>
  10546. delegate.</typeparam>
  10547. <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
  10548. delegate.</typeparam>
  10549. <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
  10550. <param name="endMethod">The delegate that ends the asynchronous operation.</param>
  10551. <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
  10552. delegate.</param>
  10553. <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
  10554. delegate.</param>
  10555. <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
  10556. created <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
  10557. <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
  10558. delegate.</param>
  10559. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  10560. <paramref name="beginMethod"/> argument is null.</exception>
  10561. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  10562. <paramref name="endMethod"/> argument is null.</exception>
  10563. <exception cref="T:System.ArgumentOutOfRangeException">The exception that is thrown when the
  10564. <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
  10565. value.</exception>
  10566. <returns>The created <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
  10567. asynchronous operation.</returns>
  10568. <remarks>
  10569. This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
  10570. </remarks>
  10571. </member>
  10572. <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``3(System.Func_{``0,``1,``2,System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult},``0,``1,``2,System.Object)">
  10573. <summary>
  10574. Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents a pair of begin
  10575. and end methods that conform to the Asynchronous Programming Model pattern.
  10576. </summary>
  10577. <typeparam name="TArg1">The type of the first argument passed to the <paramref
  10578. name="beginMethod"/>
  10579. delegate.</typeparam>
  10580. <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
  10581. delegate.</typeparam>
  10582. <typeparam name="TArg3">The type of the third argument passed to <paramref name="beginMethod"/>
  10583. delegate.</typeparam>
  10584. <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
  10585. <param name="endMethod">The delegate that ends the asynchronous operation.</param>
  10586. <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
  10587. delegate.</param>
  10588. <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
  10589. delegate.</param>
  10590. <param name="arg3">The third argument passed to the <paramref name="beginMethod"/>
  10591. delegate.</param>
  10592. <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
  10593. delegate.</param>
  10594. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  10595. <paramref name="beginMethod"/> argument is null.</exception>
  10596. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  10597. <paramref name="endMethod"/> argument is null.</exception>
  10598. <returns>The created <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
  10599. asynchronous operation.</returns>
  10600. <remarks>
  10601. This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
  10602. </remarks>
  10603. </member>
  10604. <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``3(System.Func_{``0,``1,``2,System.AsyncCallback,System.Object,System.IAsyncResult},System.Action{System.IAsyncResult},``0,``1,``2,System.Object,System.Threading.Tasks.TaskCreationOptions)">
  10605. <summary>
  10606. Creates a <see cref="T:System.Threading.Tasks.Task">Task</see> that represents a pair of begin
  10607. and end methods that conform to the Asynchronous Programming Model pattern.
  10608. </summary>
  10609. <typeparam name="TArg1">The type of the first argument passed to the <paramref
  10610. name="beginMethod"/>
  10611. delegate.</typeparam>
  10612. <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
  10613. delegate.</typeparam>
  10614. <typeparam name="TArg3">The type of the third argument passed to <paramref name="beginMethod"/>
  10615. delegate.</typeparam>
  10616. <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
  10617. <param name="endMethod">The delegate that ends the asynchronous operation.</param>
  10618. <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
  10619. delegate.</param>
  10620. <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
  10621. delegate.</param>
  10622. <param name="arg3">The third argument passed to the <paramref name="beginMethod"/>
  10623. delegate.</param>
  10624. <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
  10625. created <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
  10626. <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
  10627. delegate.</param>
  10628. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  10629. <paramref name="beginMethod"/> argument is null.</exception>
  10630. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  10631. <paramref name="endMethod"/> argument is null.</exception>
  10632. <exception cref="T:System.ArgumentOutOfRangeException">The exception that is thrown when the
  10633. <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
  10634. value.</exception>
  10635. <returns>The created <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
  10636. asynchronous operation.</returns>
  10637. <remarks>
  10638. This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
  10639. </remarks>
  10640. </member>
  10641. <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``1(System.IAsyncResult,System.Func{System.IAsyncResult,``0})">
  10642. <summary>
  10643. Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that executes an end
  10644. method function when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
  10645. </summary>
  10646. <typeparam name="TResult">The type of the result available through the
  10647. <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
  10648. </typeparam>
  10649. <param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
  10650. <paramref name="endMethod"/>.</param>
  10651. <param name="endMethod">The function delegate that processes the completed <paramref
  10652. name="asyncResult"/>.</param>
  10653. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  10654. <paramref name="asyncResult"/> argument is null.</exception>
  10655. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  10656. <paramref name="endMethod"/> argument is null.</exception>
  10657. <returns>A <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents the
  10658. asynchronous operation.</returns>
  10659. </member>
  10660. <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``1(System.IAsyncResult,System.Func{System.IAsyncResult,``0},System.Threading.Tasks.TaskCreationOptions)">
  10661. <summary>
  10662. Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that executes an end
  10663. method function when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
  10664. </summary>
  10665. <typeparam name="TResult">The type of the result available through the
  10666. <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
  10667. </typeparam>
  10668. <param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
  10669. <paramref name="endMethod"/>.</param>
  10670. <param name="endMethod">The function delegate that processes the completed <paramref
  10671. name="asyncResult"/>.</param>
  10672. <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
  10673. created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
  10674. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  10675. <paramref name="asyncResult"/> argument is null.</exception>
  10676. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  10677. <paramref name="endMethod"/> argument is null.</exception>
  10678. <exception cref="T:System.ArgumentOutOfRangeException">The exception that is thrown when the
  10679. <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
  10680. value.</exception>
  10681. <returns>A <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents the
  10682. asynchronous operation.</returns>
  10683. </member>
  10684. <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``1(System.IAsyncResult,System.Func{System.IAsyncResult,``0},System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler)">
  10685. <summary>
  10686. Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that executes an end
  10687. method function when a specified <see cref="T:System.IAsyncResult">IAsyncResult</see> completes.
  10688. </summary>
  10689. <typeparam name="TResult">The type of the result available through the
  10690. <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
  10691. </typeparam>
  10692. <param name="asyncResult">The IAsyncResult whose completion should trigger the processing of the
  10693. <paramref name="endMethod"/>.</param>
  10694. <param name="endMethod">The function delegate that processes the completed <paramref name="asyncResult"/>.</param>
  10695. <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
  10696. that is used to schedule the task that executes the end method.</param>
  10697. <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
  10698. created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
  10699. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  10700. <paramref name="asyncResult"/> argument is null.</exception>
  10701. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  10702. <paramref name="endMethod"/> argument is null.</exception>
  10703. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  10704. <paramref name="scheduler"/> argument is null.</exception>
  10705. <exception cref="T:System.ArgumentOutOfRangeException">The exception that is thrown when the
  10706. <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
  10707. value.</exception>
  10708. <returns>A <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents the
  10709. asynchronous operation.</returns>
  10710. </member>
  10711. <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``1(System.Func{System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``0},System.Object)">
  10712. <summary>
  10713. Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
  10714. begin and end methods that conform to the Asynchronous Programming Model pattern.
  10715. </summary>
  10716. <typeparam name="TResult">The type of the result available through the
  10717. <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
  10718. </typeparam>
  10719. <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
  10720. <param name="endMethod">The delegate that ends the asynchronous operation.</param>
  10721. <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
  10722. delegate.</param>
  10723. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  10724. <paramref name="beginMethod"/> argument is null.</exception>
  10725. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  10726. <paramref name="endMethod"/> argument is null.</exception>
  10727. <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
  10728. represents the asynchronous operation.</returns>
  10729. <remarks>
  10730. This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
  10731. </remarks>
  10732. </member>
  10733. <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``1(System.Func{System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``0},System.Object,System.Threading.Tasks.TaskCreationOptions)">
  10734. <summary>
  10735. Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
  10736. begin and end methods that conform to the Asynchronous Programming Model pattern.
  10737. </summary>
  10738. <typeparam name="TResult">The type of the result available through the
  10739. <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
  10740. </typeparam>
  10741. <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
  10742. <param name="endMethod">The delegate that ends the asynchronous operation.</param>
  10743. <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
  10744. created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
  10745. <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
  10746. delegate.</param>
  10747. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  10748. <paramref name="beginMethod"/> argument is null.</exception>
  10749. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  10750. <paramref name="endMethod"/> argument is null.</exception>
  10751. <exception cref="T:System.ArgumentOutOfRangeException">The exception that is thrown when the
  10752. <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
  10753. value.</exception>
  10754. <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
  10755. represents the asynchronous operation.</returns>
  10756. <remarks>
  10757. This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
  10758. </remarks>
  10759. </member>
  10760. <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``2(System.Func{``0,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``1},``0,System.Object)">
  10761. <summary>
  10762. Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
  10763. begin and end methods that conform to the Asynchronous Programming Model pattern.
  10764. </summary>
  10765. <typeparam name="TArg1">The type of the first argument passed to the <paramref
  10766. name="beginMethod"/> delegate.</typeparam>
  10767. <typeparam name="TResult">The type of the result available through the
  10768. <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
  10769. </typeparam>
  10770. <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
  10771. <param name="endMethod">The delegate that ends the asynchronous operation.</param>
  10772. <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
  10773. delegate.</param>
  10774. <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
  10775. delegate.</param>
  10776. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  10777. <paramref name="beginMethod"/> argument is null.</exception>
  10778. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  10779. <paramref name="endMethod"/> argument is null.</exception>
  10780. <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
  10781. represents the asynchronous operation.</returns>
  10782. <remarks>
  10783. This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
  10784. </remarks>
  10785. </member>
  10786. <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``2(System.Func{``0,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``1},``0,System.Object,System.Threading.Tasks.TaskCreationOptions)">
  10787. <summary>
  10788. Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
  10789. begin and end methods that conform to the Asynchronous Programming Model pattern.
  10790. </summary>
  10791. <typeparam name="TArg1">The type of the first argument passed to the <paramref
  10792. name="beginMethod"/> delegate.</typeparam>
  10793. <typeparam name="TResult">The type of the result available through the
  10794. <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
  10795. </typeparam>
  10796. <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
  10797. <param name="endMethod">The delegate that ends the asynchronous operation.</param>
  10798. <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
  10799. delegate.</param>
  10800. <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
  10801. created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
  10802. <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
  10803. delegate.</param>
  10804. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  10805. <paramref name="beginMethod"/> argument is null.</exception>
  10806. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  10807. <paramref name="endMethod"/> argument is null.</exception>
  10808. <exception cref="T:System.ArgumentOutOfRangeException">The exception that is thrown when the
  10809. <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
  10810. value.</exception>
  10811. <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
  10812. represents the asynchronous operation.</returns>
  10813. <remarks>
  10814. This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
  10815. </remarks>
  10816. </member>
  10817. <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``3(System.Func{``0,``1,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``2},``0,``1,System.Object)">
  10818. <summary>
  10819. Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
  10820. begin and end methods that conform to the Asynchronous Programming Model pattern.
  10821. </summary>
  10822. <typeparam name="TArg1">The type of the first argument passed to the <paramref
  10823. name="beginMethod"/> delegate.</typeparam>
  10824. <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
  10825. delegate.</typeparam>
  10826. <typeparam name="TResult">The type of the result available through the
  10827. <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
  10828. </typeparam>
  10829. <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
  10830. <param name="endMethod">The delegate that ends the asynchronous operation.</param>
  10831. <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
  10832. delegate.</param>
  10833. <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
  10834. delegate.</param>
  10835. <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
  10836. delegate.</param>
  10837. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  10838. <paramref name="beginMethod"/> argument is null.</exception>
  10839. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  10840. <paramref name="endMethod"/> argument is null.</exception>
  10841. <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
  10842. represents the asynchronous operation.</returns>
  10843. <remarks>
  10844. This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
  10845. </remarks>
  10846. </member>
  10847. <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``3(System.Func{``0,``1,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``2},``0,``1,System.Object,System.Threading.Tasks.TaskCreationOptions)">
  10848. <summary>
  10849. Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
  10850. begin and end methods that conform to the Asynchronous Programming Model pattern.
  10851. </summary>
  10852. <typeparam name="TArg1">The type of the first argument passed to the <paramref
  10853. name="beginMethod"/> delegate.</typeparam>
  10854. <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
  10855. delegate.</typeparam>
  10856. <typeparam name="TResult">The type of the result available through the
  10857. <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
  10858. </typeparam>
  10859. <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
  10860. <param name="endMethod">The delegate that ends the asynchronous operation.</param>
  10861. <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
  10862. delegate.</param>
  10863. <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
  10864. delegate.</param>
  10865. <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
  10866. created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
  10867. <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
  10868. delegate.</param>
  10869. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  10870. <paramref name="beginMethod"/> argument is null.</exception>
  10871. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  10872. <paramref name="endMethod"/> argument is null.</exception>
  10873. <exception cref="T:System.ArgumentOutOfRangeException">The exception that is thrown when the
  10874. <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
  10875. value.</exception>
  10876. <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
  10877. represents the asynchronous operation.</returns>
  10878. <remarks>
  10879. This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
  10880. </remarks>
  10881. </member>
  10882. <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``4(System.Func_{``0,``1,``2,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``3},``0,``1,``2,System.Object)">
  10883. <summary>
  10884. Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
  10885. begin and end methods that conform to the Asynchronous Programming Model pattern.
  10886. </summary>
  10887. <typeparam name="TArg1">The type of the first argument passed to the <paramref
  10888. name="beginMethod"/> delegate.</typeparam>
  10889. <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
  10890. delegate.</typeparam>
  10891. <typeparam name="TArg3">The type of the third argument passed to <paramref name="beginMethod"/>
  10892. delegate.</typeparam>
  10893. <typeparam name="TResult">The type of the result available through the
  10894. <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
  10895. </typeparam>
  10896. <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
  10897. <param name="endMethod">The delegate that ends the asynchronous operation.</param>
  10898. <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
  10899. delegate.</param>
  10900. <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
  10901. delegate.</param>
  10902. <param name="arg3">The third argument passed to the <paramref name="beginMethod"/>
  10903. delegate.</param>
  10904. <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
  10905. delegate.</param>
  10906. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  10907. <paramref name="beginMethod"/> argument is null.</exception>
  10908. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  10909. <paramref name="endMethod"/> argument is null.</exception>
  10910. <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
  10911. represents the asynchronous operation.</returns>
  10912. <remarks>
  10913. This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
  10914. </remarks>
  10915. </member>
  10916. <member name="M:System.Threading.Tasks.TaskFactory.FromAsync``4(System.Func_{``0,``1,``2,System.AsyncCallback,System.Object,System.IAsyncResult},System.Func{System.IAsyncResult,``3},``0,``1,``2,System.Object,System.Threading.Tasks.TaskCreationOptions)">
  10917. <summary>
  10918. Creates a <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that represents a pair of
  10919. begin and end methods that conform to the Asynchronous Programming Model pattern.
  10920. </summary>
  10921. <typeparam name="TArg1">The type of the first argument passed to the <paramref
  10922. name="beginMethod"/> delegate.</typeparam>
  10923. <typeparam name="TArg2">The type of the second argument passed to <paramref name="beginMethod"/>
  10924. delegate.</typeparam>
  10925. <typeparam name="TArg3">The type of the third argument passed to <paramref name="beginMethod"/>
  10926. delegate.</typeparam>
  10927. <typeparam name="TResult">The type of the result available through the
  10928. <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.
  10929. </typeparam>
  10930. <param name="beginMethod">The delegate that begins the asynchronous operation.</param>
  10931. <param name="endMethod">The delegate that ends the asynchronous operation.</param>
  10932. <param name="arg1">The first argument passed to the <paramref name="beginMethod"/>
  10933. delegate.</param>
  10934. <param name="arg2">The second argument passed to the <paramref name="beginMethod"/>
  10935. delegate.</param>
  10936. <param name="arg3">The third argument passed to the <paramref name="beginMethod"/>
  10937. delegate.</param>
  10938. <param name="creationOptions">The TaskCreationOptions value that controls the behavior of the
  10939. created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
  10940. <param name="state">An object containing data to be used by the <paramref name="beginMethod"/>
  10941. delegate.</param>
  10942. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  10943. <paramref name="beginMethod"/> argument is null.</exception>
  10944. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  10945. <paramref name="endMethod"/> argument is null.</exception>
  10946. <exception cref="T:System.ArgumentOutOfRangeException">The exception that is thrown when the
  10947. <paramref name="creationOptions"/> argument specifies an invalid TaskCreationOptions
  10948. value.</exception>
  10949. <returns>The created <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see> that
  10950. represents the asynchronous operation.</returns>
  10951. <remarks>
  10952. This method throws any exceptions thrown by the <paramref name="beginMethod"/>.
  10953. </remarks>
  10954. </member>
  10955. <member name="M:System.Threading.Tasks.TaskFactory.CheckFromAsyncOptions(System.Threading.Tasks.TaskCreationOptions,System.Boolean)">
  10956. <summary>
  10957. Check validity of options passed to FromAsync method
  10958. </summary>
  10959. <param name="creationOptions">The options to be validated.</param>
  10960. <param name="hasBeginMethod">determines type of FromAsync method that called this method</param>
  10961. </member>
  10962. <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll(System.Threading.Tasks.Task[],System.Action{System.Threading.Tasks.Task[]})">
  10963. <summary>
  10964. Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
  10965. that will be started upon the completion of a set of provided Tasks.
  10966. </summary>
  10967. <param name="tasks">The array of tasks from which to continue.</param>
  10968. <param name="continuationAction">The action delegate to execute when all tasks in
  10969. the <paramref name="tasks"/> array have completed.</param>
  10970. <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
  10971. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  10972. <paramref name="tasks"/> array is null.</exception>
  10973. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  10974. <paramref name="continuationAction"/> argument is null.</exception>
  10975. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  10976. <paramref name="tasks"/> array contains a null value.</exception>
  10977. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  10978. <paramref name="tasks"/> array is empty.</exception>
  10979. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
  10980. of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
  10981. </member>
  10982. <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll(System.Threading.Tasks.Task[],System.Action{System.Threading.Tasks.Task[]},System.Threading.CancellationToken)">
  10983. <summary>
  10984. Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
  10985. that will be started upon the completion of a set of provided Tasks.
  10986. </summary>
  10987. <param name="tasks">The array of tasks from which to continue.</param>
  10988. <param name="continuationAction">The action delegate to execute when all tasks in
  10989. the <paramref name="tasks"/> array have completed.</param>
  10990. <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  10991. that will be assigned to the new continuation task.</param>
  10992. <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
  10993. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  10994. <paramref name="tasks"/> array is null.</exception>
  10995. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  10996. <paramref name="continuationAction"/> argument is null.</exception>
  10997. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  10998. <paramref name="tasks"/> array contains a null value.</exception>
  10999. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  11000. <paramref name="tasks"/> array is empty.</exception>
  11001. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
  11002. of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
  11003. <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  11004. has already been disposed.
  11005. </exception>
  11006. </member>
  11007. <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll(System.Threading.Tasks.Task[],System.Action{System.Threading.Tasks.Task[]},System.Threading.Tasks.TaskContinuationOptions)">
  11008. <summary>
  11009. Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
  11010. that will be started upon the completion of a set of provided Tasks.
  11011. </summary>
  11012. <param name="tasks">The array of tasks from which to continue.</param>
  11013. <param name="continuationAction">The action delegate to execute when all tasks in the <paramref name="tasks"/> array have completed.</param>
  11014. <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
  11015. TaskContinuationOptions</see> value that controls the behavior of
  11016. the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
  11017. <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
  11018. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11019. <paramref name="tasks"/> array is null.</exception>
  11020. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11021. <paramref name="continuationAction"/> argument is null.</exception>
  11022. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  11023. <paramref name="tasks"/> array contains a null value.</exception>
  11024. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  11025. <paramref name="tasks"/> array is empty.</exception>
  11026. <exception cref="T:System.ArgumentOutOfRangeException">The exception that is thrown when the
  11027. <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
  11028. value.</exception>
  11029. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
  11030. of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
  11031. <remarks>
  11032. The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
  11033. which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
  11034. will be executed, are illegal with ContinueWhenAll.
  11035. </remarks>
  11036. </member>
  11037. <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll(System.Threading.Tasks.Task[],System.Action{System.Threading.Tasks.Task[]},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
  11038. <summary>
  11039. Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
  11040. that will be started upon the completion of a set of provided Tasks.
  11041. </summary>
  11042. <param name="tasks">The array of tasks from which to continue.</param>
  11043. <param name="continuationAction">The action delegate to execute when all tasks in the <paramref name="tasks"/> array have completed.</param>
  11044. <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  11045. that will be assigned to the new continuation task.</param>
  11046. <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
  11047. TaskContinuationOptions</see> value that controls the behavior of
  11048. the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
  11049. <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
  11050. that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
  11051. <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
  11052. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11053. <paramref name="tasks"/> array is null.</exception>
  11054. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11055. <paramref name="continuationAction"/> argument is null.</exception>
  11056. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11057. <paramref name="scheduler"/> argument is null.</exception>
  11058. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  11059. <paramref name="tasks"/> array contains a null value.</exception>
  11060. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  11061. <paramref name="tasks"/> array is empty.</exception>
  11062. <exception cref="T:System.ArgumentOutOfRangeException">The exception that is thrown when the
  11063. <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
  11064. value.</exception>
  11065. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
  11066. of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
  11067. <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  11068. has already been disposed.
  11069. </exception>
  11070. <remarks>
  11071. The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
  11072. which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
  11073. will be executed, are illegal with ContinueWhenAll.
  11074. </remarks>
  11075. </member>
  11076. <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``1(System.Threading.Tasks.Task{``0}[],System.Action{System.Threading.Tasks.Task{``0}[]})">
  11077. <summary>
  11078. Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
  11079. that will be started upon the completion of a set of provided Tasks.
  11080. </summary>
  11081. <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
  11082. <param name="tasks">The array of tasks from which to continue.</param>
  11083. <param name="continuationAction">The action delegate to execute when all tasks in
  11084. the <paramref name="tasks"/> array have completed.</param>
  11085. <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
  11086. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11087. <paramref name="tasks"/> array is null.</exception>
  11088. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11089. <paramref name="continuationAction"/> argument is null.</exception>
  11090. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  11091. <paramref name="tasks"/> array contains a null value.</exception>
  11092. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  11093. <paramref name="tasks"/> array is empty.</exception>
  11094. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
  11095. of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
  11096. </member>
  11097. <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``1(System.Threading.Tasks.Task{``0}[],System.Action{System.Threading.Tasks.Task{``0}[]},System.Threading.CancellationToken)">
  11098. <summary>
  11099. Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
  11100. that will be started upon the completion of a set of provided Tasks.
  11101. </summary>
  11102. <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
  11103. <param name="tasks">The array of tasks from which to continue.</param>
  11104. <param name="continuationAction">The action delegate to execute when all tasks in
  11105. the <paramref name="tasks"/> array have completed.</param>
  11106. <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  11107. that will be assigned to the new continuation task.</param>
  11108. <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
  11109. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11110. <paramref name="tasks"/> array is null.</exception>
  11111. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11112. <paramref name="continuationAction"/> argument is null.</exception>
  11113. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  11114. <paramref name="tasks"/> array contains a null value.</exception>
  11115. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  11116. <paramref name="tasks"/> array is empty.</exception>
  11117. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
  11118. of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
  11119. <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  11120. has already been disposed.
  11121. </exception>
  11122. </member>
  11123. <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``1(System.Threading.Tasks.Task{``0}[],System.Action{System.Threading.Tasks.Task{``0}[]},System.Threading.Tasks.TaskContinuationOptions)">
  11124. <summary>
  11125. Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
  11126. that will be started upon the completion of a set of provided Tasks.
  11127. </summary>
  11128. <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
  11129. <param name="tasks">The array of tasks from which to continue.</param>
  11130. <param name="continuationAction">The action delegate to execute when all tasks in the <paramref name="tasks"/> array have completed.</param>
  11131. <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
  11132. TaskContinuationOptions</see> value that controls the behavior of
  11133. the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
  11134. <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
  11135. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11136. <paramref name="tasks"/> array is null.</exception>
  11137. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11138. <paramref name="continuationAction"/> argument is null.</exception>
  11139. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  11140. <paramref name="tasks"/> array contains a null value.</exception>
  11141. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  11142. <paramref name="tasks"/> array is empty.</exception>
  11143. <exception cref="T:System.ArgumentOutOfRangeException">The exception that is thrown when the
  11144. <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
  11145. value.</exception>
  11146. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
  11147. of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
  11148. <remarks>
  11149. The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
  11150. which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
  11151. will be executed, are illegal with ContinueWhenAll.
  11152. </remarks>
  11153. </member>
  11154. <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``1(System.Threading.Tasks.Task{``0}[],System.Action{System.Threading.Tasks.Task{``0}[]},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
  11155. <summary>
  11156. Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
  11157. that will be started upon the completion of a set of provided Tasks.
  11158. </summary>
  11159. <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
  11160. <param name="tasks">The array of tasks from which to continue.</param>
  11161. <param name="continuationAction">The action delegate to execute when all tasks in the <paramref name="tasks"/> array have completed.</param>
  11162. <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  11163. that will be assigned to the new continuation task.</param>
  11164. <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
  11165. TaskContinuationOptions</see> value that controls the behavior of
  11166. the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
  11167. <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
  11168. that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
  11169. <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
  11170. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11171. <paramref name="tasks"/> array is null.</exception>
  11172. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11173. <paramref name="continuationAction"/> argument is null.</exception>
  11174. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11175. <paramref name="scheduler"/> argument is null.</exception>
  11176. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  11177. <paramref name="tasks"/> array contains a null value.</exception>
  11178. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  11179. <paramref name="tasks"/> array is empty.</exception>
  11180. <exception cref="T:System.ArgumentOutOfRangeException">The exception that is thrown when the
  11181. <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
  11182. value.</exception>
  11183. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
  11184. of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
  11185. <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  11186. has already been disposed.
  11187. </exception>
  11188. <remarks>
  11189. The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
  11190. which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
  11191. will be executed, are illegal with ContinueWhenAll.
  11192. </remarks>
  11193. </member>
  11194. <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``1(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task[],``0})">
  11195. <summary>
  11196. Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
  11197. that will be started upon the completion of a set of provided Tasks.
  11198. </summary>
  11199. <typeparam name="TResult">The type of the result that is returned by the <paramref
  11200. name="continuationFunction"/>
  11201. delegate and associated with the created <see
  11202. cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
  11203. <param name="tasks">The array of tasks from which to continue.</param>
  11204. <param name="continuationFunction">The function delegate to execute when all tasks in the
  11205. <paramref name="tasks"/> array have completed.</param>
  11206. <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
  11207. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11208. <paramref name="tasks"/> array is null.</exception>
  11209. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11210. <paramref name="continuationFunction"/> argument is null.</exception>
  11211. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  11212. <paramref name="tasks"/> array contains a null value.</exception>
  11213. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  11214. <paramref name="tasks"/> array is empty.</exception>
  11215. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
  11216. of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
  11217. </member>
  11218. <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``1(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task[],``0},System.Threading.CancellationToken)">
  11219. <summary>
  11220. Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
  11221. that will be started upon the completion of a set of provided Tasks.
  11222. </summary>
  11223. <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
  11224. delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
  11225. <param name="tasks">The array of tasks from which to continue.</param>
  11226. <param name="continuationFunction">The function delegate to execute when all tasks in the
  11227. <paramref name="tasks"/> array have completed.</param>
  11228. <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  11229. that will be assigned to the new continuation task.</param>
  11230. <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
  11231. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11232. <paramref name="tasks"/> array is null.</exception>
  11233. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11234. <paramref name="continuationFunction"/> argument is null.</exception>
  11235. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  11236. <paramref name="tasks"/> array contains a null value.</exception>
  11237. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  11238. <paramref name="tasks"/> array is empty.</exception>
  11239. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
  11240. of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
  11241. <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  11242. has already been disposed.
  11243. </exception>
  11244. </member>
  11245. <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``1(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task[],``0},System.Threading.Tasks.TaskContinuationOptions)">
  11246. <summary>
  11247. Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
  11248. that will be started upon the completion of a set of provided Tasks.
  11249. </summary>
  11250. <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
  11251. delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
  11252. <param name="tasks">The array of tasks from which to continue.</param>
  11253. <param name="continuationFunction">The function delegate to execute when all tasks in the
  11254. <paramref name="tasks"/> array have completed.</param>
  11255. <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
  11256. TaskContinuationOptions</see> value that controls the behavior of
  11257. the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
  11258. <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
  11259. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11260. <paramref name="tasks"/> array is null.</exception>
  11261. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11262. <paramref name="continuationFunction"/> argument is null.</exception>
  11263. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  11264. <paramref name="tasks"/> array contains a null value.</exception>
  11265. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  11266. <paramref name="tasks"/> array is empty.</exception>
  11267. <exception cref="T:System.ArgumentOutOfRangeException">The exception that is thrown when the
  11268. <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
  11269. value.</exception>
  11270. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
  11271. of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
  11272. <remarks>
  11273. The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
  11274. which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
  11275. will be executed, are illegal with ContinueWhenAll.
  11276. </remarks>
  11277. </member>
  11278. <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``1(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task[],``0},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
  11279. <summary>
  11280. Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
  11281. that will be started upon the completion of a set of provided Tasks.
  11282. </summary>
  11283. <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
  11284. delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
  11285. <param name="tasks">The array of tasks from which to continue.</param>
  11286. <param name="continuationFunction">The function delegate to execute when all tasks in the
  11287. <paramref name="tasks"/> array have completed.</param>
  11288. <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  11289. that will be assigned to the new continuation task.</param>
  11290. <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
  11291. TaskContinuationOptions</see> value that controls the behavior of
  11292. the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
  11293. <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
  11294. that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
  11295. <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
  11296. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11297. <paramref name="tasks"/> array is null.</exception>
  11298. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11299. <paramref name="continuationFunction"/> argument is null.</exception>
  11300. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11301. <paramref name="scheduler"/> argument is null.</exception>
  11302. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  11303. <paramref name="tasks"/> array contains a null value.</exception>
  11304. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  11305. <paramref name="tasks"/> array is empty.</exception>
  11306. <exception cref="T:System.ArgumentOutOfRangeException">The exception that is thrown when the
  11307. <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
  11308. value.</exception>
  11309. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
  11310. of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
  11311. <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  11312. has already been disposed.
  11313. </exception>
  11314. <remarks>
  11315. The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
  11316. which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
  11317. will be executed, are illegal with ContinueWhenAll.
  11318. </remarks>
  11319. </member>
  11320. <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``2(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0}[],``1})">
  11321. <summary>
  11322. Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
  11323. that will be started upon the completion of a set of provided Tasks.
  11324. </summary>
  11325. <typeparam name="TResult">The type of the result that is returned by the <paramref
  11326. name="continuationFunction"/>
  11327. delegate and associated with the created <see
  11328. cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
  11329. <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
  11330. <param name="tasks">The array of tasks from which to continue.</param>
  11331. <param name="continuationFunction">The function delegate to execute when all tasks in the
  11332. <paramref name="tasks"/> array have completed.</param>
  11333. <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
  11334. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11335. <paramref name="tasks"/> array is null.</exception>
  11336. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11337. <paramref name="continuationFunction"/> argument is null.</exception>
  11338. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  11339. <paramref name="tasks"/> array contains a null value.</exception>
  11340. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  11341. <paramref name="tasks"/> array is empty.</exception>
  11342. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
  11343. of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
  11344. </member>
  11345. <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``2(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0}[],``1},System.Threading.CancellationToken)">
  11346. <summary>
  11347. Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
  11348. that will be started upon the completion of a set of provided Tasks.
  11349. </summary>
  11350. <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
  11351. delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
  11352. <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
  11353. <param name="tasks">The array of tasks from which to continue.</param>
  11354. <param name="continuationFunction">The function delegate to execute when all tasks in the
  11355. <paramref name="tasks"/> array have completed.</param>
  11356. <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  11357. that will be assigned to the new continuation task.</param>
  11358. <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
  11359. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11360. <paramref name="tasks"/> array is null.</exception>
  11361. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11362. <paramref name="continuationFunction"/> argument is null.</exception>
  11363. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  11364. <paramref name="tasks"/> array contains a null value.</exception>
  11365. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  11366. <paramref name="tasks"/> array is empty.</exception>
  11367. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
  11368. of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
  11369. <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  11370. has already been disposed.
  11371. </exception>
  11372. </member>
  11373. <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``2(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0}[],``1},System.Threading.Tasks.TaskContinuationOptions)">
  11374. <summary>
  11375. Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
  11376. that will be started upon the completion of a set of provided Tasks.
  11377. </summary>
  11378. <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
  11379. delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
  11380. <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
  11381. <param name="tasks">The array of tasks from which to continue.</param>
  11382. <param name="continuationFunction">The function delegate to execute when all tasks in the
  11383. <paramref name="tasks"/> array have completed.</param>
  11384. <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
  11385. TaskContinuationOptions</see> value that controls the behavior of
  11386. the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
  11387. <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
  11388. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11389. <paramref name="tasks"/> array is null.</exception>
  11390. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11391. <paramref name="continuationFunction"/> argument is null.</exception>
  11392. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  11393. <paramref name="tasks"/> array contains a null value.</exception>
  11394. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  11395. <paramref name="tasks"/> array is empty.</exception>
  11396. <exception cref="T:System.ArgumentOutOfRangeException">The exception that is thrown when the
  11397. <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
  11398. value.</exception>
  11399. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
  11400. of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
  11401. <remarks>
  11402. The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
  11403. which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
  11404. will be executed, are illegal with ContinueWhenAll.
  11405. </remarks>
  11406. </member>
  11407. <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAll``2(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0}[],``1},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
  11408. <summary>
  11409. Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
  11410. that will be started upon the completion of a set of provided Tasks.
  11411. </summary>
  11412. <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
  11413. delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
  11414. <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
  11415. <param name="tasks">The array of tasks from which to continue.</param>
  11416. <param name="continuationFunction">The function delegate to execute when all tasks in the
  11417. <paramref name="tasks"/> array have completed.</param>
  11418. <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  11419. that will be assigned to the new continuation task.</param>
  11420. <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
  11421. TaskContinuationOptions</see> value that controls the behavior of
  11422. the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
  11423. <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
  11424. that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
  11425. <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
  11426. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11427. <paramref name="tasks"/> array is null.</exception>
  11428. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11429. <paramref name="continuationFunction"/> argument is null.</exception>
  11430. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11431. <paramref name="scheduler"/> argument is null.</exception>
  11432. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  11433. <paramref name="tasks"/> array contains a null value.</exception>
  11434. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  11435. <paramref name="tasks"/> array is empty.</exception>
  11436. <exception cref="T:System.ArgumentOutOfRangeException">The exception that is thrown when the
  11437. <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
  11438. value.</exception>
  11439. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
  11440. of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
  11441. <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  11442. has already been disposed.
  11443. </exception>
  11444. <remarks>
  11445. The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
  11446. which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
  11447. will be executed, are illegal with ContinueWhenAll.
  11448. </remarks>
  11449. </member>
  11450. <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny(System.Threading.Tasks.Task[],System.Action{System.Threading.Tasks.Task})">
  11451. <summary>
  11452. Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
  11453. that will be started upon the completion of any Task in the provided set.
  11454. </summary>
  11455. <param name="tasks">The array of tasks from which to continue when one task completes.</param>
  11456. <param name="continuationAction">The action delegate to execute when one task in the <paramref
  11457. name="tasks"/> array completes.</param>
  11458. <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
  11459. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11460. <paramref name="tasks"/> array is null.</exception>
  11461. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11462. <paramref name="continuationAction"/> argument is null.</exception>
  11463. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  11464. <paramref name="tasks"/> array contains a null value.</exception>
  11465. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  11466. <paramref name="tasks"/> array is empty.</exception>
  11467. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
  11468. of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
  11469. </member>
  11470. <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny(System.Threading.Tasks.Task[],System.Action{System.Threading.Tasks.Task},System.Threading.CancellationToken)">
  11471. <summary>
  11472. Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
  11473. that will be started upon the completion of any Task in the provided set.
  11474. </summary>
  11475. <param name="tasks">The array of tasks from which to continue when one task completes.</param>
  11476. <param name="continuationAction">The action delegate to execute when one task in the <paramref name="tasks"/> array completes.</param>
  11477. <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  11478. that will be assigned to the new continuation task.</param>
  11479. <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
  11480. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11481. <paramref name="tasks"/> array is null.</exception>
  11482. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11483. <paramref name="continuationAction"/> argument is null.</exception>
  11484. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  11485. <paramref name="tasks"/> array contains a null value.</exception>
  11486. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  11487. <paramref name="tasks"/> array is empty.</exception>
  11488. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
  11489. of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
  11490. <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  11491. has already been disposed.
  11492. </exception>
  11493. </member>
  11494. <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny(System.Threading.Tasks.Task[],System.Action{System.Threading.Tasks.Task},System.Threading.Tasks.TaskContinuationOptions)">
  11495. <summary>
  11496. Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
  11497. that will be started upon the completion of any Task in the provided set.
  11498. </summary>
  11499. <param name="tasks">The array of tasks from which to continue when one task completes.</param>
  11500. <param name="continuationAction">The action delegate to execute when one task in the <paramref name="tasks"/> array completes.</param>
  11501. <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
  11502. TaskContinuationOptions</see> value that controls the behavior of
  11503. the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
  11504. <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
  11505. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11506. <paramref name="tasks"/> array is null.</exception>
  11507. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11508. <paramref name="continuationAction"/> argument is null.</exception>
  11509. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  11510. <paramref name="tasks"/> array contains a null value.</exception>
  11511. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  11512. <paramref name="tasks"/> array is empty.</exception>
  11513. <exception cref="T:System.ArgumentOutOfRangeException">The exception that is thrown when the
  11514. <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
  11515. value.</exception>
  11516. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
  11517. of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
  11518. <remarks>
  11519. The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
  11520. which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
  11521. will be executed, are illegal with ContinueWhenAny.
  11522. </remarks>
  11523. </member>
  11524. <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny(System.Threading.Tasks.Task[],System.Action{System.Threading.Tasks.Task},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
  11525. <summary>
  11526. Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
  11527. that will be started upon the completion of any Task in the provided set.
  11528. </summary>
  11529. <param name="tasks">The array of tasks from which to continue when one task completes.</param>
  11530. <param name="continuationAction">The action delegate to execute when one task in the <paramref name="tasks"/> array completes.</param>
  11531. <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  11532. that will be assigned to the new continuation task.</param>
  11533. <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
  11534. TaskContinuationOptions</see> value that controls the behavior of
  11535. the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
  11536. <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
  11537. that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
  11538. <returns>The new continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</returns>
  11539. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11540. <paramref name="tasks"/> array is null.</exception>
  11541. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11542. <paramref name="continuationAction"/> argument is null.</exception>
  11543. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11544. <paramref name="scheduler"/> argument is null.</exception>
  11545. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  11546. <paramref name="tasks"/> array contains a null value.</exception>
  11547. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  11548. <paramref name="tasks"/> array is empty.</exception>
  11549. <exception cref="T:System.ArgumentOutOfRangeException">The exception that is thrown when the
  11550. <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
  11551. value.</exception>
  11552. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
  11553. of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
  11554. <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  11555. has already been disposed.
  11556. </exception>
  11557. <remarks>
  11558. The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
  11559. which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
  11560. will be executed, are illegal with ContinueWhenAny.
  11561. </remarks>
  11562. </member>
  11563. <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``1(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task,``0})">
  11564. <summary>
  11565. Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
  11566. that will be started upon the completion of any Task in the provided set.
  11567. </summary>
  11568. <typeparam name="TResult">The type of the result that is returned by the <paramref
  11569. name="continuationFunction"/>
  11570. delegate and associated with the created <see
  11571. cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
  11572. <param name="tasks">The array of tasks from which to continue when one task completes.</param>
  11573. <param name="continuationFunction">The function delegate to execute when one task in the
  11574. <paramref name="tasks"/> array completes.</param>
  11575. <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
  11576. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11577. <paramref name="tasks"/> array is null.</exception>
  11578. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11579. <paramref name="continuationFunction"/> argument is null.</exception>
  11580. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  11581. <paramref name="tasks"/> array contains a null value.</exception>
  11582. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  11583. <paramref name="tasks"/> array is empty.</exception>
  11584. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
  11585. of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
  11586. </member>
  11587. <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``1(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task,``0},System.Threading.CancellationToken)">
  11588. <summary>
  11589. Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
  11590. that will be started upon the completion of any Task in the provided set.
  11591. </summary>
  11592. <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
  11593. delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
  11594. <param name="tasks">The array of tasks from which to continue when one task completes.</param>
  11595. <param name="continuationFunction">The function delegate to execute when one task in the
  11596. <paramref name="tasks"/> array completes.</param>
  11597. <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  11598. that will be assigned to the new continuation task.</param>
  11599. <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
  11600. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11601. <paramref name="tasks"/> array is null.</exception>
  11602. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11603. <paramref name="continuationFunction"/> argument is null.</exception>
  11604. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  11605. <paramref name="tasks"/> array contains a null value.</exception>
  11606. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  11607. <paramref name="tasks"/> array is empty.</exception>
  11608. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
  11609. of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
  11610. <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  11611. has already been disposed.
  11612. </exception>
  11613. </member>
  11614. <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``1(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task,``0},System.Threading.Tasks.TaskContinuationOptions)">
  11615. <summary>
  11616. Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
  11617. that will be started upon the completion of any Task in the provided set.
  11618. </summary>
  11619. <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
  11620. delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
  11621. <param name="tasks">The array of tasks from which to continue when one task completes.</param>
  11622. <param name="continuationFunction">The function delegate to execute when one task in the
  11623. <paramref name="tasks"/> array completes.</param>
  11624. <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
  11625. TaskContinuationOptions</see> value that controls the behavior of
  11626. the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
  11627. <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
  11628. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11629. <paramref name="tasks"/> array is null.</exception>
  11630. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11631. <paramref name="continuationFunction"/> argument is null.</exception>
  11632. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  11633. <paramref name="tasks"/> array contains a null value.</exception>
  11634. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  11635. <paramref name="tasks"/> array is empty.</exception>
  11636. <exception cref="T:System.ArgumentOutOfRangeException">The exception that is thrown when the
  11637. <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
  11638. value.</exception>
  11639. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
  11640. of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
  11641. <remarks>
  11642. The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
  11643. which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
  11644. will be executed, are illegal with ContinueWhenAny.
  11645. </remarks>
  11646. </member>
  11647. <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``1(System.Threading.Tasks.Task[],System.Func{System.Threading.Tasks.Task,``0},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
  11648. <summary>
  11649. Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
  11650. that will be started upon the completion of any Task in the provided set.
  11651. </summary>
  11652. <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
  11653. delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
  11654. <param name="tasks">The array of tasks from which to continue when one task completes.</param>
  11655. <param name="continuationFunction">The function delegate to execute when one task in the
  11656. <paramref name="tasks"/> array completes.</param>
  11657. <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  11658. that will be assigned to the new continuation task.</param>
  11659. <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
  11660. TaskContinuationOptions</see> value that controls the behavior of
  11661. the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
  11662. <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
  11663. that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
  11664. <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
  11665. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11666. <paramref name="tasks"/> array is null.</exception>
  11667. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11668. <paramref name="continuationFunction"/> argument is null.</exception>
  11669. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11670. <paramref name="scheduler"/> argument is null.</exception>
  11671. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  11672. <paramref name="tasks"/> array contains a null value.</exception>
  11673. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  11674. <paramref name="tasks"/> array is empty.</exception>
  11675. <exception cref="T:System.ArgumentOutOfRangeException">The exception that is thrown when the
  11676. <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
  11677. value.</exception>
  11678. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
  11679. of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
  11680. <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  11681. has already been disposed.
  11682. </exception>
  11683. <remarks>
  11684. The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
  11685. which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
  11686. will be executed, are illegal with ContinueWhenAny.
  11687. </remarks>
  11688. </member>
  11689. <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``2(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0},``1})">
  11690. <summary>
  11691. Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
  11692. that will be started upon the completion of any Task in the provided set.
  11693. </summary>
  11694. <typeparam name="TResult">The type of the result that is returned by the <paramref
  11695. name="continuationFunction"/>
  11696. delegate and associated with the created <see
  11697. cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
  11698. <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
  11699. <param name="tasks">The array of tasks from which to continue when one task completes.</param>
  11700. <param name="continuationFunction">The function delegate to execute when one task in the
  11701. <paramref name="tasks"/> array completes.</param>
  11702. <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
  11703. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11704. <paramref name="tasks"/> array is null.</exception>
  11705. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11706. <paramref name="continuationFunction"/> argument is null.</exception>
  11707. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  11708. <paramref name="tasks"/> array contains a null value.</exception>
  11709. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  11710. <paramref name="tasks"/> array is empty.</exception>
  11711. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
  11712. of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
  11713. </member>
  11714. <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``2(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0},``1},System.Threading.CancellationToken)">
  11715. <summary>
  11716. Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
  11717. that will be started upon the completion of any Task in the provided set.
  11718. </summary>
  11719. <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
  11720. delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
  11721. <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
  11722. <param name="tasks">The array of tasks from which to continue when one task completes.</param>
  11723. <param name="continuationFunction">The function delegate to execute when one task in the
  11724. <paramref name="tasks"/> array completes.</param>
  11725. <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  11726. that will be assigned to the new continuation task.</param>
  11727. <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
  11728. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11729. <paramref name="tasks"/> array is null.</exception>
  11730. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11731. <paramref name="continuationFunction"/> argument is null.</exception>
  11732. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  11733. <paramref name="tasks"/> array contains a null value.</exception>
  11734. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  11735. <paramref name="tasks"/> array is empty.</exception>
  11736. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
  11737. of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
  11738. <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  11739. has already been disposed.
  11740. </exception>
  11741. </member>
  11742. <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``2(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0},``1},System.Threading.Tasks.TaskContinuationOptions)">
  11743. <summary>
  11744. Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
  11745. that will be started upon the completion of any Task in the provided set.
  11746. </summary>
  11747. <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
  11748. delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
  11749. <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
  11750. <param name="tasks">The array of tasks from which to continue when one task completes.</param>
  11751. <param name="continuationFunction">The function delegate to execute when one task in the
  11752. <paramref name="tasks"/> array completes.</param>
  11753. <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
  11754. TaskContinuationOptions</see> value that controls the behavior of
  11755. the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
  11756. <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
  11757. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11758. <paramref name="tasks"/> array is null.</exception>
  11759. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11760. <paramref name="continuationFunction"/> argument is null.</exception>
  11761. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  11762. <paramref name="tasks"/> array contains a null value.</exception>
  11763. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  11764. <paramref name="tasks"/> array is empty.</exception>
  11765. <exception cref="T:System.ArgumentOutOfRangeException">The exception that is thrown when the
  11766. <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
  11767. value.</exception>
  11768. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
  11769. of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
  11770. <remarks>
  11771. The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
  11772. which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
  11773. will be executed, are illegal with ContinueWhenAny.
  11774. </remarks>
  11775. </member>
  11776. <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``2(System.Threading.Tasks.Task{``0}[],System.Func{System.Threading.Tasks.Task{``0},``1},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
  11777. <summary>
  11778. Creates a continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>
  11779. that will be started upon the completion of any Task in the provided set.
  11780. </summary>
  11781. <typeparam name="TResult">The type of the result that is returned by the <paramref name="continuationFunction"/>
  11782. delegate and associated with the created <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</typeparam>
  11783. <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
  11784. <param name="tasks">The array of tasks from which to continue when one task completes.</param>
  11785. <param name="continuationFunction">The function delegate to execute when one task in the
  11786. <paramref name="tasks"/> array completes.</param>
  11787. <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  11788. that will be assigned to the new continuation task.</param>
  11789. <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
  11790. TaskContinuationOptions</see> value that controls the behavior of
  11791. the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}">Task</see>.</param>
  11792. <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
  11793. that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
  11794. <returns>The new continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</returns>
  11795. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11796. <paramref name="tasks"/> array is null.</exception>
  11797. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11798. <paramref name="continuationFunction"/> argument is null.</exception>
  11799. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11800. <paramref name="scheduler"/> argument is null.</exception>
  11801. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  11802. <paramref name="tasks"/> array contains a null value.</exception>
  11803. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  11804. <paramref name="tasks"/> array is empty.</exception>
  11805. <exception cref="T:System.ArgumentOutOfRangeException">The exception that is thrown when the
  11806. <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
  11807. value.</exception>
  11808. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
  11809. of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
  11810. <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  11811. has already been disposed.
  11812. </exception>
  11813. <remarks>
  11814. The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
  11815. which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
  11816. will be executed, are illegal with ContinueWhenAny.
  11817. </remarks>
  11818. </member>
  11819. <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``1(System.Threading.Tasks.Task{``0}[],System.Action{System.Threading.Tasks.Task{``0}})">
  11820. <summary>
  11821. Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
  11822. that will be started upon the completion of any Task in the provided set.
  11823. </summary>
  11824. <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
  11825. <param name="tasks">The array of tasks from which to continue when one task completes.</param>
  11826. <param name="continuationAction">The action delegate to execute when one task in the
  11827. <paramref name="tasks"/> array completes.</param>
  11828. <returns>The new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
  11829. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11830. <paramref name="tasks"/> array is null.</exception>
  11831. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11832. <paramref name="continuationAction"/> argument is null.</exception>
  11833. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  11834. <paramref name="tasks"/> array contains a null value.</exception>
  11835. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  11836. <paramref name="tasks"/> array is empty.</exception>
  11837. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
  11838. of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
  11839. </member>
  11840. <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``1(System.Threading.Tasks.Task{``0}[],System.Action{System.Threading.Tasks.Task{``0}},System.Threading.CancellationToken)">
  11841. <summary>
  11842. Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
  11843. that will be started upon the completion of any Task in the provided set.
  11844. </summary>
  11845. <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
  11846. <param name="tasks">The array of tasks from which to continue when one task completes.</param>
  11847. <param name="continuationAction">The action delegate to execute when one task in the
  11848. <paramref name="tasks"/> array completes.</param>
  11849. <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  11850. that will be assigned to the new continuation task.</param>
  11851. <returns>The new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
  11852. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11853. <paramref name="tasks"/> array is null.</exception>
  11854. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11855. <paramref name="continuationAction"/> argument is null.</exception>
  11856. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  11857. <paramref name="tasks"/> array contains a null value.</exception>
  11858. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  11859. <paramref name="tasks"/> array is empty.</exception>
  11860. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
  11861. of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
  11862. <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  11863. has already been disposed.
  11864. </exception>
  11865. </member>
  11866. <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``1(System.Threading.Tasks.Task{``0}[],System.Action{System.Threading.Tasks.Task{``0}},System.Threading.Tasks.TaskContinuationOptions)">
  11867. <summary>
  11868. Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
  11869. that will be started upon the completion of any Task in the provided set.
  11870. </summary>
  11871. <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
  11872. <param name="tasks">The array of tasks from which to continue when one task completes.</param>
  11873. <param name="continuationAction">The action delegate to execute when one task in the
  11874. <paramref name="tasks"/> array completes.</param>
  11875. <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
  11876. TaskContinuationOptions</see> value that controls the behavior of
  11877. the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
  11878. <returns>The new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
  11879. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11880. <paramref name="tasks"/> array is null.</exception>
  11881. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11882. <paramref name="continuationAction"/> argument is null.</exception>
  11883. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  11884. <paramref name="tasks"/> array contains a null value.</exception>
  11885. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  11886. <paramref name="tasks"/> array is empty.</exception>
  11887. <exception cref="T:System.ArgumentOutOfRangeException">The exception that is thrown when the
  11888. <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
  11889. value.</exception>
  11890. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
  11891. of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
  11892. <remarks>
  11893. The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
  11894. which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
  11895. will be executed, are illegal with ContinueWhenAny.
  11896. </remarks>
  11897. </member>
  11898. <member name="M:System.Threading.Tasks.TaskFactory.ContinueWhenAny``1(System.Threading.Tasks.Task{``0}[],System.Action{System.Threading.Tasks.Task{``0}},System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler)">
  11899. <summary>
  11900. Creates a continuation <see cref="T:System.Threading.Tasks.Task">Task</see>
  11901. that will be started upon the completion of any Task in the provided set.
  11902. </summary>
  11903. <typeparam name="TAntecedentResult">The type of the result of the antecedent <paramref name="tasks"/>.</typeparam>
  11904. <param name="tasks">The array of tasks from which to continue when one task completes.</param>
  11905. <param name="continuationAction">The action delegate to execute when one task in the
  11906. <paramref name="tasks"/> array completes.</param>
  11907. <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  11908. that will be assigned to the new continuation task.</param>
  11909. <param name="continuationOptions">The <see cref="T:System.Threading.Tasks.TaskContinuationOptions">
  11910. TaskContinuationOptions</see> value that controls the behavior of
  11911. the created continuation <see cref="T:System.Threading.Tasks.Task">Task</see>.</param>
  11912. <param name="scheduler">The <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
  11913. that is used to schedule the created continuation <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
  11914. <returns>The new continuation <see cref="T:System.Threading.Tasks.Task"/>.</returns>
  11915. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11916. <paramref name="tasks"/> array is null.</exception>
  11917. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11918. <paramref name="continuationAction"/> argument is null.</exception>
  11919. <exception cref="T:System.ArgumentNullException">The exception that is thrown when the
  11920. <paramref name="scheduler"/> argument is null.</exception>
  11921. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  11922. <paramref name="tasks"/> array contains a null value.</exception>
  11923. <exception cref="T:System.ArgumentException">The exception that is thrown when the
  11924. <paramref name="tasks"/> array is empty.</exception>
  11925. <exception cref="T:System.ArgumentOutOfRangeException">The exception that is thrown when the
  11926. <paramref name="continuationOptions"/> argument specifies an invalid TaskContinuationOptions
  11927. value.</exception>
  11928. <exception cref="T:System.ObjectDisposedException">The exception that is thrown when one
  11929. of the elements in the <paramref name="tasks"/> array has been disposed.</exception>
  11930. <exception cref="T:System.ObjectDisposedException">The provided <see cref="T:System.Threading.CancellationToken">CancellationToken</see>
  11931. has already been disposed.
  11932. </exception>
  11933. <remarks>
  11934. The NotOn* and OnlyOn* <see cref="T:System.Threading.Tasks.TaskContinuationOptions">TaskContinuationOptions</see>,
  11935. which constrain for which <see cref="T:System.Threading.Tasks.TaskStatus">TaskStatus</see> states a continuation
  11936. will be executed, are illegal with ContinueWhenAny.
  11937. </remarks>
  11938. </member>
  11939. <member name="P:System.Threading.Tasks.TaskFactory.CancellationToken">
  11940. <summary>
  11941. Gets the default <see cref="T:System.Threading.CancellationToken">CancellationToken</see> of this
  11942. TaskFactory.
  11943. </summary>
  11944. <remarks>
  11945. This property returns the default <see cref="P:System.Threading.Tasks.TaskFactory.CancellationToken"/> that will be assigned to all
  11946. tasks created by this factory unless another CancellationToken value is explicitly specified
  11947. during the call to the factory methods.
  11948. </remarks>
  11949. </member>
  11950. <member name="P:System.Threading.Tasks.TaskFactory.Scheduler">
  11951. <summary>
  11952. Gets the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> of this
  11953. TaskFactory.
  11954. </summary>
  11955. <remarks>
  11956. This property returns the default scheduler for this factory. It will be used to schedule all
  11957. tasks unless another scheduler is explicitly specified during calls to this factory's methods.
  11958. If null, <see cref="P:System.Threading.Tasks.TaskScheduler.Current">TaskScheduler.Current</see>
  11959. will be used.
  11960. </remarks>
  11961. </member>
  11962. <member name="P:System.Threading.Tasks.TaskFactory.CreationOptions">
  11963. <summary>
  11964. Gets the <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskCreationOptions
  11965. </see> value of this TaskFactory.
  11966. </summary>
  11967. <remarks>
  11968. This property returns the default creation options for this factory. They will be used to create all
  11969. tasks unless other options are explicitly specified during calls to this factory's methods.
  11970. </remarks>
  11971. </member>
  11972. <member name="P:System.Threading.Tasks.TaskFactory.ContinuationOptions">
  11973. <summary>
  11974. Gets the <see cref="T:System.Threading.Tasks.TaskCreationOptions">TaskContinuationOptions
  11975. </see> value of this TaskFactory.
  11976. </summary>
  11977. <remarks>
  11978. This property returns the default continuation options for this factory. They will be used to create
  11979. all continuation tasks unless other options are explicitly specified during calls to this factory's methods.
  11980. </remarks>
  11981. </member>
  11982. <member name="T:System.Threading.Tasks.TaskCompletionSource`1">
  11983. <summary>
  11984. Represents the producer side of a <see cref="T:System.Threading.Tasks.Task{TResult}"/> unbound to a
  11985. delegate, providing access to the consumer side through the <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> property.
  11986. </summary>
  11987. <remarks>
  11988. <para>
  11989. It is often the case that a <see cref="T:System.Threading.Tasks.Task{TResult}"/> is desired to
  11990. represent another asynchronous operation.
  11991. <see cref="T:System.Threading.Tasks.TaskCompletionSource`1">TaskCompletionSource</see> is provided for this purpose. It enables
  11992. the creation of a task that can be handed out to consumers, and those consumers can use the members
  11993. of the task as they would any other. However, unlike most tasks, the state of a task created by a
  11994. TaskCompletionSource is controlled explicitly by the methods on TaskCompletionSource. This enables the
  11995. completion of the external asynchronous operation to be propagated to the underlying Task. The
  11996. separation also ensures that consumers are not able to transition the state without access to the
  11997. corresponding TaskCompletionSource.
  11998. </para>
  11999. <para>
  12000. All members of <see cref="T:System.Threading.Tasks.TaskCompletionSource`1"/> are thread-safe
  12001. and may be used from multiple threads concurrently.
  12002. </para>
  12003. </remarks>
  12004. <typeparam name="TResult">The type of the result value assocatied with this <see cref="T:System.Threading.Tasks.TaskCompletionSource`1"/>.</typeparam>
  12005. </member>
  12006. <member name="M:System.Threading.Tasks.TaskCompletionSource`1.#ctor">
  12007. <summary>
  12008. Creates a <see cref="T:System.Threading.Tasks.TaskCompletionSource`1"/>.
  12009. </summary>
  12010. </member>
  12011. <member name="M:System.Threading.Tasks.TaskCompletionSource`1.#ctor(System.Threading.Tasks.TaskCreationOptions)">
  12012. <summary>
  12013. Creates a <see cref="T:System.Threading.Tasks.TaskCompletionSource`1"/>
  12014. with the specified options.
  12015. </summary>
  12016. <remarks>
  12017. The <see cref="T:System.Threading.Tasks.Task{TResult}"/> created
  12018. by this instance and accessible through its <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> property
  12019. will be instantiated using the specified <paramref name="creationOptions"/>.
  12020. </remarks>
  12021. <param name="creationOptions">The options to use when creating the underlying
  12022. <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
  12023. <exception cref="T:System.ArgumentOutOfRangeException">
  12024. The <paramref name="creationOptions"/> represent options invalid for use
  12025. with a <see cref="T:System.Threading.Tasks.TaskCompletionSource`1"/>.
  12026. </exception>
  12027. </member>
  12028. <member name="M:System.Threading.Tasks.TaskCompletionSource`1.#ctor(System.Object)">
  12029. <summary>
  12030. Creates a <see cref="T:System.Threading.Tasks.TaskCompletionSource`1"/>
  12031. with the specified state.
  12032. </summary>
  12033. <param name="state">The state to use as the underlying
  12034. <see cref="T:System.Threading.Tasks.Task{TResult}"/>'s AsyncState.</param>
  12035. </member>
  12036. <member name="M:System.Threading.Tasks.TaskCompletionSource`1.#ctor(System.Object,System.Threading.Tasks.TaskCreationOptions)">
  12037. <summary>
  12038. Creates a <see cref="T:System.Threading.Tasks.TaskCompletionSource`1"/> with
  12039. the specified state and options.
  12040. </summary>
  12041. <param name="creationOptions">The options to use when creating the underlying
  12042. <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
  12043. <param name="state">The state to use as the underlying
  12044. <see cref="T:System.Threading.Tasks.Task{TResult}"/>'s AsyncState.</param>
  12045. <exception cref="T:System.ArgumentOutOfRangeException">
  12046. The <paramref name="creationOptions"/> represent options invalid for use
  12047. with a <see cref="T:System.Threading.Tasks.TaskCompletionSource`1"/>.
  12048. </exception>
  12049. </member>
  12050. <member name="M:System.Threading.Tasks.TaskCompletionSource`1.TrySetException(System.Exception)">
  12051. <summary>
  12052. Attempts to transition the underlying
  12053. <see cref="T:System.Threading.Tasks.Task{TResult}"/> into the
  12054. <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>
  12055. state.
  12056. </summary>
  12057. <param name="exception">The exception to bind to this <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
  12058. <returns>True if the operation was successful; otherwise, false.</returns>
  12059. <remarks>This operation will return false if the
  12060. <see cref="T:System.Threading.Tasks.Task{TResult}"/> is already in one
  12061. of the three final states:
  12062. <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
  12063. <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
  12064. <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
  12065. </remarks>
  12066. <exception cref="T:System.ArgumentNullException">The <paramref name="exception"/> argument is null.</exception>
  12067. <exception cref="T:System.ObjectDisposedException">The <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> was disposed.</exception>
  12068. </member>
  12069. <member name="M:System.Threading.Tasks.TaskCompletionSource`1.TrySetException(System.Collections.Generic.IEnumerable{System.Exception})">
  12070. <summary>
  12071. Attempts to transition the underlying
  12072. <see cref="T:System.Threading.Tasks.Task{TResult}"/> into the
  12073. <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>
  12074. state.
  12075. </summary>
  12076. <param name="exceptions">The collection of exceptions to bind to this <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
  12077. <returns>True if the operation was successful; otherwise, false.</returns>
  12078. <remarks>This operation will return false if the
  12079. <see cref="T:System.Threading.Tasks.Task{TResult}"/> is already in one
  12080. of the three final states:
  12081. <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
  12082. <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
  12083. <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
  12084. </remarks>
  12085. <exception cref="T:System.ArgumentNullException">The <paramref name="exceptions"/> argument is null.</exception>
  12086. <exception cref="T:System.ArgumentException">There are one or more null elements in <paramref name="exceptions"/>.</exception>
  12087. <exception cref="T:System.ArgumentException">The <paramref name="exceptions"/> collection is empty.</exception>
  12088. <exception cref="T:System.ObjectDisposedException">The <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> was disposed.</exception>
  12089. </member>
  12090. <member name="M:System.Threading.Tasks.TaskCompletionSource`1.SetException(System.Exception)">
  12091. <summary>
  12092. Transitions the underlying
  12093. <see cref="T:System.Threading.Tasks.Task{TResult}"/> into the
  12094. <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>
  12095. state.
  12096. </summary>
  12097. <param name="exception">The exception to bind to this <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
  12098. <exception cref="T:System.ArgumentNullException">The <paramref name="exception"/> argument is null.</exception>
  12099. <exception cref="T:System.InvalidOperationException">
  12100. The underlying <see cref="T:System.Threading.Tasks.Task{TResult}"/> is already in one
  12101. of the three final states:
  12102. <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
  12103. <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
  12104. <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
  12105. </exception>
  12106. <exception cref="T:System.ObjectDisposedException">The <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> was disposed.</exception>
  12107. </member>
  12108. <member name="M:System.Threading.Tasks.TaskCompletionSource`1.SetException(System.Collections.Generic.IEnumerable{System.Exception})">
  12109. <summary>
  12110. Transitions the underlying
  12111. <see cref="T:System.Threading.Tasks.Task{TResult}"/> into the
  12112. <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>
  12113. state.
  12114. </summary>
  12115. <param name="exceptions">The collection of exceptions to bind to this <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
  12116. <exception cref="T:System.ArgumentNullException">The <paramref name="exceptions"/> argument is null.</exception>
  12117. <exception cref="T:System.ArgumentException">There are one or more null elements in <paramref name="exceptions"/>.</exception>
  12118. <exception cref="T:System.InvalidOperationException">
  12119. The underlying <see cref="T:System.Threading.Tasks.Task{TResult}"/> is already in one
  12120. of the three final states:
  12121. <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
  12122. <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
  12123. <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
  12124. </exception>
  12125. <exception cref="T:System.ObjectDisposedException">The <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> was disposed.</exception>
  12126. </member>
  12127. <member name="M:System.Threading.Tasks.TaskCompletionSource`1.TrySetResult(`0)">
  12128. <summary>
  12129. Attempts to transition the underlying
  12130. <see cref="T:System.Threading.Tasks.Task{TResult}"/> into the
  12131. <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>
  12132. state.
  12133. </summary>
  12134. <param name="result">The result value to bind to this <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
  12135. <returns>True if the operation was successful; otherwise, false.</returns>
  12136. <remarks>This operation will return false if the
  12137. <see cref="T:System.Threading.Tasks.Task{TResult}"/> is already in one
  12138. of the three final states:
  12139. <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
  12140. <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
  12141. <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
  12142. </remarks>
  12143. <exception cref="T:System.ObjectDisposedException">The <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> was disposed.</exception>
  12144. </member>
  12145. <member name="M:System.Threading.Tasks.TaskCompletionSource`1.SetResult(`0)">
  12146. <summary>
  12147. Transitions the underlying
  12148. <see cref="T:System.Threading.Tasks.Task{TResult}"/> into the
  12149. <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>
  12150. state.
  12151. </summary>
  12152. <param name="result">The result value to bind to this <see cref="T:System.Threading.Tasks.Task{TResult}"/>.</param>
  12153. <exception cref="T:System.InvalidOperationException">
  12154. The underlying <see cref="T:System.Threading.Tasks.Task{TResult}"/> is already in one
  12155. of the three final states:
  12156. <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
  12157. <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
  12158. <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
  12159. </exception>
  12160. <exception cref="T:System.ObjectDisposedException">The <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> was disposed.</exception>
  12161. </member>
  12162. <member name="M:System.Threading.Tasks.TaskCompletionSource`1.SetCanceled">
  12163. <summary>
  12164. Transitions the underlying
  12165. <see cref="T:System.Threading.Tasks.Task{TResult}"/> into the
  12166. <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>
  12167. state.
  12168. </summary>
  12169. <exception cref="T:System.InvalidOperationException">
  12170. The underlying <see cref="T:System.Threading.Tasks.Task{TResult}"/> is already in one
  12171. of the three final states:
  12172. <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
  12173. <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
  12174. <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
  12175. </exception>
  12176. <exception cref="T:System.ObjectDisposedException">The <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> was disposed.</exception>
  12177. </member>
  12178. <member name="M:System.Threading.Tasks.TaskCompletionSource`1.TrySetCanceled">
  12179. <summary>
  12180. Attempts to transition the underlying
  12181. <see cref="T:System.Threading.Tasks.Task{TResult}"/> into the
  12182. <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>
  12183. state.
  12184. </summary>
  12185. <returns>True if the operation was successful; otherwise, false.</returns>
  12186. <remarks>This operation will return false if the
  12187. <see cref="T:System.Threading.Tasks.Task{TResult}"/> is already in one
  12188. of the three final states:
  12189. <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
  12190. <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
  12191. <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
  12192. </remarks>
  12193. <exception cref="T:System.ObjectDisposedException">The <see cref="P:System.Threading.Tasks.TaskCompletionSource`1.Task"/> was disposed.</exception>
  12194. </member>
  12195. <member name="P:System.Threading.Tasks.TaskCompletionSource`1.Task">
  12196. <summary>
  12197. Gets the <see cref="T:System.Threading.Tasks.Task{TResult}"/> created
  12198. by this <see cref="T:System.Threading.Tasks.TaskCompletionSource`1"/>.
  12199. </summary>
  12200. <remarks>
  12201. This property enables a consumer access to the <see cref="T:System.Threading.Tasks.Task{TResult}"/> that is controlled by this instance.
  12202. The <see cref="M:System.Threading.Tasks.TaskCompletionSource`1.SetResult(`0)"/>, <see cref="M:System.Threading.Tasks.TaskCompletionSource`1.SetException(System.Exception)"/>,
  12203. <see cref="M:System.Threading.Tasks.TaskCompletionSource`1.SetException(System.Collections.Generic.IEnumerable{System.Exception})"/>, and <see cref="M:System.Threading.Tasks.TaskCompletionSource`1.SetCanceled"/>
  12204. methods (and their "Try" variants) on this instance all result in the relevant state
  12205. transitions on this underlying Task.
  12206. </remarks>
  12207. </member>
  12208. <member name="T:System.Threading.Tasks.TaskScheduler">
  12209. <summary>
  12210. Represents an abstract scheduler for tasks.
  12211. </summary>
  12212. <remarks>
  12213. <para>
  12214. <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> acts as the extension point for all
  12215. pluggable scheduling logic. This includes mechanisms such as how to schedule a task for execution, and
  12216. how scheduled tasks should be exposed to debuggers.
  12217. </para>
  12218. <para>
  12219. All members of the abstract <see cref="T:System.Threading.Tasks.TaskScheduler"/> type are thread-safe
  12220. and may be used from multiple threads concurrently.
  12221. </para>
  12222. </remarks>
  12223. </member>
  12224. <member name="M:System.Threading.Tasks.TaskScheduler.QueueTask(System.Threading.Tasks.Task)">
  12225. <summary>
  12226. Queues a <see cref="T:System.Threading.Tasks.Task">Task</see> to the scheduler.
  12227. </summary>
  12228. <remarks>
  12229. <para>
  12230. A class derived from <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
  12231. implements this method to accept tasks being scheduled on the scheduler.
  12232. A typical implementation would store the task in an internal data structure, which would
  12233. be serviced by threads that would execute those tasks at some time in the future.
  12234. </para>
  12235. <para>
  12236. This method is only meant to be called by the .NET Framework and
  12237. should not be called directly by the derived class. This is necessary
  12238. for maintaining the consistency of the system.
  12239. </para>
  12240. </remarks>
  12241. <param name="task">The <see cref="T:System.Threading.Tasks.Task">Task</see> to be queued.</param>
  12242. <exception cref="T:System.ArgumentNullException">The <paramref name="task"/> argument is null.</exception>
  12243. </member>
  12244. <member name="M:System.Threading.Tasks.TaskScheduler.TryExecuteTaskInline(System.Threading.Tasks.Task,System.Boolean)">
  12245. <summary>
  12246. Determines whether the provided <see cref="T:System.Threading.Tasks.Task">Task</see>
  12247. can be executed synchronously in this call, and if it can, executes it.
  12248. </summary>
  12249. <remarks>
  12250. <para>
  12251. A class derived from <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> implements this function to
  12252. support inline execution of a task on a thread that initiates a wait on that task object. Inline
  12253. execution is optional, and the request may be rejected by returning false. However, better
  12254. scalability typically results the more tasks that can be inlined, and in fact a scheduler that
  12255. inlines too little may be prone to deadlocks. A proper implementation should ensure that a
  12256. request executing under the policies guaranteed by the scheduler can successfully inline. For
  12257. example, if a scheduler uses a dedicated thread to execute tasks, any inlining requests from that
  12258. thread should succeed.
  12259. </para>
  12260. <para>
  12261. If a scheduler decides to perform the inline execution, it should do so by calling to the base
  12262. TaskScheduler's
  12263. <see cref="M:System.Threading.Tasks.TaskScheduler.TryExecuteTask(System.Threading.Tasks.Task)">TryExecuteTask</see> method with the provided task object, propagating
  12264. the return value. It may also be appropriate for the scheduler to remove an inlined task from its
  12265. internal data structures if it decides to honor the inlining request. Note, however, that under
  12266. some circumstances a scheduler may be asked to inline a task that was not previously provided to
  12267. it with the <see cref="M:System.Threading.Tasks.TaskScheduler.QueueTask(System.Threading.Tasks.Task)"/> method.
  12268. </para>
  12269. <para>
  12270. The derived scheduler is responsible for making sure that the calling thread is suitable for
  12271. executing the given task as far as its own scheduling and execution policies are concerned.
  12272. </para>
  12273. </remarks>
  12274. <param name="task">The <see cref="T:System.Threading.Tasks.Task">Task</see> to be
  12275. executed.</param>
  12276. <param name="taskWasPreviouslyQueued">A Boolean denoting whether or not task has previously been
  12277. queued. If this parameter is True, then the task may have been previously queued (scheduled); if
  12278. False, then the task is known not to have been queued, and this call is being made in order to
  12279. execute the task inline without queueing it.</param>
  12280. <returns>A Boolean value indicating whether the task was executed inline.</returns>
  12281. <exception cref="T:System.ArgumentNullException">The <paramref name="task"/> argument is
  12282. null.</exception>
  12283. <exception cref="T:System.InvalidOperationException">The <paramref name="task"/> was already
  12284. executed.</exception>
  12285. </member>
  12286. <member name="M:System.Threading.Tasks.TaskScheduler.GetScheduledTasks">
  12287. <summary>
  12288. Generates an enumerable of <see cref="T:System.Threading.Tasks.Task">Task</see> instances
  12289. currently queued to the scheduler waiting to be executed.
  12290. </summary>
  12291. <remarks>
  12292. <para>
  12293. A class derived from <see cref="T:System.Threading.Tasks.TaskScheduler"/> implements this method in order to support
  12294. integration with debuggers. This method will only be invoked by the .NET Framework when the
  12295. debugger requests access to the data. The enumerable returned will be traversed by debugging
  12296. utilities to access the tasks currently queued to this scheduler, enabling the debugger to
  12297. provide a representation of this information in the user interface.
  12298. </para>
  12299. <para>
  12300. It is important to note that, when this method is called, all other threads in the process will
  12301. be frozen. Therefore, it's important to avoid synchronization with other threads that may lead to
  12302. blocking. If synchronization is necessary, the method should prefer to throw a <see cref="T:System.NotSupportedException"/>
  12303. than to block, which could cause a debugger to experience delays. Additionally, this method and
  12304. the enumerable returned must not modify any globally visible state.
  12305. </para>
  12306. <para>
  12307. The returned enumerable should never be null. If there are currently no queued tasks, an empty
  12308. enumerable should be returned instead.
  12309. </para>
  12310. <para>
  12311. For developers implementing a custom debugger, this method shouldn't be called directly, but
  12312. rather this functionality should be accessed through the internal wrapper method
  12313. GetScheduledTasksForDebugger:
  12314. <c>internal Task[] GetScheduledTasksForDebugger()</c>. This method returns an array of tasks,
  12315. rather than an enumerable. In order to retrieve a list of active schedulers, a debugger may use
  12316. another internal method: <c>internal static TaskScheduler[] GetTaskSchedulersForDebugger()</c>.
  12317. This static method returns an array of all active TaskScheduler instances.
  12318. GetScheduledTasksForDebugger then may be used on each of these scheduler instances to retrieve
  12319. the list of scheduled tasks for each.
  12320. </para>
  12321. </remarks>
  12322. <returns>An enumerable that allows traversal of tasks currently queued to this scheduler.
  12323. </returns>
  12324. <exception cref="T:System.NotSupportedException">
  12325. This scheduler is unable to generate a list of queued tasks at this time.
  12326. </exception>
  12327. </member>
  12328. <member name="M:System.Threading.Tasks.TaskScheduler.GetThreadStatics">
  12329. <summary>
  12330. Retrieves some thread static state that can be cached and passed to multiple
  12331. TryRunInline calls, avoiding superflous TLS fetches.
  12332. </summary>
  12333. <returns>A bag of TLS state (or null if none exists).</returns>
  12334. </member>
  12335. <member name="M:System.Threading.Tasks.TaskScheduler.TryRunInline(System.Threading.Tasks.Task,System.Boolean,System.Object)">
  12336. <summary>
  12337. Attempts to execute the target task synchronously.
  12338. </summary>
  12339. <param name="task">The task to run.</param>
  12340. <param name="taskWasPreviouslyQueued">True if the task may have been previously queued,
  12341. false if the task was absolutely not previously queued.</param>
  12342. <param name="threadStatics">The state retrieved from GetThreadStatics</param>
  12343. <returns>True if it ran, false otherwise.</returns>
  12344. </member>
  12345. <member name="M:System.Threading.Tasks.TaskScheduler.TryDequeue(System.Threading.Tasks.Task)">
  12346. <summary>
  12347. Attempts to dequeue a <see cref="T:System.Threading.Tasks.Task">Task</see> that was previously queued to
  12348. this scheduler.
  12349. </summary>
  12350. <param name="task">The <see cref="T:System.Threading.Tasks.Task">Task</see> to be dequeued.</param>
  12351. <returns>A Boolean denoting whether the <paramref name="task"/> argument was successfully dequeued.</returns>
  12352. <exception cref="T:System.ArgumentNullException">The <paramref name="task"/> argument is null.</exception>
  12353. </member>
  12354. <member name="M:System.Threading.Tasks.TaskScheduler.NotifyWorkItemProgress">
  12355. <summary>
  12356. Notifies the scheduler that a work item has made progress.
  12357. </summary>
  12358. </member>
  12359. <member name="M:System.Threading.Tasks.TaskScheduler.#ctor">
  12360. <summary>
  12361. Initializes the <see cref="T:System.Threading.Tasks.TaskScheduler"/>.
  12362. </summary>
  12363. </member>
  12364. <member name="M:System.Threading.Tasks.TaskScheduler.Finalize">
  12365. <summary>
  12366. Frees all resources associated with this scheduler.
  12367. </summary>
  12368. </member>
  12369. <member name="M:System.Threading.Tasks.TaskScheduler.FromCurrentSynchronizationContext">
  12370. <summary>
  12371. Creates a <see cref="T:System.Threading.Tasks.TaskScheduler"/>
  12372. associated with the current <see cref="T:System.Threading.SynchronizationContext"/>.
  12373. </summary>
  12374. <remarks>
  12375. All <see cref="T:System.Threading.Tasks.Task">Task</see> instances queued to
  12376. the returned scheduler will be executed through a call to the
  12377. <see cref="M:System.Threading.SynchronizationContext.Post(System.Threading.SendOrPostCallback,System.Object)">Post</see> method
  12378. on that context.
  12379. </remarks>
  12380. <returns>
  12381. A <see cref="T:System.Threading.Tasks.TaskScheduler"/> associated with
  12382. the current <see cref="T:System.Threading.SynchronizationContext">SynchronizationContext</see>, as
  12383. determined by <see cref="P:System.Threading.SynchronizationContext.Current">SynchronizationContext.Current</see>.
  12384. </returns>
  12385. <exception cref="T:System.InvalidOperationException">
  12386. The current SynchronizationContext may not be used as a TaskScheduler.
  12387. </exception>
  12388. </member>
  12389. <member name="M:System.Threading.Tasks.TaskScheduler.TryExecuteTask(System.Threading.Tasks.Task)">
  12390. <summary>
  12391. Attempts to execute the provided <see cref="T:System.Threading.Tasks.Task">Task</see>
  12392. on this scheduler.
  12393. </summary>
  12394. <remarks>
  12395. <para>
  12396. Scheduler implementations are provided with <see cref="T:System.Threading.Tasks.Task">Task</see>
  12397. instances to be executed through either the <see cref="M:System.Threading.Tasks.TaskScheduler.QueueTask(System.Threading.Tasks.Task)"/> method or the
  12398. <see cref="M:System.Threading.Tasks.TaskScheduler.TryExecuteTaskInline(System.Threading.Tasks.Task,System.Boolean)"/> method. When the scheduler deems it appropriate to run the
  12399. provided task, <see cref="M:System.Threading.Tasks.TaskScheduler.TryExecuteTask(System.Threading.Tasks.Task)"/> should be used to do so. TryExecuteTask handles all
  12400. aspects of executing a task, including action invocation, exception handling, state management,
  12401. and lifecycle control.
  12402. </para>
  12403. <para>
  12404. <see cref="M:System.Threading.Tasks.TaskScheduler.TryExecuteTask(System.Threading.Tasks.Task)"/> must only be used for tasks provided to this scheduler by the .NET
  12405. Framework infrastructure. It should not be used to execute arbitrary tasks obtained through
  12406. custom mechanisms.
  12407. </para>
  12408. </remarks>
  12409. <param name="task">
  12410. A <see cref="T:System.Threading.Tasks.Task">Task</see> object to be executed.</param>
  12411. <exception cref="T:System.InvalidOperationException">
  12412. The <paramref name="task"/> is not associated with this scheduler.
  12413. </exception>
  12414. <returns>A Boolean that is true if <paramref name="task"/> was successfully executed, false if it
  12415. was not. A common reason for execution failure is that the task had previously been executed or
  12416. is in the process of being executed by another thread.</returns>
  12417. </member>
  12418. <member name="M:System.Threading.Tasks.TaskScheduler.GetScheduledTasksForDebugger">
  12419. <summary>
  12420. Provides an array of all queued <see cref="T:System.Threading.Tasks.Task">Task</see> instances
  12421. for the debugger.
  12422. </summary>
  12423. <remarks>
  12424. The returned array is populated through a call to <see cref="M:System.Threading.Tasks.TaskScheduler.GetScheduledTasks"/>.
  12425. Note that this function is only meant to be invoked by a debugger remotely.
  12426. It should not be called by any other codepaths.
  12427. </remarks>
  12428. <returns>An array of <see cref="T:System.Threading.Tasks.Task">Task</see> instances.</returns>
  12429. <exception cref="T:System.NotSupportedException">
  12430. This scheduler is unable to generate a list of queued tasks at this time.
  12431. </exception>
  12432. </member>
  12433. <member name="M:System.Threading.Tasks.TaskScheduler.GetTaskSchedulersForDebugger">
  12434. <summary>
  12435. Provides an array of all active <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
  12436. instances for the debugger.
  12437. </summary>
  12438. <remarks>
  12439. This function is only meant to be invoked by a debugger remotely.
  12440. It should not be called by any other codepaths.
  12441. </remarks>
  12442. <returns>An array of <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> instances.</returns>
  12443. </member>
  12444. <member name="M:System.Threading.Tasks.TaskScheduler.RegisterTaskScheduler(System.Threading.Tasks.TaskScheduler)">
  12445. <summary>
  12446. Registers a new TaskScheduler instance in the global collection of schedulers.
  12447. </summary>
  12448. </member>
  12449. <member name="M:System.Threading.Tasks.TaskScheduler.UnregisterTaskScheduler(System.Threading.Tasks.TaskScheduler)">
  12450. <summary>
  12451. Removes a TaskScheduler instance from the global collection of schedulers.
  12452. </summary>
  12453. </member>
  12454. <member name="P:System.Threading.Tasks.TaskScheduler.MaximumConcurrencyLevel">
  12455. <summary>
  12456. Indicates the maximum concurrency level this
  12457. <see cref="T:System.Threading.Tasks.TaskScheduler"/> is able to support.
  12458. </summary>
  12459. </member>
  12460. <member name="P:System.Threading.Tasks.TaskScheduler.RequiresAtomicStartTransition">
  12461. <summary>
  12462. Indicates whether this is a custom scheduler, in which case the safe code paths will be taken upon task entry
  12463. using a CAS to transition from queued state to executing.
  12464. </summary>
  12465. </member>
  12466. <member name="P:System.Threading.Tasks.TaskScheduler.Default">
  12467. <summary>
  12468. Gets the default <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see> instance.
  12469. </summary>
  12470. </member>
  12471. <member name="P:System.Threading.Tasks.TaskScheduler.Current">
  12472. <summary>
  12473. Gets the <see cref="T:System.Threading.Tasks.TaskScheduler">TaskScheduler</see>
  12474. associated with the currently executing task.
  12475. </summary>
  12476. <remarks>
  12477. When not called from within a task, <see cref="P:System.Threading.Tasks.TaskScheduler.Current"/> will return the <see cref="P:System.Threading.Tasks.TaskScheduler.Default"/> scheduler.
  12478. </remarks>
  12479. </member>
  12480. <member name="P:System.Threading.Tasks.TaskScheduler.Id">
  12481. <summary>
  12482. Gets the unique ID for this <see cref="T:System.Threading.Tasks.TaskScheduler"/>.
  12483. </summary>
  12484. </member>
  12485. <member name="E:System.Threading.Tasks.TaskScheduler.UnobservedTaskException">
  12486. <summary>
  12487. Occurs when a faulted <see cref="T:System.Threading.Tasks.Task"/>'s unobserved exception is about to trigger exception escalation
  12488. policy, which, by default, would terminate the process.
  12489. </summary>
  12490. <remarks>
  12491. This AppDomain-wide event provides a mechanism to prevent exception
  12492. escalation policy (which, by default, terminates the process) from triggering.
  12493. Each handler is passed a <see cref="T:System.Threading.Tasks.UnobservedTaskExceptionEventArgs"/>
  12494. instance, which may be used to examine the exception and to mark it as observed.
  12495. </remarks>
  12496. </member>
  12497. <member name="T:System.Threading.Tasks.TaskScheduler.SystemThreadingTasks_TaskSchedulerDebugView">
  12498. <summary>
  12499. Nested class that provides debugger view for TaskScheduler
  12500. </summary>
  12501. </member>
  12502. <member name="T:System.Threading.Tasks.SynchronizationContextTaskScheduler">
  12503. <summary>
  12504. A TaskScheduler implementation that executes all tasks queued to it through a call to
  12505. <see cref="M:System.Threading.SynchronizationContext.Post(System.Threading.SendOrPostCallback,System.Object)"/> on the <see cref="T:System.Threading.SynchronizationContext"/>
  12506. that its associated with. The default constructor for this class binds to the current <see cref="T:System.Threading.SynchronizationContext"/>
  12507. </summary>
  12508. </member>
  12509. <member name="M:System.Threading.Tasks.SynchronizationContextTaskScheduler.#ctor">
  12510. <summary>
  12511. Constructs a SynchronizationContextTaskScheduler associated with <see cref="T:System.Threading.SynchronizationContext.Current"/>
  12512. </summary>
  12513. <exception cref="T:System.InvalidOperationException">This constructor expects <see cref="T:System.Threading.SynchronizationContext.Current"/> to be set.</exception>
  12514. </member>
  12515. <member name="M:System.Threading.Tasks.SynchronizationContextTaskScheduler.QueueTask(System.Threading.Tasks.Task)">
  12516. <summary>
  12517. Implemetation of <see cref="T:System.Threading.Tasks.TaskScheduler.QueueTask"/> for this scheduler class.
  12518. Simply posts the tasks to be executed on the associated <see cref="T:System.Threading.SynchronizationContext"/>.
  12519. </summary>
  12520. <param name="task"></param>
  12521. </member>
  12522. <member name="M:System.Threading.Tasks.SynchronizationContextTaskScheduler.TryExecuteTaskInline(System.Threading.Tasks.Task,System.Boolean)">
  12523. <summary>
  12524. Implementation of <see cref="T:System.Threading.Tasks.TaskScheduler.TryExecuteTaskInline"/> for this scheduler class.
  12525. The task will be executed inline only if the call happens within
  12526. the associated <see cref="T:System.Threading.SynchronizationContext"/>.
  12527. </summary>
  12528. <param name="task"></param>
  12529. <param name="taskWasPreviouslyQueued"></param>
  12530. </member>
  12531. <member name="P:System.Threading.Tasks.SynchronizationContextTaskScheduler.MaximumConcurrencyLevel">
  12532. <summary>
  12533. Implementes the <see cref="T:System.Threading.Tasks.TaskScheduler.MaximumConcurrencyLevel"/> property for
  12534. this scheduler class.
  12535. By default it returns 1, because a <see cref="T:System.Threading.SynchronizationContext"/> based
  12536. scheduler only supports execution on a single thread.
  12537. </summary>
  12538. </member>
  12539. <member name="T:System.Threading.Tasks.UnobservedTaskExceptionEventArgs">
  12540. <summary>
  12541. Provides data for the event that is raised when a faulted <see cref="T:System.Threading.Tasks.Task"/>'s
  12542. exception goes unobserved.
  12543. </summary>
  12544. <remarks>
  12545. The Exception property is used to examine the exception without marking it
  12546. as observed, whereas the <see cref="M:System.Threading.Tasks.UnobservedTaskExceptionEventArgs.SetObserved"/> method is used to mark the exception
  12547. as observed. Marking the exception as observed prevents it from triggering exception escalation policy
  12548. which, by default, terminates the process.
  12549. </remarks>
  12550. </member>
  12551. <member name="M:System.Threading.Tasks.UnobservedTaskExceptionEventArgs.#ctor(System.AggregateException)">
  12552. <summary>
  12553. Initializes a new instance of the <see cref="T:System.Threading.Tasks.UnobservedTaskExceptionEventArgs"/> class
  12554. with the unobserved exception.
  12555. </summary>
  12556. <param name="exception">The Exception that has gone unobserved.</param>
  12557. </member>
  12558. <member name="M:System.Threading.Tasks.UnobservedTaskExceptionEventArgs.SetObserved">
  12559. <summary>
  12560. Marks the <see cref="P:System.Threading.Tasks.UnobservedTaskExceptionEventArgs.Exception"/> as "observed," thus preventing it
  12561. from triggering exception escalation policy which, by default, terminates the process.
  12562. </summary>
  12563. </member>
  12564. <member name="P:System.Threading.Tasks.UnobservedTaskExceptionEventArgs.Observed">
  12565. <summary>
  12566. Gets whether this exception has been marked as "observed."
  12567. </summary>
  12568. </member>
  12569. <member name="P:System.Threading.Tasks.UnobservedTaskExceptionEventArgs.Exception">
  12570. <summary>
  12571. The Exception that went unobserved.
  12572. </summary>
  12573. </member>
  12574. <member name="T:System.Threading.Tasks.ThreadPoolTaskScheduler">
  12575. <summary>
  12576. An implementation of TaskScheduler that uses the ThreadPool scheduler
  12577. </summary>
  12578. </member>
  12579. <member name="M:System.Threading.Tasks.ThreadPoolTaskScheduler.#ctor">
  12580. <summary>
  12581. Constructs a new ThreadPool task scheduler object
  12582. </summary>
  12583. </member>
  12584. <member name="M:System.Threading.Tasks.ThreadPoolTaskScheduler.QueueTask(System.Threading.Tasks.Task)">
  12585. <summary>
  12586. Schedules a task to the ThreadPool.
  12587. </summary>
  12588. <param name="task">The task to schedule.</param>
  12589. </member>
  12590. <member name="M:System.Threading.Tasks.ThreadPoolTaskScheduler.TryExecuteTaskInline(System.Threading.Tasks.Task,System.Boolean)">
  12591. <summary>
  12592. This internal function will do this:
  12593. (1) If the task had previously been queued, attempt to pop it and return false if that fails.
  12594. (2) Propagate the return value from Task.ExecuteEntry() back to the caller.
  12595. IMPORTANT NOTE: TryExecuteTaskInline will NOT throw task exceptions itself. Any wait code path using this function needs
  12596. to account for exceptions that need to be propagated, and throw themselves accordingly.
  12597. </summary>
  12598. </member>
  12599. <member name="M:System.Threading.Tasks.ThreadPoolTaskScheduler.NotifyWorkItemProgress">
  12600. <summary>
  12601. Notifies the scheduler that work is progressing (no-op).
  12602. </summary>
  12603. </member>
  12604. <member name="P:System.Threading.Tasks.ThreadPoolTaskScheduler.RequiresAtomicStartTransition">
  12605. <summary>
  12606. This is the only scheduler that returns false for this property, indicating that the task entry codepath is unsafe (CAS free)
  12607. since we know that the underlying scheduler already takes care of atomic transitions from queued to non-queued.
  12608. </summary>
  12609. </member>
  12610. <member name="T:System.Threading.Tasks.TaskSchedulerException">
  12611. <summary>
  12612. Represents an exception used to communicate an invalid operation by a
  12613. <see cref="T:System.Threading.Tasks.TaskScheduler"/>.
  12614. </summary>
  12615. </member>
  12616. <member name="M:System.Threading.Tasks.TaskSchedulerException.#ctor">
  12617. <summary>
  12618. Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskSchedulerException"/> class.
  12619. </summary>
  12620. </member>
  12621. <member name="M:System.Threading.Tasks.TaskSchedulerException.#ctor(System.String)">
  12622. <summary>
  12623. Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskSchedulerException"/>
  12624. class with a specified error message.
  12625. </summary>
  12626. <param name="message">The error message that explains the reason for the exception.</param>
  12627. </member>
  12628. <member name="M:System.Threading.Tasks.TaskSchedulerException.#ctor(System.Exception)">
  12629. <summary>
  12630. Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskSchedulerException"/>
  12631. class using the default error message and a reference to the inner exception that is the cause of
  12632. this exception.
  12633. </summary>
  12634. <param name="innerException">The exception that is the cause of the current exception.</param>
  12635. </member>
  12636. <member name="M:System.Threading.Tasks.TaskSchedulerException.#ctor(System.String,System.Exception)">
  12637. <summary>
  12638. Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskSchedulerException"/>
  12639. class with a specified error message and a reference to the inner exception that is the cause of
  12640. this exception.
  12641. </summary>
  12642. <param name="message">The error message that explains the reason for the exception.</param>
  12643. <param name="innerException">The exception that is the cause of the current exception.</param>
  12644. </member>
  12645. <member name="M:System.Threading.Tasks.TaskSchedulerException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
  12646. <summary>
  12647. Initializes a new instance of the <see cref="T:System.Threading.Tasks.TaskSchedulerException"/>
  12648. class with serialized data.
  12649. </summary>
  12650. <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds
  12651. the serialized object data about the exception being thrown.</param>
  12652. <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that
  12653. contains contextual information about the source or destination. </param>
  12654. </member>
  12655. <member name="T:System.Threading.BarrierPostPhaseException">
  12656. <summary>
  12657. The exception that is thrown when the post-phase action of a <see cref="T:System.Threading.Barrier"/> fails.
  12658. </summary>
  12659. </member>
  12660. <member name="M:System.Threading.BarrierPostPhaseException.#ctor">
  12661. <summary>
  12662. Initializes a new instance of the <see cref="T:System.Threading.BarrierPostPhaseException"/> class.
  12663. </summary>
  12664. </member>
  12665. <member name="M:System.Threading.BarrierPostPhaseException.#ctor(System.Exception)">
  12666. <summary>
  12667. Initializes a new instance of the <see cref="T:System.Threading.BarrierPostPhaseException"/> class with the specified inner exception.
  12668. </summary>
  12669. <param name="innerException">The exception that is the cause of the current exception.</param>
  12670. </member>
  12671. <member name="M:System.Threading.BarrierPostPhaseException.#ctor(System.String)">
  12672. <summary>
  12673. Initializes a new instance of the <see cref="T:System.Threading.BarrierPostPhaseException"/> class with a specified error message.
  12674. </summary>
  12675. <param name="message">A string that describes the exception.</param>
  12676. </member>
  12677. <member name="M:System.Threading.BarrierPostPhaseException.#ctor(System.String,System.Exception)">
  12678. <summary>
  12679. Initializes a new instance of the <see cref="T:System.Threading.BarrierPostPhaseException"/> class with a specified error message and inner exception.
  12680. </summary>
  12681. <param name="message">A string that describes the exception.</param>
  12682. <param name="innerException">The exception that is the cause of the current exception.</param>
  12683. </member>
  12684. <member name="M:System.Threading.BarrierPostPhaseException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
  12685. <summary>
  12686. Initializes a new instance of the <see cref="T:System.Threading.BarrierPostPhaseException"/> class with serialized data.
  12687. </summary>
  12688. <param name="info">The object that holds the serialized object data.</param>
  12689. <param name="context">An object that describes the source or destination of the serialized data.</param>
  12690. </member>
  12691. <member name="T:System.Threading.Barrier">
  12692. <summary>
  12693. Enables multiple tasks to cooperatively work on an algorithm in parallel through multiple phases.
  12694. </summary>
  12695. <remarks>
  12696. <para>
  12697. A group of tasks cooperate by moving through a series of phases, where each in the group signals it
  12698. has arrived at the <see cref="T:System.Threading.Barrier"/> in a given phase and implicitly waits for all others to
  12699. arrive. The same <see cref="T:System.Threading.Barrier"/> can be used for multiple phases.
  12700. </para>
  12701. <para>
  12702. All public and protected members of <see cref="T:System.Threading.Barrier"/> are thread-safe and may be used
  12703. concurrently from multiple threads, with the exception of Dispose, which
  12704. must only be used when all other operations on the <see cref="T:System.Threading.Barrier"/> have
  12705. completed.
  12706. </para>
  12707. </remarks>
  12708. </member>
  12709. <member name="M:System.Threading.Barrier.#ctor(System.Int32)">
  12710. <summary>
  12711. Initializes a new instance of the <see cref="T:System.Threading.Barrier"/> class.
  12712. </summary>
  12713. <param name="participantCount">The number of participating threads.</param>
  12714. <exception cref="T:System.ArgumentOutOfRangeException"> <paramref name="participantCount"/> is less than 0
  12715. or greater than <see cref="T:System.Int32.MaxValue"/>.</exception>
  12716. </member>
  12717. <member name="M:System.Threading.Barrier.#ctor(System.Int32,System.Action{System.Threading.Barrier})">
  12718. <summary>
  12719. Initializes a new instance of the <see cref="T:System.Threading.Barrier"/> class.
  12720. </summary>
  12721. <param name="participantCount">The number of participating threads.</param>
  12722. <param name="postPhaseAction">The <see cref="T:System.Action`1"/> to be executed after each
  12723. phase.</param>
  12724. <exception cref="T:System.ArgumentOutOfRangeException"> <paramref name="participantCount"/> is less than 0
  12725. or greater than <see cref="T:System.Int32.MaxValue"/>.</exception>
  12726. <remarks>
  12727. The <paramref name="postPhaseAction"/> delegate will be executed after
  12728. all participants have arrived at the barrier in one phase. The participants
  12729. will not be released to the next phase until the postPhaseAction delegate
  12730. has completed execution.
  12731. </remarks>
  12732. </member>
  12733. <member name="M:System.Threading.Barrier.GetCurrentTotal(System.Int32,System.Int32@,System.Int32@,System.Boolean@)">
  12734. <summary>
  12735. Extract the three variables current, total and sense from a given big variable
  12736. </summary>
  12737. <param name="currentTotal">The integer variable that contains the other three variables</param>
  12738. <param name="current">The current cparticipant count</param>
  12739. <param name="total">The total participants count</param>
  12740. <param name="sense">The sense flag</param>
  12741. </member>
  12742. <member name="M:System.Threading.Barrier.SetCurrentTotal(System.Int32,System.Int32,System.Int32,System.Boolean)">
  12743. <summary>
  12744. Write the three variables current. total and the sense to the m_currentTotal
  12745. </summary>
  12746. <param name="currentTotal">The old current total to compare</param>
  12747. <param name="current">The current cparticipant count</param>
  12748. <param name="total">The total participants count</param>
  12749. <param name="sense">The sense flag</param>
  12750. <returns>True if the CAS succeeded, false otherwise</returns>
  12751. </member>
  12752. <member name="M:System.Threading.Barrier.AddParticipant">
  12753. <summary>
  12754. Notifies the <see cref="T:System.Threading.Barrier"/> that there will be an additional participant.
  12755. </summary>
  12756. <returns>The phase number of the barrier in which the new participants will first
  12757. participate.</returns>
  12758. <exception cref="T:System.InvalidOperationException">
  12759. Adding a participant would cause the barrier's participant count to
  12760. exceed <see cref="T:System.Int16.MaxValue"/>.
  12761. </exception>
  12762. <exception cref="T:System.InvalidOperationException">
  12763. The method was invoked from within a post-phase action.
  12764. </exception>
  12765. <exception cref="T:System.ObjectDisposedException">The current instance has already been
  12766. disposed.</exception>
  12767. </member>
  12768. <member name="M:System.Threading.Barrier.AddParticipants(System.Int32)">
  12769. <summary>
  12770. Notifies the <see cref="T:System.Threading.Barrier"/> that there will be additional participants.
  12771. </summary>
  12772. <param name="participantCount">The number of additional participants to add to the
  12773. barrier.</param>
  12774. <returns>The phase number of the barrier in which the new participants will first
  12775. participate.</returns>
  12776. <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="participantCount"/> is less than
  12777. 0.</exception>
  12778. <exception cref="T:System.ArgumentOutOfRangeException">Adding <paramref name="participantCount"/> participants would cause the
  12779. barrier's participant count to exceed <see cref="T:System.Int16.MaxValue"/>.</exception>
  12780. <exception cref="T:System.InvalidOperationException">
  12781. The method was invoked from within a post-phase action.
  12782. </exception>
  12783. <exception cref="T:System.ObjectDisposedException">The current instance has already been
  12784. disposed.</exception>
  12785. </member>
  12786. <member name="M:System.Threading.Barrier.RemoveParticipant">
  12787. <summary>
  12788. Notifies the <see cref="T:System.Threading.Barrier"/> that there will be one less participant.
  12789. </summary>
  12790. <exception cref="T:System.InvalidOperationException">The barrier already has 0
  12791. participants.</exception>
  12792. <exception cref="T:System.InvalidOperationException">
  12793. The method was invoked from within a post-phase action.
  12794. </exception>
  12795. <exception cref="T:System.ObjectDisposedException">The current instance has already been
  12796. disposed.</exception>
  12797. </member>
  12798. <member name="M:System.Threading.Barrier.RemoveParticipants(System.Int32)">
  12799. <summary>
  12800. Notifies the <see cref="T:System.Threading.Barrier"/> that there will be fewer participants.
  12801. </summary>
  12802. <param name="participantCount">The number of additional participants to remove from the barrier.</param>
  12803. <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="participantCount"/> is less than
  12804. 0.</exception>
  12805. <exception cref="T:System.InvalidOperationException">The barrier already has 0 participants.</exception>
  12806. <exception cref="T:System.InvalidOperationException">
  12807. The method was invoked from within a post-phase action.
  12808. </exception>
  12809. <exception cref="T:System.ObjectDisposedException">The current instance has already been
  12810. disposed.</exception>
  12811. </member>
  12812. <member name="M:System.Threading.Barrier.SignalAndWait">
  12813. <summary>
  12814. Signals that a participant has reached the <see cref="T:System.Threading.Barrier"/> and waits for all other
  12815. participants to reach the barrier as well.
  12816. </summary>
  12817. <exception cref="T:System.InvalidOperationException">
  12818. The method was invoked from within a post-phase action, the barrier currently has 0 participants,
  12819. or the barrier is being used by more threads than are registered as participants.
  12820. </exception>
  12821. <exception cref="T:System.ObjectDisposedException">The current instance has already been
  12822. disposed.</exception>
  12823. </member>
  12824. <member name="M:System.Threading.Barrier.SignalAndWait(System.Threading.CancellationToken)">
  12825. <summary>
  12826. Signals that a participant has reached the <see cref="T:System.Threading.Barrier"/> and waits for all other
  12827. participants to reach the barrier, while observing a <see cref="T:System.Threading.CancellationToken"/>.
  12828. </summary>
  12829. <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to
  12830. observe.</param>
  12831. <exception cref="T:System.InvalidOperationException">
  12832. The method was invoked from within a post-phase action, the barrier currently has 0 participants,
  12833. or the barrier is being used by more threads than are registered as participants.
  12834. </exception>
  12835. <exception cref="T:System.OperationCanceledException"><paramref name="cancellationToken"/> has been
  12836. canceled.</exception>
  12837. <exception cref="T:System.ObjectDisposedException">The current instance has already been
  12838. disposed.</exception>
  12839. </member>
  12840. <member name="M:System.Threading.Barrier.SignalAndWait(System.TimeSpan)">
  12841. <summary>
  12842. Signals that a participant has reached the <see cref="T:System.Threading.Barrier"/> and waits for all other
  12843. participants to reach the barrier as well, using a
  12844. <see cref="T:System.TimeSpan"/> to measure the time interval.
  12845. </summary>
  12846. <param name="timeout">A <see cref="T:System.TimeSpan"/> that represents the number of
  12847. milliseconds to wait, or a <see cref="T:System.TimeSpan"/> that represents -1 milliseconds to
  12848. wait indefinitely.</param>
  12849. <returns>true if all other participants reached the barrier; otherwise, false.</returns>
  12850. <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="timeout"/>is a negative number
  12851. other than -1 milliseconds, which represents an infinite time-out, or it is greater than
  12852. <see cref="T:System.Int32.MaxValue"/>.</exception>
  12853. <exception cref="T:System.InvalidOperationException">
  12854. The method was invoked from within a post-phase action, the barrier currently has 0 participants,
  12855. or the barrier is being used by more threads than are registered as participants.
  12856. </exception>
  12857. <exception cref="T:System.ObjectDisposedException">The current instance has already been
  12858. disposed.</exception>
  12859. </member>
  12860. <member name="M:System.Threading.Barrier.SignalAndWait(System.TimeSpan,System.Threading.CancellationToken)">
  12861. <summary>
  12862. Signals that a participant has reached the <see cref="T:System.Threading.Barrier"/> and waits for all other
  12863. participants to reach the barrier as well, using a
  12864. <see cref="T:System.TimeSpan"/> to measure the time interval, while observing a <see cref="T:System.Threading.CancellationToken"/>.
  12865. </summary>
  12866. <param name="timeout">A <see cref="T:System.TimeSpan"/> that represents the number of
  12867. milliseconds to wait, or a <see cref="T:System.TimeSpan"/> that represents -1 milliseconds to
  12868. wait indefinitely.</param>
  12869. <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to
  12870. observe.</param>
  12871. <returns>true if all other participants reached the barrier; otherwise, false.</returns>
  12872. <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="timeout"/>is a negative number
  12873. other than -1 milliseconds, which represents an infinite time-out.</exception>
  12874. <exception cref="T:System.InvalidOperationException">
  12875. The method was invoked from within a post-phase action, the barrier currently has 0 participants,
  12876. or the barrier is being used by more threads than are registered as participants.
  12877. </exception>
  12878. <exception cref="T:System.OperationCanceledException"><paramref name="cancellationToken"/> has been
  12879. canceled.</exception>
  12880. <exception cref="T:System.ObjectDisposedException">The current instance has already been
  12881. disposed.</exception>
  12882. </member>
  12883. <member name="M:System.Threading.Barrier.SignalAndWait(System.Int32)">
  12884. <summary>
  12885. Signals that a participant has reached the <see cref="T:System.Threading.Barrier"/> and waits for all other
  12886. participants to reach the barrier as well, using a
  12887. 32-bit signed integer to measure the time interval.
  12888. </summary>
  12889. <param name="millisecondsTimeout">The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/>(-1) to wait indefinitely.</param>
  12890. <returns>true if all other participants reached the barrier; otherwise, false.</returns>
  12891. <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="millisecondsTimeout"/> is a
  12892. negative number other than -1, which represents an infinite time-out.</exception>
  12893. <exception cref="T:System.InvalidOperationException">
  12894. The method was invoked from within a post-phase action, the barrier currently has 0 participants,
  12895. or the barrier is being used by more threads than are registered as participants.
  12896. </exception>
  12897. <exception cref="T:System.ObjectDisposedException">The current instance has already been
  12898. disposed.</exception>
  12899. </member>
  12900. <member name="M:System.Threading.Barrier.SignalAndWait(System.Int32,System.Threading.CancellationToken)">
  12901. <summary>
  12902. Signals that a participant has reached the barrier and waits for all other participants to reach
  12903. the barrier as well, using a
  12904. 32-bit signed integer to measure the time interval, while observing a <see cref="T:System.Threading.CancellationToken"/>.
  12905. </summary>
  12906. <param name="millisecondsTimeout">The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/>(-1) to wait indefinitely.</param>
  12907. <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to
  12908. observe.</param>
  12909. <returns>true if all other participants reached the barrier; otherwise, false.</returns>
  12910. <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="millisecondsTimeout"/> is a
  12911. negative number other than -1, which represents an infinite time-out.</exception>
  12912. <exception cref="T:System.InvalidOperationException">
  12913. The method was invoked from within a post-phase action, the barrier currently has 0 participants,
  12914. or the barrier is being used by more threads than are registered as participants.
  12915. </exception>
  12916. <exception cref="T:System.OperationCanceledException"><paramref name="cancellationToken"/> has been
  12917. canceled.</exception>
  12918. <exception cref="T:System.ObjectDisposedException">The current instance has already been
  12919. disposed.</exception>
  12920. </member>
  12921. <member name="M:System.Threading.Barrier.FinishPhase(System.Boolean)">
  12922. <summary>
  12923. Finish the phase by invoking the post phase action, and setting the event, this must be called by the
  12924. last arrival thread
  12925. </summary>
  12926. <param name="observedSense">The current phase sense</param>
  12927. </member>
  12928. <member name="M:System.Threading.Barrier.SetResetEvents(System.Boolean)">
  12929. <summary>
  12930. Sets the current phase event and reset the next phase event
  12931. </summary>
  12932. <param name="observedSense">The current phase sense</param>
  12933. </member>
  12934. <member name="M:System.Threading.Barrier.Dispose">
  12935. <summary>
  12936. Releases all resources used by the current instance of <see cref="T:System.Threading.Barrier"/>.
  12937. </summary>
  12938. <exception cref="T:System.InvalidOperationException">
  12939. The method was invoked from within a post-phase action.
  12940. </exception>
  12941. <remarks>
  12942. Unlike most of the members of <see cref="T:System.Threading.Barrier"/>, Dispose is not thread-safe and may not be
  12943. used concurrently with other members of this instance.
  12944. </remarks>
  12945. </member>
  12946. <member name="M:System.Threading.Barrier.Dispose(System.Boolean)">
  12947. <summary>
  12948. When overridden in a derived class, releases the unmanaged resources used by the
  12949. <see cref="T:System.Threading.Barrier"/>, and optionally releases the managed resources.
  12950. </summary>
  12951. <param name="disposing">true to release both managed and unmanaged resources; false to release
  12952. only unmanaged resources.</param>
  12953. <remarks>
  12954. Unlike most of the members of <see cref="T:System.Threading.Barrier"/>, Dispose is not thread-safe and may not be
  12955. used concurrently with other members of this instance.
  12956. </remarks>
  12957. </member>
  12958. <member name="M:System.Threading.Barrier.ThrowIfDisposed">
  12959. <summary>
  12960. Throw ObjectDisposedException if the barrier is disposed
  12961. </summary>
  12962. </member>
  12963. <member name="P:System.Threading.Barrier.ParticipantsRemaining">
  12964. <summary>
  12965. Gets the number of participants in the barrier that haven’t yet signaled
  12966. in the current phase.
  12967. </summary>
  12968. <remarks>
  12969. This could be 0 during a post-phase action delegate execution or if the
  12970. ParticipantCount is 0.
  12971. </remarks>
  12972. </member>
  12973. <member name="P:System.Threading.Barrier.ParticipantCount">
  12974. <summary>
  12975. Gets the total number of participants in the barrier.
  12976. </summary>
  12977. </member>
  12978. <member name="P:System.Threading.Barrier.CurrentPhaseNumber">
  12979. <summary>
  12980. Gets the number of the barrier's current phase.
  12981. </summary>
  12982. </member>
  12983. <member name="T:System.Collections.Concurrent.BlockingCollection`1">
  12984. <summary>
  12985. Provides blocking and bounding capabilities for thread-safe collections that
  12986. implement <see cref="T:System.Collections.Concurrent.IProducerConsumerCollection{T}"/>.
  12987. </summary>
  12988. <remarks>
  12989. <see cref="T:System.Collections.Concurrent.IProducerConsumerCollection{T}"/> represents a collection
  12990. that allows for thread-safe adding and removing of data.
  12991. <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> is used as a wrapper
  12992. for an <see cref="T:System.Collections.Concurrent.IProducerConsumerCollection{T}"/> instance, allowing
  12993. removal attempts from the collection to block until data is available to be removed. Similarly,
  12994. a <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> can be created to enforce
  12995. an upper-bound on the number of data elements allowed in the
  12996. <see cref="T:System.Collections.Concurrent.IProducerConsumerCollection{T}"/>; addition attempts to the
  12997. collection may then block until space is available to store the added items. In this manner,
  12998. <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> is similar to a traditional
  12999. blocking queue data structure, except that the underlying data storage mechanism is abstracted
  13000. away as an <see cref="T:System.Collections.Concurrent.IProducerConsumerCollection{T}"/>.
  13001. </remarks>
  13002. <typeparam name="T">Specifies the type of elements in the collection.</typeparam>
  13003. </member>
  13004. <member name="M:System.Collections.Concurrent.BlockingCollection`1.#ctor">
  13005. <summary>Initializes a new instance of the
  13006. <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/>
  13007. class without an upper-bound.
  13008. </summary>
  13009. <remarks>
  13010. The default underlying collection is a <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1">ConcurrentQueue&lt;T&gt;</see>.
  13011. </remarks>
  13012. </member>
  13013. <member name="M:System.Collections.Concurrent.BlockingCollection`1.#ctor(System.Int32)">
  13014. <summary>Initializes a new instance of the <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/>
  13015. class with the specified upper-bound.
  13016. </summary>
  13017. <param name="boundedCapacity">The bounded size of the collection.</param>
  13018. <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="boundedCapacity"/> is
  13019. not a positive value.</exception>
  13020. <remarks>
  13021. The default underlying collection is a <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1">ConcurrentQueue&lt;T&gt;</see>.
  13022. </remarks>
  13023. </member>
  13024. <member name="M:System.Collections.Concurrent.BlockingCollection`1.#ctor(System.Collections.Concurrent.IProducerConsumerCollection{`0},System.Int32)">
  13025. <summary>Initializes a new instance of the <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/>
  13026. class with the specified upper-bound and using the provided
  13027. <see cref="T:System.Collections.Concurrent.IProducerConsumerCollection{T}"/> as its underlying data store.</summary>
  13028. <param name="collection">The collection to use as the underlying data store.</param>
  13029. <param name="boundedCapacity">The bounded size of the collection.</param>
  13030. <exception cref="T:System.ArgumentNullException">The <paramref name="collection"/> argument is
  13031. null.</exception>
  13032. <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="boundedCapacity"/> is not a positive value.</exception>
  13033. <exception cref="T:System.ArgumentException">The supplied <paramref name="collection"/> contains more values
  13034. than is permitted by <paramref name="boundedCapacity"/>.</exception>
  13035. </member>
  13036. <member name="M:System.Collections.Concurrent.BlockingCollection`1.#ctor(System.Collections.Concurrent.IProducerConsumerCollection{`0})">
  13037. <summary>Initializes a new instance of the <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/>
  13038. class without an upper-bound and using the provided
  13039. <see cref="T:System.Collections.Concurrent.IProducerConsumerCollection{T}"/> as its underlying data store.</summary>
  13040. <param name="collection">The collection to use as the underlying data store.</param>
  13041. <exception cref="T:System.ArgumentNullException">The <paramref name="collection"/> argument is
  13042. null.</exception>
  13043. </member>
  13044. <member name="M:System.Collections.Concurrent.BlockingCollection`1.Initialize(System.Collections.Concurrent.IProducerConsumerCollection{`0},System.Int32,System.Int32)">
  13045. <summary>Initializes the BlockingCollection instance.</summary>
  13046. <param name="collection">The collection to use as the underlying data store.</param>
  13047. <param name="boundedCapacity">The bounded size of the collection.</param>
  13048. <param name="collectionCount">The number of items currently in the underlying collection.</param>
  13049. </member>
  13050. <member name="M:System.Collections.Concurrent.BlockingCollection`1.Add(`0)">
  13051. <summary>
  13052. Adds the item to the <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/>.
  13053. </summary>
  13054. <param name="item">The item to be added to the collection. The value can be a null reference.</param>
  13055. <exception cref="T:System.InvalidOperationException">The <see
  13056. cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> has been marked
  13057. as complete with regards to additions.</exception>
  13058. <exception cref="T:System.ObjectDisposedException">The <see
  13059. cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> has been disposed.</exception>
  13060. <exception cref="T:System.InvalidOperationException">The underlying collection didn't accept the item.</exception>
  13061. <remarks>
  13062. If a bounded capacity was specified when this instance of
  13063. <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> was initialized,
  13064. a call to Add may block until space is available to store the provided item.
  13065. </remarks>
  13066. </member>
  13067. <member name="M:System.Collections.Concurrent.BlockingCollection`1.Add(`0,System.Threading.CancellationToken)">
  13068. <summary>
  13069. Adds the item to the <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/>.
  13070. A <see cref="T:System.OperationCanceledException"/> is thrown if the <see cref="T:System.Threading.CancellationToken"/> is
  13071. canceled.
  13072. </summary>
  13073. <param name="item">The item to be added to the collection. The value can be a null reference.</param>
  13074. <param name="cancellationToken">A cancellation token to observe.</param>
  13075. <exception cref="T:System.OperationCanceledException">If the <see cref="T:System.Threading.CancellationToken"/> is canceled.</exception>
  13076. <exception cref="T:System.InvalidOperationException">The <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> has been marked
  13077. as complete with regards to additions.</exception>
  13078. <exception cref="T:System.ObjectDisposedException">The <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> has been disposed.</exception>
  13079. <exception cref="T:System.InvalidOperationException">The underlying collection didn't accept the item.</exception>
  13080. <remarks>
  13081. If a bounded capacity was specified when this instance of
  13082. <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> was initialized,
  13083. a call to <see cref="M:System.Collections.Concurrent.BlockingCollection`1.Add(`0,System.Threading.CancellationToken)"/> may block until space is available to store the provided item.
  13084. </remarks>
  13085. </member>
  13086. <member name="M:System.Collections.Concurrent.BlockingCollection`1.TryAdd(`0)">
  13087. <summary>
  13088. Attempts to add the specified item to the <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/>.
  13089. </summary>
  13090. <param name="item">The item to be added to the collection.</param>
  13091. <returns>true if the <paramref name="item"/> could be added; otherwise, false.</returns>
  13092. <exception cref="T:System.InvalidOperationException">The <see
  13093. cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> has been marked
  13094. as complete with regards to additions.</exception>
  13095. <exception cref="T:System.ObjectDisposedException">The <see
  13096. cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> has been disposed.</exception>
  13097. <exception cref="T:System.InvalidOperationException">The underlying collection didn't accept the item.</exception>
  13098. </member>
  13099. <member name="M:System.Collections.Concurrent.BlockingCollection`1.TryAdd(`0,System.TimeSpan)">
  13100. <summary>
  13101. Attempts to add the specified item to the <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/>.
  13102. </summary>
  13103. <param name="item">The item to be added to the collection.</param>
  13104. <param name="timeout">A <see cref="T:System.TimeSpan"/> that represents the number of milliseconds
  13105. to wait, or a <see cref="T:System.TimeSpan"/> that represents -1 milliseconds to wait indefinitely.
  13106. </param>
  13107. <returns>true if the <paramref name="item"/> could be added to the collection within
  13108. the alloted time; otherwise, false.</returns>
  13109. <exception cref="T:System.InvalidOperationException">The <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> has been marked
  13110. as complete with regards to additions.</exception>
  13111. <exception cref="T:System.ObjectDisposedException">The <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> has been disposed.</exception>
  13112. <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="timeout"/> is a negative number
  13113. other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater than
  13114. <see cref="F:System.Int32.MaxValue"/>.</exception>
  13115. <exception cref="T:System.InvalidOperationException">The underlying collection didn't accept the item.</exception>
  13116. </member>
  13117. <member name="M:System.Collections.Concurrent.BlockingCollection`1.TryAdd(`0,System.Int32)">
  13118. <summary>
  13119. Attempts to add the specified item to the <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/>.
  13120. </summary>
  13121. <param name="item">The item to be added to the collection.</param>
  13122. <param name="millisecondsTimeout">The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to wait indefinitely.</param>
  13123. <returns>true if the <paramref name="item"/> could be added to the collection within
  13124. the alloted time; otherwise, false.</returns>
  13125. <exception cref="T:System.InvalidOperationException">The <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> has been marked
  13126. as complete with regards to additions.</exception>
  13127. <exception cref="T:System.ObjectDisposedException">The <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> has been disposed.</exception>
  13128. <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="millisecondsTimeout"/> is a
  13129. negative number other than -1, which represents an infinite time-out.</exception>
  13130. <exception cref="T:System.InvalidOperationException">The underlying collection didn't accept the item.</exception>
  13131. </member>
  13132. <member name="M:System.Collections.Concurrent.BlockingCollection`1.TryAdd(`0,System.Int32,System.Threading.CancellationToken)">
  13133. <summary>
  13134. Attempts to add the specified item to the <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/>.
  13135. A <see cref="T:System.OperationCanceledException"/> is thrown if the <see cref="T:System.Threading.CancellationToken"/> is
  13136. canceled.
  13137. </summary>
  13138. <param name="item">The item to be added to the collection.</param>
  13139. <param name="millisecondsTimeout">The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to wait indefinitely.</param>
  13140. <param name="cancellationToken">A cancellation token to observe.</param>
  13141. <returns>true if the <paramref name="item"/> could be added to the collection within
  13142. the alloted time; otherwise, false.</returns>
  13143. <exception cref="T:System.OperationCanceledException">If the <see cref="T:System.Threading.CancellationToken"/> is canceled.</exception>
  13144. <exception cref="T:System.InvalidOperationException">The <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> has been marked
  13145. as complete with regards to additions.</exception>
  13146. <exception cref="T:System.ObjectDisposedException">The <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> has been disposed.</exception>
  13147. <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="millisecondsTimeout"/> is a
  13148. negative number other than -1, which represents an infinite time-out.</exception>
  13149. <exception cref="T:System.InvalidOperationException">The underlying collection didn't accept the item.</exception>
  13150. </member>
  13151. <member name="M:System.Collections.Concurrent.BlockingCollection`1.TryAddWithNoTimeValidation(`0,System.Int32,System.Threading.CancellationToken)">
  13152. <summary>Adds an item into the underlying data store using its IProducerConsumerCollection&lt;T&gt;.Add
  13153. method. If a bounded capacity was specified and the collection was full,
  13154. this method will wait for, at most, the timeout period trying to add the item.
  13155. If the timeout period was exhaused before successfully adding the item this method will
  13156. return false.</summary>
  13157. <param name="item">The item to be added to the collection.</param>
  13158. <param name="millisecondsTimeout">The number of milliseconds to wait for the collection to accept the item,
  13159. or Timeout.Infinite to wait indefinitely.</param>
  13160. <param name="cancellationToken">A cancellation token to observe.</param>
  13161. <returns>False if the collection remained full till the timeout period was exhausted.True otherwise.</returns>
  13162. <exception cref="T:System.OperationCanceledException">If the <see cref="T:System.Threading.CancellationToken"/> is canceled.</exception>
  13163. <exception cref="T:System.InvalidOperationException">the collection has already been marked
  13164. as complete with regards to additions.</exception>
  13165. <exception cref="T:System.ObjectDisposedException">If the collection has been disposed.</exception>
  13166. <exception cref="T:System.InvalidOperationException">The underlying collection didn't accept the item.</exception>
  13167. </member>
  13168. <member name="M:System.Collections.Concurrent.BlockingCollection`1.Take">
  13169. <summary>Takes an item from the <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/>.</summary>
  13170. <returns>The item removed from the collection.</returns>
  13171. <exception cref="T:System.OperationCanceledException">The <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> is empty and has been marked
  13172. as complete with regards to additions.</exception>
  13173. <exception cref="T:System.ObjectDisposedException">The <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> has been disposed.</exception>
  13174. <exception cref="T:System.InvalidOperationException">The underlying collection was modified
  13175. outside of this <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> instance.</exception>
  13176. <remarks>A call to <see cref="M:System.Collections.Concurrent.BlockingCollection`1.Take"/> may block until an item is available to be removed.</remarks>
  13177. </member>
  13178. <member name="M:System.Collections.Concurrent.BlockingCollection`1.Take(System.Threading.CancellationToken)">
  13179. <summary>Takes an item from the <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/>.</summary>
  13180. <returns>The item removed from the collection.</returns>
  13181. <exception cref="T:System.OperationCanceledException">If the <see cref="T:System.Threading.CancellationToken"/> is
  13182. canceled or the <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> is empty and has been marked
  13183. as complete with regards to additions.</exception>
  13184. <exception cref="T:System.ObjectDisposedException">The <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> has been disposed.</exception>
  13185. <exception cref="T:System.InvalidOperationException">The underlying collection was modified
  13186. outside of this <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> instance.</exception>
  13187. <remarks>A call to <see cref="M:System.Collections.Concurrent.BlockingCollection`1.Take(System.Threading.CancellationToken)"/> may block until an item is available to be removed.</remarks>
  13188. </member>
  13189. <member name="M:System.Collections.Concurrent.BlockingCollection`1.TryTake(`0@)">
  13190. <summary>
  13191. Attempts to remove an item from the <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/>.
  13192. </summary>
  13193. <param name="item">The item removed from the collection.</param>
  13194. <returns>true if an item could be removed; otherwise, false.</returns>
  13195. <exception cref="T:System.ObjectDisposedException">The <see
  13196. cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> has been disposed.</exception>
  13197. <exception cref="T:System.InvalidOperationException">The underlying collection was modified
  13198. outside of this <see
  13199. cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> instance.</exception>
  13200. </member>
  13201. <member name="M:System.Collections.Concurrent.BlockingCollection`1.TryTake(`0@,System.TimeSpan)">
  13202. <summary>
  13203. Attempts to remove an item from the <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/>.
  13204. </summary>
  13205. <param name="item">The item removed from the collection.</param>
  13206. <param name="timeout">A <see cref="T:System.TimeSpan"/> that represents the number of milliseconds
  13207. to wait, or a <see cref="T:System.TimeSpan"/> that represents -1 milliseconds to wait indefinitely.
  13208. </param>
  13209. <returns>true if an item could be removed from the collection within
  13210. the alloted time; otherwise, false.</returns>
  13211. <exception cref="T:System.ObjectDisposedException">The <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> has been disposed.</exception>
  13212. <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="timeout"/> is a negative number
  13213. other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater than
  13214. <see cref="F:System.Int32.MaxValue"/>.</exception>
  13215. <exception cref="T:System.InvalidOperationException">The underlying collection was modified
  13216. outside of this <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> instance.</exception>
  13217. </member>
  13218. <member name="M:System.Collections.Concurrent.BlockingCollection`1.TryTake(`0@,System.Int32)">
  13219. <summary>
  13220. Attempts to remove an item from the <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/>.
  13221. </summary>
  13222. <param name="item">The item removed from the collection.</param>
  13223. <param name="millisecondsTimeout">The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to wait indefinitely.</param>
  13224. <returns>true if an item could be removed from the collection within
  13225. the alloted time; otherwise, false.</returns>
  13226. <exception cref="T:System.ObjectDisposedException">The <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> has been disposed.</exception>
  13227. <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="millisecondsTimeout"/> is a
  13228. negative number other than -1, which represents an infinite time-out.</exception>
  13229. <exception cref="T:System.InvalidOperationException">The underlying collection was modified
  13230. outside of this <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> instance.</exception>
  13231. </member>
  13232. <member name="M:System.Collections.Concurrent.BlockingCollection`1.TryTake(`0@,System.Int32,System.Threading.CancellationToken)">
  13233. <summary>
  13234. Attempts to remove an item from the <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/>.
  13235. A <see cref="T:System.OperationCanceledException"/> is thrown if the <see cref="T:System.Threading.CancellationToken"/> is
  13236. canceled.
  13237. </summary>
  13238. <param name="item">The item removed from the collection.</param>
  13239. <param name="millisecondsTimeout">The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to wait indefinitely.</param>
  13240. <param name="cancellationToken">A cancellation token to observe.</param>
  13241. <returns>true if an item could be removed from the collection within
  13242. the alloted time; otherwise, false.</returns>
  13243. <exception cref="T:System.OperationCanceledException">If the <see cref="T:System.Threading.CancellationToken"/> is canceled.</exception>
  13244. <exception cref="T:System.ObjectDisposedException">The <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> has been disposed.</exception>
  13245. <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="millisecondsTimeout"/> is a
  13246. negative number other than -1, which represents an infinite time-out.</exception>
  13247. <exception cref="T:System.InvalidOperationException">The underlying collection was modified
  13248. outside of this <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> instance.</exception>
  13249. </member>
  13250. <member name="M:System.Collections.Concurrent.BlockingCollection`1.TryTakeWithNoTimeValidation(`0@,System.Int32,System.Threading.CancellationToken,System.Threading.CancellationTokenSource)">
  13251. <summary>Takes an item from the underlying data store using its IProducerConsumerCollection&lt;T&gt;.Take
  13252. method. If the collection was empty, this method will wait for, at most, the timeout period (if AddingIsCompleted is false)
  13253. trying to remove an item. If the timeout period was exhaused before successfully removing an item
  13254. this method will return false.
  13255. A <see cref="T:System.OperationCanceledException"/> is thrown if the <see cref="T:System.Threading.CancellationToken"/> is
  13256. canceled.
  13257. </summary>
  13258. <param name="item">The item removed from the collection.</param>
  13259. <param name="millisecondsTimeout">The number of milliseconds to wait for the collection to have an item available
  13260. for removal, or Timeout.Infinite to wait indefinitely.</param>
  13261. <param name="cancellationToken">A cancellation token to observe.</param>
  13262. <param name="combinedTokenSource">A combined cancellation token if created, it is only created by GetConsumingEnumerable to avoid creating the linked token
  13263. multiple times.</param>
  13264. <returns>False if the collection remained empty till the timeout period was exhausted. True otherwise.</returns>
  13265. <exception cref="T:System.OperationCanceledException">If the <see cref="T:System.Threading.CancellationToken"/> is canceled.</exception>
  13266. <exception cref="T:System.ObjectDisposedException">If the collection has been disposed.</exception>
  13267. </member>
  13268. <member name="M:System.Collections.Concurrent.BlockingCollection`1.AddToAny(System.Collections.Concurrent.BlockingCollection{`0}[],`0)">
  13269. <summary>
  13270. Adds the specified item to any one of the specified
  13271. <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> instances.
  13272. </summary>
  13273. <param name="collections">The array of collections.</param>
  13274. <param name="item">The item to be added to one of the collections.</param>
  13275. <returns>The index of the collection in the <paramref name="collections"/> array to which the item was added.</returns>
  13276. <exception cref="T:System.ArgumentNullException">The <paramref name="collections"/> argument is
  13277. null.</exception>
  13278. <exception cref="T:System.ArgumentException">The <paramref name="collections"/> argument is
  13279. a 0-length array or contains a null element, or at least one of collections has been
  13280. marked as complete for adding.</exception>
  13281. <exception cref="T:System.ObjectDisposedException">At least one of the <see
  13282. cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> instances has been disposed.</exception>
  13283. <exception cref="T:System.InvalidOperationException">At least one underlying collection didn't accept the item.</exception>
  13284. <exception cref="T:System.ArgumentOutOfRangeException">The count of <paramref name="collections"/> is greater than the maximum size of
  13285. 62 for STA and 63 for MTA.</exception>
  13286. <remarks>
  13287. If a bounded capacity was specified when all of the
  13288. <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> instances were initialized,
  13289. a call to AddToAny may block until space is available in one of the collections
  13290. to store the provided item.
  13291. </remarks>
  13292. </member>
  13293. <member name="M:System.Collections.Concurrent.BlockingCollection`1.AddToAny(System.Collections.Concurrent.BlockingCollection{`0}[],`0,System.Threading.CancellationToken)">
  13294. <summary>
  13295. Adds the specified item to any one of the specified
  13296. <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> instances.
  13297. A <see cref="T:System.OperationCanceledException"/> is thrown if the <see cref="T:System.Threading.CancellationToken"/> is
  13298. canceled.
  13299. </summary>
  13300. <param name="collections">The array of collections.</param>
  13301. <param name="item">The item to be added to one of the collections.</param>
  13302. <param name="cancellationToken">A cancellation token to observe.</param>
  13303. <returns>The index of the collection in the <paramref name="collections"/> array to which the item was added.</returns>
  13304. <exception cref="T:System.OperationCanceledException">If the <see cref="T:System.Threading.CancellationToken"/> is canceled.</exception>
  13305. <exception cref="T:System.ArgumentNullException">The <paramref name="collections"/> argument is
  13306. null.</exception>
  13307. <exception cref="T:System.ArgumentException">The <paramref name="collections"/> argument is
  13308. a 0-length array or contains a null element, or at least one of collections has been
  13309. marked as complete for adding.</exception>
  13310. <exception cref="T:System.ObjectDisposedException">At least one of the <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> instances has been disposed.</exception>
  13311. <exception cref="T:System.InvalidOperationException">At least one underlying collection didn't accept the item.</exception>
  13312. <exception cref="T:System.ArgumentOutOfRangeException">The count of <paramref name="collections"/> is greater than the maximum size of
  13313. 62 for STA and 63 for MTA.</exception>
  13314. <remarks>
  13315. If a bounded capacity was specified when all of the
  13316. <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> instances were initialized,
  13317. a call to AddToAny may block until space is available in one of the collections
  13318. to store the provided item.
  13319. </remarks>
  13320. </member>
  13321. <member name="M:System.Collections.Concurrent.BlockingCollection`1.TryAddToAny(System.Collections.Concurrent.BlockingCollection{`0}[],`0)">
  13322. <summary>
  13323. Attempts to add the specified item to any one of the specified
  13324. <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> instances.
  13325. </summary>
  13326. <param name="collections">The array of collections.</param>
  13327. <param name="item">The item to be added to one of the collections.</param>
  13328. <returns>The index of the collection in the <paramref name="collections"/>
  13329. array to which the item was added, or -1 if the item could not be added.</returns>
  13330. <exception cref="T:System.ArgumentNullException">The <paramref name="collections"/> argument is
  13331. null.</exception>
  13332. <exception cref="T:System.ArgumentException">The <paramref name="collections"/> argument is
  13333. a 0-length array or contains a null element, or at least one of collections has been
  13334. marked as complete for adding.</exception>
  13335. <exception cref="T:System.ObjectDisposedException">At least one of the <see
  13336. cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> instances has been disposed.</exception>
  13337. <exception cref="T:System.InvalidOperationException">At least one underlying collection didn't accept the item.</exception>
  13338. <exception cref="T:System.ArgumentOutOfRangeException">The count of <paramref name="collections"/> is greater than the maximum size of
  13339. 62 for STA and 63 for MTA.</exception>
  13340. </member>
  13341. <member name="M:System.Collections.Concurrent.BlockingCollection`1.TryAddToAny(System.Collections.Concurrent.BlockingCollection{`0}[],`0,System.TimeSpan)">
  13342. <summary>
  13343. Attempts to add the specified item to any one of the specified
  13344. <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> instances.
  13345. </summary>
  13346. <param name="collections">The array of collections.</param>
  13347. <param name="item">The item to be added to one of the collections.</param>
  13348. <param name="timeout">A <see cref="T:System.TimeSpan"/> that represents the number of milliseconds
  13349. to wait, or a <see cref="T:System.TimeSpan"/> that represents -1 milliseconds to wait indefinitely.
  13350. </param>
  13351. <returns>The index of the collection in the <paramref name="collections"/>
  13352. array to which the item was added, or -1 if the item could not be added.</returns>
  13353. <exception cref="T:System.ArgumentNullException">The <paramref name="collections"/> argument is
  13354. null.</exception>
  13355. <exception cref="T:System.ArgumentException">The <paramref name="collections"/> argument is
  13356. a 0-length array or contains a null element, or at least one of collections has been
  13357. marked as complete for adding.</exception>
  13358. <exception cref="T:System.ObjectDisposedException">At least one of the <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> instances has been disposed.</exception>
  13359. <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="timeout"/> is a negative number
  13360. other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater than
  13361. <see cref="F:System.Int32.MaxValue"/>.</exception>
  13362. <exception cref="T:System.InvalidOperationException">At least one underlying collection didn't accept the item.</exception>
  13363. <exception cref="T:System.ArgumentOutOfRangeException">The count of <paramref name="collections"/> is greater than the maximum size of
  13364. 62 for STA and 63 for MTA.</exception>
  13365. </member>
  13366. <member name="M:System.Collections.Concurrent.BlockingCollection`1.TryAddToAny(System.Collections.Concurrent.BlockingCollection{`0}[],`0,System.Int32)">
  13367. <summary>
  13368. Attempts to add the specified item to any one of the specified
  13369. <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> instances.
  13370. </summary>
  13371. <param name="collections">The array of collections.</param>
  13372. <param name="item">The item to be added to one of the collections.</param>
  13373. <param name="millisecondsTimeout">The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to wait indefinitely.</param> /// <returns>The index of the collection in the <paramref name="collections"/>
  13374. array to which the item was added, or -1 if the item could not be added.</returns>
  13375. <exception cref="T:System.ArgumentNullException">The <paramref name="collections"/> argument is
  13376. null.</exception>
  13377. <exception cref="T:System.ArgumentException">The <paramref name="collections"/> argument is
  13378. a 0-length array or contains a null element, or at least one of collections has been
  13379. marked as complete for adding.</exception>
  13380. <exception cref="T:System.ObjectDisposedException">At least one of the <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> instances has been disposed.</exception>
  13381. <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="millisecondsTimeout"/> is a
  13382. negative number other than -1, which represents an infinite time-out.</exception>
  13383. <exception cref="T:System.InvalidOperationException">At least one underlying collection didn't accept the item.</exception>
  13384. <exception cref="T:System.ArgumentOutOfRangeException">The count of <paramref name="collections"/> is greater than the maximum size of
  13385. 62 for STA and 63 for MTA.</exception>
  13386. </member>
  13387. <member name="M:System.Collections.Concurrent.BlockingCollection`1.TryAddToAny(System.Collections.Concurrent.BlockingCollection{`0}[],`0,System.Int32,System.Threading.CancellationToken)">
  13388. <summary>
  13389. Attempts to add the specified item to any one of the specified
  13390. <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> instances.
  13391. A <see cref="T:System.OperationCanceledException"/> is thrown if the <see cref="T:System.Threading.CancellationToken"/> is
  13392. canceled.
  13393. </summary>
  13394. <param name="collections">The array of collections.</param>
  13395. <param name="item">The item to be added to one of the collections.</param>
  13396. <param name="millisecondsTimeout">The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to wait indefinitely.</param> /// <returns>The index of the collection in the <paramref name="collections"/>
  13397. array to which the item was added, or -1 if the item could not be added.</returns>
  13398. <param name="cancellationToken">A cancellation token to observe.</param>
  13399. <exception cref="T:System.OperationCanceledException">If the <see cref="T:System.Threading.CancellationToken"/> is canceled.</exception>
  13400. <exception cref="T:System.ArgumentNullException">The <paramref name="collections"/> argument is
  13401. null.</exception>
  13402. <exception cref="T:System.ArgumentException">The <paramref name="collections"/> argument is
  13403. a 0-length array or contains a null element, or at least one of collections has been
  13404. marked as complete for adding.</exception>
  13405. <exception cref="T:System.ObjectDisposedException">At least one of the <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> instances has been disposed.</exception>
  13406. <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="millisecondsTimeout"/> is a
  13407. negative number other than -1, which represents an infinite time-out.</exception>
  13408. <exception cref="T:System.InvalidOperationException">At least one underlying collection didn't accept the item.</exception>
  13409. <exception cref="T:System.ArgumentOutOfRangeException">The count of <paramref name="collections"/> is greater than the maximum size of
  13410. 62 for STA and 63 for MTA.</exception>
  13411. </member>
  13412. <member name="M:System.Collections.Concurrent.BlockingCollection`1.TryAddTakeAny(System.Collections.Concurrent.BlockingCollection{`0}[],`0@,System.Int32,System.Collections.Concurrent.BlockingCollection{`0}.OperationMode,System.Threading.CancellationToken)">
  13413. <summary>Adds/Takes an item to/from anyone of the specified collections.
  13414. A <see cref="T:System.OperationCanceledException"/> is thrown if the <see cref="T:System.Threading.CancellationToken"/> is
  13415. canceled.
  13416. </summary>
  13417. <param name="collections">The collections into which the item can be added.</param>
  13418. <param name="item">The item to be added or the item removed and returned to the caller.</param>
  13419. <param name="millisecondsTimeout">The number of milliseconds to wait for a collection to accept the
  13420. operation, or -1 to wait indefinitely.</param>
  13421. <param name="operationMode">Indicates whether this method is called to Add or Take.</param>
  13422. <param name="externalCancellationToken">A cancellation token to observe.</param>
  13423. <returns>The index into collections for the collection which accepted the
  13424. adding/removal of the item; -1 if the item could not be added/removed.</returns>
  13425. <exception cref="T:System.OperationCanceledException">If the <see cref="T:System.Threading.CancellationToken"/> is canceled.</exception>
  13426. <exception cref="T:System.ArgumentNullException">If the collections argument is null.</exception>
  13427. <exception cref="T:System.ArgumentException">If the collections argument is a 0-length array or contains a
  13428. null element. Also, if atleast one of the collections has been marked complete for adds.</exception>
  13429. <exception cref="T:System.ObjectDisposedException">If atleast one of the collections has been disposed.</exception>
  13430. </member>
  13431. <member name="M:System.Collections.Concurrent.BlockingCollection`1.GetHandles(System.Collections.Concurrent.BlockingCollection{`0}[],System.Collections.Concurrent.BlockingCollection{`0}.OperationMode,System.Threading.CancellationToken,System.Boolean,System.Threading.CancellationToken[]@)">
  13432. <summary>
  13433. Local static method, used by TryAddTakeAny to get the wait handles for the collection, with exclude option to exclude the Compeleted collections
  13434. </summary>
  13435. <param name="collections">The blocking collections</param>
  13436. <param name="operationMode">Add or Take operation</param>
  13437. <param name="externalCancellationToken">The original CancellationToken</param>
  13438. <param name="excludeCompleted">True to exclude the compeleted collections</param>
  13439. <param name="cancellationTokens">Complete list of cancellationTokens to observe</param>
  13440. <returns>The collections wait handles</returns>
  13441. </member>
  13442. <member name="M:System.Collections.Concurrent.BlockingCollection`1.WaitHandle_WaitAny(System.Collections.Generic.List{System.Threading.WaitHandle},System.Int32,System.Threading.CancellationToken,System.Threading.CancellationToken)">
  13443. <summary>
  13444. Helper to perform WaitHandle.WaitAny(.., CancellationToken)
  13445. this should eventually appear on the WaitHandle class.
  13446. </summary>
  13447. <param name="handles"></param>
  13448. <param name="millisecondsTimeout"></param>
  13449. <param name="combinedToken"></param>
  13450. <param name="externalToken"></param>
  13451. <returns></returns>
  13452. </member>
  13453. <member name="M:System.Collections.Concurrent.BlockingCollection`1.UpdateTimeOut(System.Int64,System.Int32)">
  13454. <summary>
  13455. Helper function to measure and update the wait time
  13456. </summary>
  13457. <param name="startTimeTicks"> The first time (in Ticks) observed when the wait started</param>
  13458. <param name="originalWaitMillisecondsTimeout">The orginal wait timeoutout in milliseconds</param>
  13459. <returns>The new wait time in milliseconds, -1 if the time expired</returns>
  13460. </member>
  13461. <member name="M:System.Collections.Concurrent.BlockingCollection`1.TakeFromAny(System.Collections.Concurrent.BlockingCollection{`0}[],`0@)">
  13462. <summary>
  13463. Takes an item from any one of the specified
  13464. <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> instances.
  13465. </summary>
  13466. <param name="collections">The array of collections.</param>
  13467. <param name="item">The item removed from one of the collections.</param>
  13468. <returns>The index of the collection in the <paramref name="collections"/> array from which
  13469. the item was removed, or -1 if an item could not be removed.</returns>
  13470. <exception cref="T:System.ArgumentNullException">The <paramref name="collections"/> argument is
  13471. null.</exception>
  13472. <exception cref="T:System.ArgumentException">The <paramref name="collections"/> argument is
  13473. a 0-length array or contains a null element.</exception>
  13474. <exception cref="T:System.ObjectDisposedException">At least one of the <see
  13475. cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> instances has been disposed.</exception>
  13476. <exception cref="T:System.InvalidOperationException">At least one of the underlying collections was modified
  13477. outside of its <see
  13478. cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> instance.</exception>
  13479. <exception cref="T:System.ArgumentOutOfRangeException">The count of <paramref name="collections"/> is greater than the maximum size of
  13480. 62 for STA and 63 for MTA.</exception>
  13481. <remarks>A call to TakeFromAny may block until an item is available to be removed.</remarks>
  13482. </member>
  13483. <member name="M:System.Collections.Concurrent.BlockingCollection`1.TakeFromAny(System.Collections.Concurrent.BlockingCollection{`0}[],`0@,System.Threading.CancellationToken)">
  13484. <summary>
  13485. Takes an item from any one of the specified
  13486. <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> instances.
  13487. A <see cref="T:System.OperationCanceledException"/> is thrown if the <see cref="T:System.Threading.CancellationToken"/> is
  13488. canceled.
  13489. </summary>
  13490. <param name="collections">The array of collections.</param>
  13491. <param name="item">The item removed from one of the collections.</param>
  13492. <param name="cancellationToken">A cancellation token to observe.</param>
  13493. <returns>The index of the collection in the <paramref name="collections"/> array from which
  13494. the item was removed, or -1 if an item could not be removed.</returns>
  13495. <exception cref="T:System.ArgumentNullException">The <paramref name="collections"/> argument is
  13496. null.</exception>
  13497. <exception cref="T:System.OperationCanceledException">If the <see cref="T:System.Threading.CancellationToken"/> is canceled.</exception>
  13498. <exception cref="T:System.ArgumentException">The <paramref name="collections"/> argument is
  13499. a 0-length array or contains a null element.</exception>
  13500. <exception cref="T:System.ObjectDisposedException">At least one of the <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> instances has been disposed.</exception>
  13501. <exception cref="T:System.InvalidOperationException">At least one of the underlying collections was modified
  13502. outside of its <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> instance.</exception>
  13503. <exception cref="T:System.ArgumentOutOfRangeException">The count of <paramref name="collections"/> is greater than the maximum size of
  13504. 62 for STA and 63 for MTA.</exception>
  13505. <remarks>A call to TakeFromAny may block until an item is available to be removed.</remarks>
  13506. </member>
  13507. <member name="M:System.Collections.Concurrent.BlockingCollection`1.TryTakeFromAny(System.Collections.Concurrent.BlockingCollection{`0}[],`0@)">
  13508. <summary>
  13509. Attempts to remove an item from any one of the specified
  13510. <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> instances.
  13511. </summary>
  13512. <param name="collections">The array of collections.</param>
  13513. <param name="item">The item removed from one of the collections.</param>
  13514. <returns>The index of the collection in the <paramref name="collections"/> array from which
  13515. the item was removed, or -1 if an item could not be removed.</returns>
  13516. <exception cref="T:System.ArgumentNullException">The <paramref name="collections"/> argument is
  13517. null.</exception>
  13518. <exception cref="T:System.ArgumentException">The <paramref name="collections"/> argument is
  13519. a 0-length array or contains a null element.</exception>
  13520. <exception cref="T:System.ObjectDisposedException">At least one of the <see
  13521. cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> instances has been disposed.</exception>
  13522. <exception cref="T:System.InvalidOperationException">At least one of the underlying collections was modified
  13523. outside of its <see
  13524. cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> instance.</exception>
  13525. <exception cref="T:System.ArgumentOutOfRangeException">The count of <paramref name="collections"/> is greater than the maximum size of
  13526. 62 for STA and 63 for MTA.</exception>
  13527. <remarks>A call to TryTakeFromAny may block until an item is available to be removed.</remarks>
  13528. </member>
  13529. <member name="M:System.Collections.Concurrent.BlockingCollection`1.TryTakeFromAny(System.Collections.Concurrent.BlockingCollection{`0}[],`0@,System.TimeSpan)">
  13530. <summary>
  13531. Attempts to remove an item from any one of the specified
  13532. <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> instances.
  13533. </summary>
  13534. <param name="collections">The array of collections.</param>
  13535. <param name="item">The item removed from one of the collections.</param>
  13536. <param name="timeout">A <see cref="T:System.TimeSpan"/> that represents the number of milliseconds
  13537. to wait, or a <see cref="T:System.TimeSpan"/> that represents -1 milliseconds to wait indefinitely.
  13538. </param>
  13539. <returns>The index of the collection in the <paramref name="collections"/> array from which
  13540. the item was removed, or -1 if an item could not be removed.</returns>
  13541. <exception cref="T:System.ArgumentNullException">The <paramref name="collections"/> argument is
  13542. null.</exception>
  13543. <exception cref="T:System.ArgumentException">The <paramref name="collections"/> argument is
  13544. a 0-length array or contains a null element.</exception>
  13545. <exception cref="T:System.ObjectDisposedException">At least one of the <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> instances has been disposed.</exception>
  13546. <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="timeout"/> is a negative number
  13547. other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater than
  13548. <see cref="F:System.Int32.MaxValue"/>.</exception>
  13549. <exception cref="T:System.InvalidOperationException">At least one of the underlying collections was modified
  13550. outside of its <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> instance.</exception>
  13551. <exception cref="T:System.ArgumentOutOfRangeException">The count of <paramref name="collections"/> is greater than the maximum size of
  13552. 62 for STA and 63 for MTA.</exception>
  13553. <remarks>A call to TryTakeFromAny may block until an item is available to be removed.</remarks>
  13554. </member>
  13555. <member name="M:System.Collections.Concurrent.BlockingCollection`1.TryTakeFromAny(System.Collections.Concurrent.BlockingCollection{`0}[],`0@,System.Int32)">
  13556. <summary>
  13557. Attempts to remove an item from any one of the specified
  13558. <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> instances.
  13559. </summary>
  13560. <param name="collections">The array of collections.</param>
  13561. <param name="item">The item removed from one of the collections.</param>
  13562. <param name="millisecondsTimeout">The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to wait indefinitely.</param>
  13563. <returns>The index of the collection in the <paramref name="collections"/> array from which
  13564. the item was removed, or -1 if an item could not be removed.</returns>
  13565. <exception cref="T:System.ArgumentNullException">The <paramref name="collections"/> argument is
  13566. null.</exception>
  13567. <exception cref="T:System.ArgumentException">The <paramref name="collections"/> argument is
  13568. a 0-length array or contains a null element.</exception>
  13569. <exception cref="T:System.ObjectDisposedException">At least one of the <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> instances has been disposed.</exception>
  13570. <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="millisecondsTimeout"/> is a
  13571. negative number other than -1, which represents an infinite time-out.</exception>
  13572. <exception cref="T:System.InvalidOperationException">At least one of the underlying collections was modified
  13573. outside of its <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> instance.</exception>
  13574. <exception cref="T:System.ArgumentOutOfRangeException">The count of <paramref name="collections"/> is greater than the maximum size of
  13575. 62 for STA and 63 for MTA.</exception>
  13576. <remarks>A call to TryTakeFromAny may block until an item is available to be removed.</remarks>
  13577. </member>
  13578. <member name="M:System.Collections.Concurrent.BlockingCollection`1.TryTakeFromAny(System.Collections.Concurrent.BlockingCollection{`0}[],`0@,System.Int32,System.Threading.CancellationToken)">
  13579. <summary>
  13580. Attempts to remove an item from any one of the specified
  13581. <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> instances.
  13582. A <see cref="T:System.OperationCanceledException"/> is thrown if the <see cref="T:System.Threading.CancellationToken"/> is
  13583. canceled.
  13584. </summary>
  13585. <param name="collections">The array of collections.</param>
  13586. <param name="item">The item removed from one of the collections.</param>
  13587. <param name="millisecondsTimeout">The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/> (-1) to wait indefinitely.</param>
  13588. <param name="cancellationToken">A cancellation token to observe.</param>
  13589. <returns>The index of the collection in the <paramref name="collections"/> array from which
  13590. the item was removed, or -1 if an item could not be removed.</returns>
  13591. <exception cref="T:System.OperationCanceledException">If the <see cref="T:System.Threading.CancellationToken"/> is canceled.</exception>
  13592. <exception cref="T:System.ArgumentNullException">The <paramref name="collections"/> argument is
  13593. null.</exception>
  13594. <exception cref="T:System.ArgumentException">The <paramref name="collections"/> argument is
  13595. a 0-length array or contains a null element.</exception>
  13596. <exception cref="T:System.ObjectDisposedException">At least one of the <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> instances has been disposed.</exception>
  13597. <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="millisecondsTimeout"/> is a
  13598. negative number other than -1, which represents an infinite time-out.</exception>
  13599. <exception cref="T:System.InvalidOperationException">At least one of the underlying collections was modified
  13600. outside of its <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> instance.</exception>
  13601. <exception cref="T:System.ArgumentOutOfRangeException">The count of <paramref name="collections"/> is greater than the maximum size of
  13602. 62 for STA and 63 for MTA.</exception>
  13603. <remarks>A call to TryTakeFromAny may block until an item is available to be removed.</remarks>
  13604. </member>
  13605. <member name="M:System.Collections.Concurrent.BlockingCollection`1.CompleteAdding">
  13606. <summary>
  13607. Marks the <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> instances
  13608. as not accepting any more additions.
  13609. </summary>
  13610. <remarks>
  13611. After a collection has been marked as complete for adding, adding to the collection is not permitted
  13612. and attempts to remove from the collection will not wait when the collection is empty.
  13613. </remarks>
  13614. <exception cref="T:System.ObjectDisposedException">The <see
  13615. cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> has been disposed.</exception>
  13616. </member>
  13617. <member name="M:System.Collections.Concurrent.BlockingCollection`1.CancelWaitingConsumers">
  13618. <summary>Cancels the semaphores.</summary>
  13619. </member>
  13620. <member name="M:System.Collections.Concurrent.BlockingCollection`1.Dispose">
  13621. <summary>
  13622. Releases resources used by the <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> instance.
  13623. </summary>
  13624. </member>
  13625. <member name="M:System.Collections.Concurrent.BlockingCollection`1.Dispose(System.Boolean)">
  13626. <summary>
  13627. Releases resources used by the <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> instance.
  13628. </summary>
  13629. <param name="disposing">Whether being disposed explicitly (true) or due to a finalizer (false).</param>
  13630. </member>
  13631. <member name="M:System.Collections.Concurrent.BlockingCollection`1.ToArray">
  13632. <summary>Copies the items from the <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> instance into a new array.</summary>
  13633. <returns>An array containing copies of the elements of the collection.</returns>
  13634. <exception cref="T:System.ObjectDisposedException">The <see
  13635. cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> has been disposed.</exception>
  13636. <remarks>
  13637. The copied elements are not removed from the collection.
  13638. </remarks>
  13639. </member>
  13640. <member name="M:System.Collections.Concurrent.BlockingCollection`1.CopyTo(`0[],System.Int32)">
  13641. <summary>Copies all of the items in the <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> instance
  13642. to a compatible one-dimensional array, starting at the specified index of the target array.
  13643. </summary>
  13644. <param name="array">The one-dimensional array that is the destination of the elements copied from
  13645. the <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> instance. The array must have zero-based indexing.</param>
  13646. <param name="index">The zero-based index in <paramref name="array"/> at which copying begins.</param>
  13647. <exception cref="T:System.ArgumentNullException">The <paramref name="array"/> argument is
  13648. null.</exception>
  13649. <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="index"/> argument is less than zero.</exception>
  13650. <exception cref="T:System.ArgumentException">The <paramref name="index"/> argument is equal to or greater
  13651. than the length of the <paramref name="array"/>.</exception>
  13652. <exception cref="T:System.ObjectDisposedException">The <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> has been disposed.</exception>
  13653. </member>
  13654. <member name="M:System.Collections.Concurrent.BlockingCollection`1.System#Collections#ICollection#CopyTo(System.Array,System.Int32)">
  13655. <summary>Copies all of the items in the <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> instance
  13656. to a compatible one-dimensional array, starting at the specified index of the target array.
  13657. </summary>
  13658. <param name="array">The one-dimensional array that is the destination of the elements copied from
  13659. the <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> instance. The array must have zero-based indexing.</param>
  13660. <param name="index">The zero-based index in <paramref name="array"/> at which copying begins.</param>
  13661. <exception cref="T:System.ArgumentNullException">The <paramref name="array"/> argument is
  13662. null.</exception>
  13663. <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="index"/> argument is less than zero.</exception>
  13664. <exception cref="T:System.ArgumentException">The <paramref name="index"/> argument is equal to or greater
  13665. than the length of the <paramref name="array"/>, the array is multidimensional, or the type parameter for the collection
  13666. cannot be cast automatically to the type of the destination array.</exception>
  13667. <exception cref="T:System.ObjectDisposedException">The <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> has been disposed.</exception>
  13668. </member>
  13669. <member name="M:System.Collections.Concurrent.BlockingCollection`1.GetConsumingEnumerable">
  13670. <summary>Provides a consuming <see cref="T:System.Collections.Generics.IEnumerable{T}"/> for items in the collection.</summary>
  13671. <returns>An <see cref="T:System.Collections.Generics.IEnumerable{T}"/> that removes and returns items from the collection.</returns>
  13672. <exception cref="T:System.ObjectDisposedException">The <see
  13673. cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> has been disposed.</exception>
  13674. </member>
  13675. <member name="M:System.Collections.Concurrent.BlockingCollection`1.GetConsumingEnumerable(System.Threading.CancellationToken)">
  13676. <summary>Provides a consuming <see cref="T:System.Collections.Generics.IEnumerable{T}"/> for items in the collection.
  13677. Calling MoveNext on the returned enumerable will block if there is no data available, or will
  13678. throw an <see cref="T:System.OperationCanceledException"/> if the <see cref="T:System.Threading.CancellationToken"/> is canceled.
  13679. </summary>
  13680. <param name="cancellationToken">A cancellation token to observe.</param>
  13681. <returns>An <see cref="T:System.Collections.Generics.IEnumerable{T}"/> that removes and returns items from the collection.</returns>
  13682. <exception cref="T:System.ObjectDisposedException">The <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> has been disposed.</exception>
  13683. <exception cref="T:System.OperationCanceledException">If the <see cref="T:System.Threading.CancellationToken"/> is canceled.</exception>
  13684. </member>
  13685. <member name="M:System.Collections.Concurrent.BlockingCollection`1.System#Collections#Generic#IEnumerable{T}#GetEnumerator">
  13686. <summary>Provides an <see cref="T:System.Collections.Generics.IEnumerator{T}"/> for items in the collection.</summary>
  13687. <returns>An <see cref="T:System.Collections.Generics.IEnumerator{T}"/> for the items in the collection.</returns>
  13688. <exception cref="T:System.ObjectDisposedException">The <see
  13689. cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> has been disposed.</exception>
  13690. </member>
  13691. <member name="M:System.Collections.Concurrent.BlockingCollection`1.System#Collections#IEnumerable#GetEnumerator">
  13692. <summary>Provides an <see cref="T:System.Collections.IEnumerator"/> for items in the collection.</summary>
  13693. <returns>An <see cref="T:System.Collections.IEnumerator"/> for the items in the collection.</returns>
  13694. <exception cref="T:System.ObjectDisposedException">The <see
  13695. cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> has been disposed.</exception>
  13696. </member>
  13697. <member name="M:System.Collections.Concurrent.BlockingCollection`1.ValidateCollectionsArray(System.Collections.Concurrent.BlockingCollection{`0}[],System.Collections.Concurrent.BlockingCollection{`0}.OperationMode)">
  13698. <summary>Centralizes the logic for validating the BlockingCollections array passed to TryAddToAny()
  13699. and TryTakeFromAny().</summary>
  13700. <param name="collections">The collections to/from which an item should be added/removed.</param>
  13701. <param name="operationMode">Indicates whether this method is called to Add or Take.</param>
  13702. <returns>A copy of the collections array that acts as a defense to prevent an “outsider” from changing
  13703. elements of the array after we have done the validation on them.</returns>
  13704. <exception cref="T:System.ArgumentNullException">If the collections argument is null.</exception>
  13705. <exception cref="T:System.ArgumentException">If the collections argument is a 0-length array or contains a
  13706. null element. Also, if atleast one of the collections has been marked complete for adds.</exception>
  13707. <exception cref="T:System.ObjectDisposedException">If atleast one of the collections has been disposed.</exception>
  13708. </member>
  13709. <member name="M:System.Collections.Concurrent.BlockingCollection`1.ValidateTimeout(System.TimeSpan)">
  13710. <summary>Centeralizes the logic of validating the timeout input argument.</summary>
  13711. <param name="timeout">The TimeSpan to wait for to successfully complete an operation on the collection.</param>
  13712. <exception cref="T:System.ArgumentOutOfRangeException">If the number of millseconds represented by the timeout
  13713. TimeSpan is less than 0 or is larger than Int32.MaxValue and not Timeout.Infinite</exception>
  13714. </member>
  13715. <member name="M:System.Collections.Concurrent.BlockingCollection`1.ValidateMillisecondsTimeout(System.Int32)">
  13716. <summary>Centralizes the logic of validating the millisecondsTimeout input argument.</summary>
  13717. <param name="millisecondsTimeout">The number of milliseconds to wait for to successfully complete an
  13718. operation on the collection.</param>
  13719. <exception cref="T:System.ArgumentOutOfRangeException">If the number of millseconds is less than 0 and not
  13720. equal to Timeout.Infinite.</exception>
  13721. </member>
  13722. <member name="M:System.Collections.Concurrent.BlockingCollection`1.CheckDisposed">
  13723. <summary>Throws a System.ObjectDisposedException if the collection was disposed</summary>
  13724. <exception cref="T:System.ObjectDisposedException">If the collection has been disposed.</exception>
  13725. </member>
  13726. <member name="P:System.Collections.Concurrent.BlockingCollection`1.BoundedCapacity">
  13727. <summary>Gets the bounded capacity of this <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> instance.</summary>
  13728. <value>The bounded capacity of this collection, or int.MaxValue if no bound was supplied.</value>
  13729. <exception cref="T:System.ObjectDisposedException">The <see
  13730. cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> has been disposed.</exception>
  13731. </member>
  13732. <member name="P:System.Collections.Concurrent.BlockingCollection`1.IsAddingCompleted">
  13733. <summary>Gets whether this <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> has been marked as complete for adding.</summary>
  13734. <value>Whether this collection has been marked as complete for adding.</value>
  13735. <exception cref="T:System.ObjectDisposedException">The <see
  13736. cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> has been disposed.</exception>
  13737. </member>
  13738. <member name="P:System.Collections.Concurrent.BlockingCollection`1.IsCompleted">
  13739. <summary>Gets whether this <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> has been marked as complete for adding and is empty.</summary>
  13740. <value>Whether this collection has been marked as complete for adding and is empty.</value>
  13741. <exception cref="T:System.ObjectDisposedException">The <see
  13742. cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> has been disposed.</exception>
  13743. </member>
  13744. <member name="P:System.Collections.Concurrent.BlockingCollection`1.Count">
  13745. <summary>Gets the number of items contained in the <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/>.</summary>
  13746. <value>The number of items contained in the <see cref="T:System.Collections.Concurrent.BlockingCollection{T}"/>.</value>
  13747. <exception cref="T:System.ObjectDisposedException">The <see
  13748. cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> has been disposed.</exception>
  13749. </member>
  13750. <member name="P:System.Collections.Concurrent.BlockingCollection`1.System#Collections#ICollection#IsSynchronized">
  13751. <summary>Gets a value indicating whether access to the <see cref="T:System.Collections.ICollection"/> is synchronized.</summary>
  13752. <exception cref="T:System.ObjectDisposedException">The <see
  13753. cref="T:System.Collections.Concurrent.BlockingCollection{T}"/> has been disposed.</exception>
  13754. </member>
  13755. <member name="P:System.Collections.Concurrent.BlockingCollection`1.System#Collections#ICollection#SyncRoot">
  13756. <summary>
  13757. Gets an object that can be used to synchronize access to the <see
  13758. cref="T:System.Collections.ICollection"/>. This property is not supported.
  13759. </summary>
  13760. <exception cref="T:System.NotSupportedException">The SyncRoot property is not supported.</exception>
  13761. </member>
  13762. <member name="T:System.Collections.Concurrent.BlockingCollection`1.OperationMode">
  13763. <summary>An enumerated data type used internal to the class to specify to a generic method
  13764. the current mode of operation.</summary>
  13765. </member>
  13766. <member name="T:System.Collections.Concurrent.SystemThreadingCollections_BlockingCollectionDebugView`1">
  13767. <summary>A debugger view of the blocking collection that makes it simple to browse the
  13768. collection's contents at a point in time.</summary>
  13769. <typeparam name="T">The type of element that the BlockingCollection will hold.</typeparam>
  13770. </member>
  13771. <member name="M:System.Collections.Concurrent.SystemThreadingCollections_BlockingCollectionDebugView`1.#ctor(System.Collections.Concurrent.BlockingCollection{`0})">
  13772. <summary>Constructs a new debugger view object for the provided blocking collection object.</summary>
  13773. <param name="collection">A blocking collection to browse in the debugger.</param>
  13774. </member>
  13775. <member name="P:System.Collections.Concurrent.SystemThreadingCollections_BlockingCollectionDebugView`1.Items">
  13776. <summary>Returns a snapshot of the underlying collection's elements.</summary>
  13777. </member>
  13778. <member name="T:System.Collections.Concurrent.ConcurrentBag`1">
  13779. <summary>
  13780. Represents an thread-safe, unordered collection of objects.
  13781. </summary>
  13782. <typeparam name="T">Specifies the type of elements in the bag.</typeparam>
  13783. <remarks>
  13784. <para>
  13785. Bags are useful for storing objects when ordering doesn't matter, and unlike sets, bags support
  13786. duplicates. <see cref="T:System.Collections.Concurrent.ConcurrentBag`1"/> is a thread-safe bag implementation, optimized for
  13787. scenarios where the same thread will be both producing and consuming data stored in the bag.
  13788. </para>
  13789. <para>
  13790. <see cref="T:System.Collections.Concurrent.ConcurrentBag`1"/> accepts null reference (Nothing in Visual Basic) as a valid
  13791. value for reference types.
  13792. </para>
  13793. <para>
  13794. All public and protected members of <see cref="T:System.Collections.Concurrent.ConcurrentBag`1"/> are thread-safe and may be used
  13795. concurrently from multiple threads.
  13796. </para>
  13797. </remarks>
  13798. </member>
  13799. <member name="M:System.Collections.Concurrent.ConcurrentBag`1.#ctor">
  13800. <summary>
  13801. Initializes a new instance of the <see cref="T:System.Collections.Concurrent.ConcurrentBag`1"/>
  13802. class.
  13803. </summary>
  13804. </member>
  13805. <member name="M:System.Collections.Concurrent.ConcurrentBag`1.#ctor(System.Collections.Generic.IEnumerable{`0})">
  13806. <summary>
  13807. Initializes a new instance of the <see cref="T:System.Collections.Concurrent.ConcurrentBag`1"/>
  13808. class that contains elements copied from the specified collection.
  13809. </summary>
  13810. <param name="collection">The collection whose elements are copied to the new <see cref="T:System.Collections.Concurrent.ConcurrentBag`1"/>.</param>
  13811. <exception cref="T:System.ArgumentNullException"><paramref name="collection"/> is a null reference
  13812. (Nothing in Visual Basic).</exception>
  13813. </member>
  13814. <member name="M:System.Collections.Concurrent.ConcurrentBag`1.Initialize(System.Collections.Generic.IEnumerable{`0})">
  13815. <summary>
  13816. Local helper function to initalize a new bag object
  13817. </summary>
  13818. <param name="collection">An enumeration containing items with which to initialize this bag.</param>
  13819. </member>
  13820. <member name="M:System.Collections.Concurrent.ConcurrentBag`1.Add(`0)">
  13821. <summary>
  13822. Adds an object to the <see cref="T:System.Collections.Concurrent.ConcurrentBag`1"/>.
  13823. </summary>
  13824. <param name="item">The object to be added to the
  13825. <see cref="T:System.Collections.Concurrent.ConcurrentBag`1"/>. The value can be a null reference
  13826. (Nothing in Visual Basic) for reference types.</param>
  13827. </member>
  13828. <member name="M:System.Collections.Concurrent.ConcurrentBag`1.AddInternal(System.Collections.Concurrent.ConcurrentBag{`0}.ThreadLocalList,`0)">
  13829. <summary>
  13830. </summary>
  13831. <param name="list"></param>
  13832. <param name="item"></param>
  13833. </member>
  13834. <member name="M:System.Collections.Concurrent.ConcurrentBag`1.System#Collections#Concurrent#IProducerConsumerCollection{T}#TryAdd(`0)">
  13835. <summary>
  13836. Attempts to add an object to the <see cref="T:System.Collections.Concurrent.ConcurrentBag`1"/>.
  13837. </summary>
  13838. <param name="item">The object to be added to the
  13839. <see cref="T:System.Collections.Concurrent.ConcurrentBag`1"/>. The value can be a null reference
  13840. (Nothing in Visual Basic) for reference types.</param>
  13841. <returns>Always returns true</returns>
  13842. </member>
  13843. <member name="M:System.Collections.Concurrent.ConcurrentBag`1.TryTake(`0@)">
  13844. <summary>
  13845. Attempts to remove and return an object from the <see cref="T:System.Collections.Concurrent.ConcurrentBag`1"/>.
  13846. </summary>
  13847. <param name="result">When this method returns, <paramref name="result"/> contains the object
  13848. removed from the <see cref="T:System.Collections.Concurrent.ConcurrentBag`1"/> or the default value
  13849. of <typeparamref name="T"/> if the operation failed.</param>
  13850. <returns>true if an object was removed successfully; otherwise, false.</returns>
  13851. </member>
  13852. <member name="M:System.Collections.Concurrent.ConcurrentBag`1.TryPeek(`0@)">
  13853. <summary>
  13854. Attempts to return an object from the <see cref="T:System.Collections.Concurrent.ConcurrentBag`1"/>
  13855. without removing it.
  13856. </summary>
  13857. <param name="result">When this method returns, <paramref name="result"/> contains an object from
  13858. the <see cref="T:System.Collections.Concurrent.ConcurrentBag`1"/> or the default value of
  13859. <typeparamref name="T"/> if the operation failed.</param>
  13860. <returns>true if and object was returned successfully; otherwise, false.</returns>
  13861. </member>
  13862. <member name="M:System.Collections.Concurrent.ConcurrentBag`1.TryTakeOrPeek(`0@,System.Boolean)">
  13863. <summary>
  13864. Local helper function to Take or Peek an item from the bag
  13865. </summary>
  13866. <param name="result">To receive the item retrieved from the bag</param>
  13867. <param name="take">True means Take operation, false means Peek operation</param>
  13868. <returns>True if succeeded, false otherwise</returns>
  13869. </member>
  13870. <member name="M:System.Collections.Concurrent.ConcurrentBag`1.GetThreadList(System.Boolean)">
  13871. <summary>
  13872. Local helper function to retrieve a thread local list by a thread object
  13873. </summary>
  13874. <param name="forceCreate">Create a new list if the thread does ot exist</param>
  13875. <returns>The local list object</returns>
  13876. </member>
  13877. <member name="M:System.Collections.Concurrent.ConcurrentBag`1.GetUnownedList">
  13878. <summary>
  13879. Try to reuse an unowned list if exist
  13880. unowned lists are the lists that their owner threads are aborted or terminated
  13881. this is workaround to avoid memory leaks.
  13882. </summary>
  13883. <returns>The list object, null if all lists are owned</returns>
  13884. </member>
  13885. <member name="M:System.Collections.Concurrent.ConcurrentBag`1.Steal(`0@,System.Boolean)">
  13886. <summary>
  13887. Local helper method to steal an item from any other non empty thread
  13888. It enumerate all other threads in two passes first pass acquire the lock with TryEnter if succeeded
  13889. it steals the item, otherwise it enumerate them again in 2nd pass and acquire the lock using Enter
  13890. </summary>
  13891. <param name="result">To receive the item retrieved from the bag</param>
  13892. <param name="take">Whether to remove or peek.</param>
  13893. <returns>True if succeeded, false otherwise.</returns>
  13894. </member>
  13895. <member name="M:System.Collections.Concurrent.ConcurrentBag`1.TrySteal(System.Collections.Concurrent.ConcurrentBag{`0}.ThreadLocalList,`0@,System.Boolean)">
  13896. <summary>
  13897. local helper function tries to steal an item from given local list
  13898. </summary>
  13899. </member>
  13900. <member name="M:System.Collections.Concurrent.ConcurrentBag`1.CanSteal(System.Collections.Concurrent.ConcurrentBag{`0}.ThreadLocalList)">
  13901. <summary>
  13902. Local helper function to check the list if it became empty after acquiring the lock
  13903. and wait if there is unsynchronized Add/Take operation in the list to be done
  13904. </summary>
  13905. <param name="list">The list to steal</param>
  13906. <returns>True if can steal, false otherwise</returns>
  13907. </member>
  13908. <member name="M:System.Collections.Concurrent.ConcurrentBag`1.CopyTo(`0[],System.Int32)">
  13909. <summary>
  13910. Copies the <see cref="T:System.Collections.Concurrent.ConcurrentBag`1"/> elements to an existing
  13911. one-dimensional <see cref="T:System.Array">Array</see>, starting at the specified array
  13912. index.
  13913. </summary>
  13914. <param name="array">The one-dimensional <see cref="T:System.Array">Array</see> that is the
  13915. destination of the elements copied from the
  13916. <see cref="T:System.Collections.Concurrent.ConcurrentBag`1"/>. The <see cref="T:System.Array">Array</see> must have zero-based indexing.</param>
  13917. <param name="index">The zero-based index in <paramref name="array"/> at which copying
  13918. begins.</param>
  13919. <exception cref="T:System.ArgumentNullException"><paramref name="array"/> is a null reference (Nothing in
  13920. Visual Basic).</exception>
  13921. <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="index"/> is less than
  13922. zero.</exception>
  13923. <exception cref="T:System.ArgumentException"><paramref name="index"/> is equal to or greater than the
  13924. length of the <paramref name="array"/>
  13925. -or- the number of elements in the source <see cref="T:System.Collections.Concurrent.ConcurrentBag`1"/> is greater than the available space from
  13926. <paramref name="index"/> to the end of the destination <paramref name="array"/>.</exception>
  13927. </member>
  13928. <member name="M:System.Collections.Concurrent.ConcurrentBag`1.System#Collections#ICollection#CopyTo(System.Array,System.Int32)">
  13929. <summary>
  13930. Copies the elements of the <see cref="T:System.Collections.ICollection"/> to an <see cref="T:System.Array"/>, starting at a particular
  13931. <see cref="T:System.Array"/> index.
  13932. </summary>
  13933. <param name="array">The one-dimensional <see cref="T:System.Array">Array</see> that is the
  13934. destination of the elements copied from the
  13935. <see cref="T:System.Collections.Concurrent.ConcurrentBag`1"/>. The <see cref="T:System.Array">Array</see> must have zero-based indexing.</param>
  13936. <param name="index">The zero-based index in <paramref name="array"/> at which copying
  13937. begins.</param>
  13938. <exception cref="T:System.ArgumentNullException"><paramref name="array"/> is a null reference (Nothing in
  13939. Visual Basic).</exception>
  13940. <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="index"/> is less than
  13941. zero.</exception>
  13942. <exception cref="T:System.ArgumentException">
  13943. <paramref name="array"/> is multidimensional. -or-
  13944. <paramref name="array"/> does not have zero-based indexing. -or-
  13945. <paramref name="index"/> is equal to or greater than the length of the <paramref name="array"/>
  13946. -or- The number of elements in the source <see cref="T:System.Collections.ICollection"/> is
  13947. greater than the available space from <paramref name="index"/> to the end of the destination
  13948. <paramref name="array"/>. -or- The type of the source <see cref="T:System.Collections.ICollection"/> cannot be cast automatically to the type of the
  13949. destination <paramref name="array"/>.
  13950. </exception>
  13951. </member>
  13952. <member name="M:System.Collections.Concurrent.ConcurrentBag`1.ToArray">
  13953. <summary>
  13954. Copies the <see cref="T:System.Collections.Concurrent.ConcurrentBag`1"/> elements to a new array.
  13955. </summary>
  13956. <returns>A new array containing a snapshot of elements copied from the <see cref="T:System.Collections.Concurrent.ConcurrentBag`1"/>.</returns>
  13957. </member>
  13958. <member name="M:System.Collections.Concurrent.ConcurrentBag`1.GetEnumerator">
  13959. <summary>
  13960. Returns an enumerator that iterates through the <see cref="T:System.Collections.Concurrent.ConcurrentBag`1"/>.
  13961. </summary>
  13962. <returns>An enumerator for the contents of the <see cref="T:System.Collections.Concurrent.ConcurrentBag`1"/>.</returns>
  13963. <remarks>
  13964. The enumeration represents a moment-in-time snapshot of the contents
  13965. of the bag. It does not reflect any updates to the collection after
  13966. <see cref="M:System.Collections.Concurrent.ConcurrentBag`1.GetEnumerator"/> was called. The enumerator is safe to use
  13967. concurrently with reads from and writes to the bag.
  13968. </remarks>
  13969. </member>
  13970. <member name="M:System.Collections.Concurrent.ConcurrentBag`1.System#Collections#IEnumerable#GetEnumerator">
  13971. <summary>
  13972. Returns an enumerator that iterates through the <see cref="T:System.Collections.Concurrent.ConcurrentBag`1"/>.
  13973. </summary>
  13974. <returns>An enumerator for the contents of the <see cref="T:System.Collections.Concurrent.ConcurrentBag`1"/>.</returns>
  13975. <remarks>
  13976. The items enumerated represent a moment-in-time snapshot of the contents
  13977. of the bag. It does not reflect any update to the collection after
  13978. <see cref="M:System.Collections.Concurrent.ConcurrentBag`1.GetEnumerator"/> was called.
  13979. </remarks>
  13980. </member>
  13981. <member name="M:System.Collections.Concurrent.ConcurrentBag`1.OnSerializing(System.Runtime.Serialization.StreamingContext)">
  13982. <summary>
  13983. Get the data array to be serialized
  13984. </summary>
  13985. </member>
  13986. <member name="M:System.Collections.Concurrent.ConcurrentBag`1.OnDeserialized(System.Runtime.Serialization.StreamingContext)">
  13987. <summary>
  13988. Construct the stack from a previously seiralized one
  13989. </summary>
  13990. </member>
  13991. <member name="M:System.Collections.Concurrent.ConcurrentBag`1.FreezeBag(System.Boolean@)">
  13992. <summary>
  13993. Local helper method to freeze all bag operations, it
  13994. 1- Acquire the global lock to prevent any other thread to freeze the bag, and also new new thread can be added
  13995. to the dictionary
  13996. 2- Then Acquire all local lists locks to prevent steal and synchronized operations
  13997. 3- Wait for all un-synchronized operations to be done
  13998. </summary>
  13999. <param name="lockTaken">Retrieve the lock taken result for the global lock, to be passed to Unfreeze method</param>
  14000. </member>
  14001. <member name="M:System.Collections.Concurrent.ConcurrentBag`1.UnfreezeBag(System.Boolean)">
  14002. <summary>
  14003. Local helper method to unfreeze the bag from a frozen state
  14004. </summary>
  14005. <param name="lockTaken">The lock taken result from the Freeze method</param>
  14006. </member>
  14007. <member name="M:System.Collections.Concurrent.ConcurrentBag`1.AcquireAllLocks">
  14008. <summary>
  14009. local helper method to acquire all local lists locks
  14010. </summary>
  14011. </member>
  14012. <member name="M:System.Collections.Concurrent.ConcurrentBag`1.ReleaseAllLocks">
  14013. <summary>
  14014. Local helper method to release all local lists locks
  14015. </summary>
  14016. </member>
  14017. <member name="M:System.Collections.Concurrent.ConcurrentBag`1.WaitAllOperations">
  14018. <summary>
  14019. Local helper function to wait all unsynchronized operations
  14020. </summary>
  14021. </member>
  14022. <member name="M:System.Collections.Concurrent.ConcurrentBag`1.GetCountInternal">
  14023. <summary>
  14024. Local helper function to get the bag count, the caller should call it from Freeze/Unfreeze block
  14025. </summary>
  14026. <returns>The current bag count</returns>
  14027. </member>
  14028. <member name="M:System.Collections.Concurrent.ConcurrentBag`1.ToList">
  14029. <summary>
  14030. Local helper function to return the bag item in a list, this is mainly used by CopyTo and ToArray
  14031. This is not thread safe, should be called in Freeze/UnFreeze bag block
  14032. </summary>
  14033. <returns>List the contains the bag items</returns>
  14034. </member>
  14035. <member name="P:System.Collections.Concurrent.ConcurrentBag`1.Count">
  14036. <summary>
  14037. Gets the number of elements contained in the <see cref="T:System.Collections.Concurrent.ConcurrentBag`1"/>.
  14038. </summary>
  14039. <value>The number of elements contained in the <see cref="T:System.Collections.Concurrent.ConcurrentBag`1"/>.</value>
  14040. <remarks>
  14041. The count returned represents a moment-in-time snapshot of the contents
  14042. of the bag. It does not reflect any updates to the collection after
  14043. <see cref="M:System.Collections.Concurrent.ConcurrentBag`1.GetEnumerator"/> was called.
  14044. </remarks>
  14045. </member>
  14046. <member name="P:System.Collections.Concurrent.ConcurrentBag`1.IsEmpty">
  14047. <summary>
  14048. Gets a value that indicates whether the <see cref="T:System.Collections.Concurrent.ConcurrentBag`1"/> is empty.
  14049. </summary>
  14050. <value>true if the <see cref="T:System.Collections.Concurrent.ConcurrentBag`1"/> is empty; otherwise, false.</value>
  14051. </member>
  14052. <member name="P:System.Collections.Concurrent.ConcurrentBag`1.System#Collections#ICollection#IsSynchronized">
  14053. <summary>
  14054. Gets a value indicating whether access to the <see cref="T:System.Collections.ICollection"/> is
  14055. synchronized with the SyncRoot.
  14056. </summary>
  14057. <value>true if access to the <see cref="T:System.Collections.ICollection"/> is synchronized
  14058. with the SyncRoot; otherwise, false. For <see cref="T:System.Collections.Concurrent.ConcurrentBag`1"/>, this property always
  14059. returns false.</value>
  14060. </member>
  14061. <member name="P:System.Collections.Concurrent.ConcurrentBag`1.System#Collections#ICollection#SyncRoot">
  14062. <summary>
  14063. Gets an object that can be used to synchronize access to the <see
  14064. cref="T:System.Collections.ICollection"/>. This property is not supported.
  14065. </summary>
  14066. <exception cref="T:System.NotSupportedException">The SyncRoot property is not supported.</exception>
  14067. </member>
  14068. <member name="T:System.Collections.Concurrent.ConcurrentBag`1.Node">
  14069. <summary>
  14070. A class that represents a node in the lock thread list
  14071. </summary>
  14072. </member>
  14073. <member name="T:System.Collections.Concurrent.ConcurrentBag`1.ThreadLocalList">
  14074. <summary>
  14075. A class that represents the lock thread list
  14076. </summary>
  14077. </member>
  14078. <member name="M:System.Collections.Concurrent.ConcurrentBag`1.ThreadLocalList.#ctor(System.Threading.Thread)">
  14079. <summary>
  14080. ThreadLocalList constructor
  14081. </summary>
  14082. <param name="ownerThread">The owner thread for this list</param>
  14083. </member>
  14084. <member name="M:System.Collections.Concurrent.ConcurrentBag`1.ThreadLocalList.Add(`0,System.Boolean)">
  14085. <summary>
  14086. Add new item to head of the list
  14087. </summary>
  14088. <param name="item">The item to add.</param>
  14089. <param name="updateCount">Whether to update the count.</param>
  14090. </member>
  14091. <member name="M:System.Collections.Concurrent.ConcurrentBag`1.ThreadLocalList.Remove(`0@)">
  14092. <summary>
  14093. Remove an item from the head of the list
  14094. </summary>
  14095. <param name="result">The removed item</param>
  14096. </member>
  14097. <member name="M:System.Collections.Concurrent.ConcurrentBag`1.ThreadLocalList.Peek(`0@)">
  14098. <summary>
  14099. Peek an item from the head of the list
  14100. </summary>
  14101. <param name="result">the peeked item</param>
  14102. <returns>True if succeeded, false otherwise</returns>
  14103. </member>
  14104. <member name="M:System.Collections.Concurrent.ConcurrentBag`1.ThreadLocalList.Steal(`0@,System.Boolean)">
  14105. <summary>
  14106. Steal an item from the tail of the list
  14107. </summary>
  14108. <param name="result">the removed item</param>
  14109. <param name="remove">remove or peek flag</param>
  14110. </member>
  14111. <member name="P:System.Collections.Concurrent.ConcurrentBag`1.ThreadLocalList.Count">
  14112. <summary>
  14113. Gets the total list count, it's not thread safe, may provide incorrect count if it is called concurrently
  14114. </summary>
  14115. </member>
  14116. <member name="T:System.Collections.Concurrent.ConcurrentBag`1.ListOperation">
  14117. <summary>
  14118. List operations
  14119. </summary>
  14120. </member>
  14121. <member name="T:System.Collections.Concurrent.SystemThreadingCollection_IProducerConsumerCollectionDebugView`1">
  14122. <summary>
  14123. A simple class for the debugger view window
  14124. </summary>
  14125. </member>
  14126. <member name="T:System.Linq.ParallelEnumerable">
  14127. <summary>
  14128. Provides a set of methods for querying objects that implement
  14129. ParallelQuery{TSource}. This is the parallel equivalent of
  14130. <see cref="T:System.Linq.Enumerable"/>.
  14131. </summary>
  14132. </member>
  14133. <member name="M:System.Linq.ParallelEnumerable.AsParallel``1(System.Collections.Generic.IEnumerable{``0})">
  14134. <summary>
  14135. Enables parallelization of a query.
  14136. </summary>
  14137. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  14138. <param name="source">An <see cref="T:System.Collections.Generic.IEnumerable`1"/>
  14139. to convert to a <see cref="T:System.Linq.ParallelQuery`1"/>.</param>
  14140. <returns>The source as a <see cref="T:System.Linq.ParallelQuery`1"/> to bind to
  14141. ParallelEnumerable extension methods.</returns>
  14142. <exception cref="T:System.ArgumentNullException">
  14143. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  14144. </exception>
  14145. </member>
  14146. <member name="M:System.Linq.ParallelEnumerable.AsParallel``1(System.Collections.Concurrent.Partitioner{``0})">
  14147. <summary>
  14148. Enables parallelization of a query, as sourced by a partitioner
  14149. responsible for splitting the input sequence into partitions.
  14150. </summary>
  14151. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  14152. <param name="source">A partitioner over the input sequence.</param>
  14153. <returns>The <paramref name="source"/> as a ParallelQuery to bind to ParallelEnumerable extension methods.</returns>
  14154. <remarks>
  14155. The source partitioner's GetOrderedPartitions method is used when ordering is enabled,
  14156. whereas the partitioner's GetPartitions is used if ordering is not enabled (the default).
  14157. The source partitioner's GetDynamicPartitions and GetDynamicOrderedPartitions are not used.
  14158. </remarks>
  14159. <exception cref="T:System.ArgumentNullException">
  14160. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  14161. </exception>
  14162. </member>
  14163. <member name="M:System.Linq.ParallelEnumerable.AsOrdered``1(System.Linq.ParallelQuery{``0})">
  14164. <summary>
  14165. Enables treatment of a data source as if it was ordered, overriding the default of unordered.
  14166. AsOrdered may only be invoked on sequences returned by AsParallel, ParallelEnumerable.Range,
  14167. and ParallelEnumerable.Repeat.
  14168. </summary>
  14169. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  14170. <param name="source">The input sequence.</param>
  14171. <exception cref="T:System.InvalidOperationException">
  14172. Thrown if <paramref name="source"/> is not one of AsParallel, ParallelEnumerable.Range, or ParallelEnumerable.Repeat.
  14173. </exception>
  14174. <exception cref="T:System.ArgumentNullException">
  14175. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  14176. </exception>
  14177. <remarks>
  14178. A natural tension exists between performance and preserving order in parallel processing. By default,
  14179. a parallelized query behaves as if the ordering of the results is arbitrary
  14180. unless AsOrdered is applied or there is an explicit OrderBy operator in the query.
  14181. </remarks>
  14182. <returns>The source sequence which will maintain ordering in the query.</returns>
  14183. </member>
  14184. <member name="M:System.Linq.ParallelEnumerable.AsOrdered(System.Linq.ParallelQuery)">
  14185. <summary>
  14186. Enables treatment of a data source as if it was ordered, overriding the default of unordered.
  14187. AsOrdered may only be invoked on sequences returned by AsParallel, ParallelEnumerable.Range,
  14188. and ParallelEnumerable.Repeat.
  14189. </summary>
  14190. <param name="source">The input sequence.</param>
  14191. <exception cref="T:System.InvalidOperationException">
  14192. Thrown if the <paramref name="source"/> is not one of AsParallel, ParallelEnumerable.Range, or ParallelEnumerable.Repeat.
  14193. </exception>
  14194. <exception cref="T:System.ArgumentNullException">
  14195. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  14196. </exception>
  14197. <remarks>
  14198. A natural tension exists between performance and preserving order in parallel processing. By default,
  14199. a parallelized query behaves as if the ordering of the results is arbitrary unless AsOrdered
  14200. is applied or there is an explicit OrderBy operator in the query.
  14201. </remarks>
  14202. <returns>The source sequence which will maintain ordering in the query.</returns>
  14203. </member>
  14204. <member name="M:System.Linq.ParallelEnumerable.AsUnordered``1(System.Linq.ParallelQuery{``0})">
  14205. <summary>
  14206. Allows an intermediate query to be treated as if no ordering is implied among the elements.
  14207. </summary>
  14208. <remarks>
  14209. AsUnordered may provide
  14210. performance benefits when ordering is not required in a portion of a query.
  14211. </remarks>
  14212. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  14213. <param name="source">The input sequence.</param>
  14214. <returns>The source sequence with arbitrary order.</returns>
  14215. <exception cref="T:System.ArgumentNullException">
  14216. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  14217. </exception>
  14218. </member>
  14219. <member name="M:System.Linq.ParallelEnumerable.AsParallel(System.Collections.IEnumerable)">
  14220. <summary>
  14221. Enables parallelization of a query.
  14222. </summary>
  14223. <param name="source">An <see cref="T:System.Collections.Generic.IEnumerable`1"/> to convert
  14224. to a <see cref="T:System.Linq.ParallelQuery`1"/>.</param>
  14225. <returns>
  14226. The source as a ParallelQuery to bind to
  14227. ParallelEnumerable extension methods.
  14228. </returns>
  14229. <exception cref="T:System.ArgumentNullException">
  14230. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  14231. </exception>
  14232. </member>
  14233. <member name="M:System.Linq.ParallelEnumerable.AsSequential``1(System.Linq.ParallelQuery{``0})">
  14234. <summary>
  14235. Converts a <see cref="T:System.Linq.ParallelQuery`1"/> into an
  14236. <see cref="T:System.Collections.Generic.IEnumerable`1"/> to force sequential
  14237. evaluation of the query.
  14238. </summary>
  14239. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  14240. <param name="source">A <see cref="T:System.Linq.ParallelQuery`1"/> to convert to an <see cref="T:System.Collections.Generic.IEnumerable`1"/>.</param>
  14241. <returns>The source as an <see cref="T:System.Collections.Generic.IEnumerable`1"/>
  14242. to bind to sequential extension methods.</returns>
  14243. <exception cref="T:System.ArgumentNullException">
  14244. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  14245. </exception>
  14246. </member>
  14247. <member name="M:System.Linq.ParallelEnumerable.WithTaskScheduler``1(System.Linq.ParallelQuery{``0},System.Threading.Tasks.TaskScheduler)">
  14248. <summary>
  14249. Sets the task scheduler to execute the query.
  14250. </summary>
  14251. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  14252. <param name="source">A ParallelQuery on which to set the task scheduler option.</param>
  14253. <param name="taskScheduler">Task scheduler to execute the query.</param>
  14254. <returns>ParallelQuery representing the same query as source, but with the task scheduler option set.</returns>
  14255. <exception cref="T:System.ArgumentNullException">
  14256. <paramref name="source"/> or <paramref name="taskScheduler"/> is a null reference (Nothing in Visual Basic).
  14257. </exception>
  14258. <exception cref="T:System.InvalidOperationException">
  14259. WithTaskScheduler is used multiple times in the query.
  14260. </exception>
  14261. </member>
  14262. <member name="M:System.Linq.ParallelEnumerable.WithDegreeOfParallelism``1(System.Linq.ParallelQuery{``0},System.Int32)">
  14263. <summary>
  14264. Sets the degree of parallelism to use in a query. Degree of parallelism is the maximum number of concurrently
  14265. executing tasks that will be used to process the query.
  14266. </summary>
  14267. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  14268. <param name="source">A ParallelQuery on which to set the limit on the degrees of parallelism.</param>
  14269. <param name="degreeOfParallelism">The degree of parallelism for the query.</param>
  14270. <returns>ParallelQuery representing the same query as source, with the limit on the degrees of parallelism set.</returns>
  14271. <exception cref="T:System.ArgumentNullException">
  14272. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  14273. </exception>
  14274. <exception cref="T:System.InvalidOperationException">
  14275. WithDegreeOfParallelism is used multiple times in the query.
  14276. </exception>
  14277. <exception cref="T:System.ArgumentOutOfRangeException">
  14278. <paramref name="degreeOfParallelism"/> is less than 1 or greater than 63.
  14279. </exception>
  14280. </member>
  14281. <member name="M:System.Linq.ParallelEnumerable.WithCancellation``1(System.Linq.ParallelQuery{``0},System.Threading.CancellationToken)">
  14282. <summary>
  14283. Sets the <see cref="T:System.Threading.CancellationToken"/> to associate with the query.
  14284. </summary>
  14285. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  14286. <param name="source">A ParallelQuery on which to set the option.</param>
  14287. <param name="cancellationToken">A cancellation token.</param>
  14288. <returns>ParallelQuery representing the same query as source, but with the <seealso cref="T:System.Threading.CancellationToken"/>
  14289. registered.</returns>
  14290. <exception cref="T:System.ArgumentNullException">
  14291. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  14292. </exception>
  14293. <exception cref="T:System.InvalidOperationException">
  14294. WithCancellation is used multiple times in the query.
  14295. </exception>
  14296. <exception cref="T:System.ObjectDisposedException">
  14297. The <see cref="T:System.Threading.CancellationTokenSource"/> associated with the <paramref name="cancellationToken"/> has been disposed.
  14298. </exception>
  14299. </member>
  14300. <member name="M:System.Linq.ParallelEnumerable.WithExecutionMode``1(System.Linq.ParallelQuery{``0},System.Linq.ParallelExecutionMode)">
  14301. <summary>
  14302. Sets the execution mode of the query.
  14303. </summary>
  14304. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  14305. <param name="source">A ParallelQuery on which to set the option.</param>
  14306. <param name="executionMode">The mode in which to execute the query.</param>
  14307. <returns>ParallelQuery representing the same query as source, but with the
  14308. <seealso cref="T:System.Linq.ParallelExecutionMode"/> registered.</returns>
  14309. <exception cref="T:System.ArgumentNullException">
  14310. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  14311. </exception>
  14312. <exception cref="T:System.ArgumentException">
  14313. <paramref name="executionMode"/> is not a valid <see cref="T:System.Linq.ParallelExecutionMode"/> value.
  14314. </exception>
  14315. <exception cref="T:System.InvalidOperationException">
  14316. WithExecutionMode is used multiple times in the query.
  14317. </exception>
  14318. </member>
  14319. <member name="M:System.Linq.ParallelEnumerable.WithMergeOptions``1(System.Linq.ParallelQuery{``0},System.Linq.ParallelMergeOptions)">
  14320. <summary>
  14321. Sets the merge options for this query, which specify how the query will buffer output.
  14322. </summary>
  14323. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  14324. <param name="source">A ParallelQuery on which to set the option.</param>
  14325. <param name="mergeOptions">The merge optiosn to set for this query.</param>
  14326. <returns>ParallelQuery representing the same query as source, but with the
  14327. <seealso cref="T:System.Linq.ParallelMergeOptions"/> registered.</returns>
  14328. <exception cref="T:System.ArgumentNullException">
  14329. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  14330. </exception>
  14331. <exception cref="T:System.ArgumentException">
  14332. <paramref name="mergeOptions"/> is not a valid <see cref="T:System.Linq.ParallelMergeOptions"/> value.
  14333. </exception>
  14334. <exception cref="T:System.InvalidOperationException">
  14335. WithMergeOptions is used multiple times in the query.
  14336. </exception>
  14337. </member>
  14338. <member name="M:System.Linq.ParallelEnumerable.Range(System.Int32,System.Int32)">
  14339. <summary>
  14340. Generates a parallel sequence of integral numbers within a specified range.
  14341. </summary>
  14342. <param name="start">The value of the first integer in the sequence.</param>
  14343. <param name="count">The number of sequential integers to generate.</param>
  14344. <returns>An <b>IEnumerable&lt;Int32&gt;</b> in C# or <B>IEnumerable(Of Int32)</B> in
  14345. Visual Basic that contains a range of sequential integral numbers.</returns>
  14346. <exception cref="T:System.ArgumentOutOfRangeException">
  14347. <paramref name="count"/> is less than 0
  14348. -or-
  14349. <paramref name="start"/> + <paramref name="count"/> - 1 is larger than <see cref="M:System.Int32.MaxValue"/>.
  14350. </exception>
  14351. </member>
  14352. <member name="M:System.Linq.ParallelEnumerable.Repeat``1(``0,System.Int32)">
  14353. <summary>
  14354. Generates a parallel sequence that contains one repeated value.
  14355. </summary>
  14356. <typeparam name="TResult">The type of the value to be repeated in the result sequence.</typeparam>
  14357. <param name="element">The value to be repeated.</param>
  14358. <param name="count">The number of times to repeat the value in the generated sequence.</param>
  14359. <returns>A sequence that contains a repeated value.</returns>
  14360. <exception cref="T:System.ArgumentOutOfRangeException">
  14361. <paramref name="count"/> is less than 0.
  14362. </exception>
  14363. </member>
  14364. <member name="M:System.Linq.ParallelEnumerable.Empty``1">
  14365. <summary>
  14366. Returns an empty ParallelQuery{TResult} that has the specified type argument.
  14367. </summary>
  14368. <typeparam name="TResult">The type to assign to the type parameter of the returned
  14369. generic sequence.</typeparam>
  14370. <returns>An empty sequence whose type argument is <typeparamref name="TResult"/>.</returns>
  14371. </member>
  14372. <member name="M:System.Linq.ParallelEnumerable.ForAll``1(System.Linq.ParallelQuery{``0},System.Action{``0})">
  14373. <summary>
  14374. Invokes in parallel the specified action for each element in the <paramref name="source"/>.
  14375. </summary>
  14376. <remarks>
  14377. This is an efficient way to process the output from a parallelized query because it does
  14378. not require a merge step at the end. However, order of execution is non-deterministic.
  14379. </remarks>
  14380. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  14381. <param name="source">The <see cref="T:System.Linq.ParallelQuery`1"/> whose elements will be processed by
  14382. <paramref name="action"/>.</param>
  14383. <param name="action">An Action to invoke on each element.</param>
  14384. <exception cref="T:System.ArgumentNullException">
  14385. <paramref name="source"/> or <paramref name="action"/> is a null reference (Nothing in Visual Basic).
  14386. </exception>
  14387. <exception cref="T:System.AggregateException">
  14388. One or more exceptions occurred during the evaluation of the query.
  14389. </exception>
  14390. <exception cref="T:System.OperationCanceledException">
  14391. The query was canceled.
  14392. </exception>
  14393. </member>
  14394. <member name="M:System.Linq.ParallelEnumerable.Where``1(System.Linq.ParallelQuery{``0},System.Func{``0,System.Boolean})">
  14395. <summary>
  14396. Filters in parallel a sequence of values based on a predicate.
  14397. </summary>
  14398. <typeparam name="TSource">The type of the elements of source.</typeparam>
  14399. <param name="source">A sequence to filter.</param>
  14400. <param name="predicate">A function to test each element for a condition.</param>
  14401. <returns>A sequence that contains elements from the input sequence that satisfy
  14402. the condition.</returns>
  14403. <exception cref="T:System.ArgumentNullException">
  14404. <paramref name="source"/> or <paramref name="predicate"/> is a null reference (Nothing in Visual Basic).
  14405. </exception>
  14406. </member>
  14407. <member name="M:System.Linq.ParallelEnumerable.Where``1(System.Linq.ParallelQuery{``0},System.Func{``0,System.Int32,System.Boolean})">
  14408. <summary>
  14409. Filters in parallel a sequence of values based on a predicate. Each element's index is used in the logic of the predicate function.
  14410. </summary>
  14411. <typeparam name="TSource">The type of the elements of source.</typeparam>
  14412. <param name="source">A sequence to filter.</param>
  14413. <param name="predicate">A function to test each element for a condition.</param>
  14414. <returns>A sequence that contains elements from the input sequence that satisfy the condition.</returns>
  14415. <exception cref="T:System.ArgumentNullException">
  14416. <paramref name="source"/> or <paramref name="predicate"/> is a null reference (Nothing in Visual Basic).
  14417. </exception>
  14418. </member>
  14419. <member name="M:System.Linq.ParallelEnumerable.Select``2(System.Linq.ParallelQuery{``0},System.Func{``0,``1})">
  14420. <summary>
  14421. Projects in parallel each element of a sequence into a new form.
  14422. </summary>
  14423. <typeparam name="TSource">The type of the elements of <paramref name="source"/>.</typeparam>
  14424. <typeparam name="TResult">The type of elements resturned by <b>selector</b>.</typeparam>
  14425. <param name="source">A sequence of values to invoke a transform function on.</param>
  14426. <param name="selector">A transform function to apply to each element.</param>
  14427. <returns>A sequence whose elements are the result of invoking the transform function on each
  14428. element of <paramref name="source"/>.</returns>
  14429. <exception cref="T:System.ArgumentNullException">
  14430. <paramref name="source"/> or <paramref name="selector"/> is a null reference (Nothing in Visual Basic).
  14431. </exception>
  14432. </member>
  14433. <member name="M:System.Linq.ParallelEnumerable.Select``2(System.Linq.ParallelQuery{``0},System.Func{``0,System.Int32,``1})">
  14434. <summary>
  14435. Projects in parallel each element of a sequence into a new form by incorporating the element's index.
  14436. </summary>
  14437. <typeparam name="TSource">The type of the elements of <paramref name="source"/>.</typeparam>
  14438. <typeparam name="TResult">The type of elements resturned by <b>selector</b>.</typeparam>
  14439. <param name="source">A sequence of values to invoke a transform function on.</param>
  14440. <param name="selector">A transform function to apply to each element.</param>
  14441. <returns>A sequence whose elements are the result of invoking the transform function on each
  14442. element of <paramref name="source"/>.</returns>
  14443. <exception cref="T:System.ArgumentNullException">
  14444. <paramref name="source"/> or <paramref name="selector"/> is a null reference (Nothing in Visual Basic).
  14445. </exception>
  14446. </member>
  14447. <member name="M:System.Linq.ParallelEnumerable.Zip``3(System.Linq.ParallelQuery{``0},System.Linq.ParallelQuery{``1},System.Func{``0,``1,``2})">
  14448. <summary>
  14449. Merges in parallel two sequences by using the specified predicate function.
  14450. </summary>
  14451. <typeparam name="TFirst">The type of the elements of the first sequence.</typeparam>
  14452. <typeparam name="TSecond">The type of the elements of the second sequence.</typeparam>
  14453. <typeparam name="TResult">The type of the return elements.</typeparam>
  14454. <param name="first">The first sequence to zip.</param>
  14455. <param name="second">The second sequence to zip.</param>
  14456. <param name="resultSelector">A function to create a result element from two matching elements.</param>
  14457. <returns>
  14458. A sequence that has elements of type <typeparamref name="TResult"/> that are obtained by performing
  14459. resultSelector pairwise on two sequences. If the sequence lengths are unequal, this truncates
  14460. to the length of the shorter sequence.
  14461. </returns>
  14462. <exception cref="T:System.ArgumentNullException">
  14463. <paramref name="first"/> or <paramref name="second"/> or <paramref name="resultSelector"/> is a null reference (Nothing in Visual Basic).
  14464. </exception>
  14465. </member>
  14466. <member name="M:System.Linq.ParallelEnumerable.Zip``3(System.Linq.ParallelQuery{``0},System.Collections.Generic.IEnumerable{``1},System.Func{``0,``1,``2})">
  14467. <summary>
  14468. This Zip overload should never be called.
  14469. This method is marked as obsolete and always throws
  14470. <see cref="T:System.NotSupportedException"/> when invoked.
  14471. </summary>
  14472. <typeparam name="TFirst">This type parameter is not used.</typeparam>
  14473. <typeparam name="TSecond">This type parameter is not used.</typeparam>
  14474. <typeparam name="TResult">This type parameter is not used.</typeparam>
  14475. <param name="first">This parameter is not used.</param>
  14476. <param name="second">This parameter is not used.</param>
  14477. <param name="resultSelector">This parameter is not used.</param>
  14478. <returns>This overload always throws a <see cref="T:System.NotSupportedException"/>.</returns>
  14479. <exception cref="T:System.NotSupportedException">The exception that occurs when this method is called.</exception>
  14480. <remarks>
  14481. This overload exists to disallow usage of Zip with a left data source of type
  14482. <see cref="T:System.Linq.ParallelQuery`1"/> and a right data source of type <see cref="T:System.Collections.Generic.IEnumerable`1"/>.
  14483. Otherwise, the Zip operator would appear to be bind to the parallel implementation, but would in reality bind to the sequential implementation.
  14484. </remarks>
  14485. </member>
  14486. <member name="M:System.Linq.ParallelEnumerable.Join``4(System.Linq.ParallelQuery{``0},System.Linq.ParallelQuery{``1},System.Func{``0,``2},System.Func{``1,``2},System.Func{``0,``1,``3})">
  14487. <summary>
  14488. Correlates in parallel the elements of two sequences based on matching keys.
  14489. The default equality comparer is used to compare keys.
  14490. </summary>
  14491. <typeparam name="TOuter">The type of the elements of the first sequence.</typeparam>
  14492. <typeparam name="TInner">The type of the elements of the second sequence.</typeparam>
  14493. <typeparam name="TKey">The type of the keys returned by the key selector functions.</typeparam>
  14494. <typeparam name="TResult">The type of the result elements.</typeparam>
  14495. <param name="outer">The first sequence to join.</param>
  14496. <param name="inner">The sequence to join to the first sequence.</param>
  14497. <param name="outerKeySelector">A function to extract the join key from each element of
  14498. the first sequence.</param>
  14499. <param name="innerKeySelector">A function to extract the join key from each element of
  14500. the second sequence.</param>
  14501. <param name="resultSelector">A function to create a result element from two matching elements.</param>
  14502. <returns>A sequence that has elements of type <typeparamref name="TResult"/> that are obtained by performing
  14503. an inner join on two sequences.</returns>
  14504. <exception cref="T:System.ArgumentNullException">
  14505. <paramref name="outer"/> or <paramref name="inner"/> or <paramref name="outerKeySelector"/> or
  14506. <paramref name="innerKeySelector"/> or <paramref name="resultSelector"/> is a null reference (Nothing in Visual Basic).
  14507. </exception>
  14508. </member>
  14509. <member name="M:System.Linq.ParallelEnumerable.Join``4(System.Linq.ParallelQuery{``0},System.Collections.Generic.IEnumerable{``1},System.Func{``0,``2},System.Func{``1,``2},System.Func{``0,``1,``3})">
  14510. <summary>
  14511. This Join overload should never be called.
  14512. This method is marked as obsolete and always throws <see cref="T:System.NotSupportedException"/> when invoked.
  14513. </summary>
  14514. <typeparam name="TOuter">This type parameter is not used.</typeparam>
  14515. <typeparam name="TInner">This type parameter is not used.</typeparam>
  14516. <typeparam name="TKey">This type parameter is not used.</typeparam>
  14517. <typeparam name="TResult">This type parameter is not used.</typeparam>
  14518. <param name="outer">This parameter is not used.</param>
  14519. <param name="inner">This parameter is not used.</param>
  14520. <param name="outerKeySelector">This parameter is not used.</param>
  14521. <param name="innerKeySelector">This parameter is not used.</param>
  14522. <param name="resultSelector">This parameter is not used.</param>
  14523. <returns>This overload always throws a <see cref="T:System.NotSupportedException"/>.</returns>
  14524. <exception cref="T:System.NotSupportedException">The exception that occurs when this method is called.</exception>
  14525. <remarks>
  14526. This overload exists to disallow usage Join with a left data source of type
  14527. <see cref="T:System.Linq.ParallelQuery`1"/> and a right data source of type <see cref="T:System.Collections.Generic.IEnumerable`1"/>.
  14528. Otherwise, the Join operator would appear to be binding to the parallel implementation, but would in reality bind to the sequential implementation.
  14529. </remarks>
  14530. </member>
  14531. <member name="M:System.Linq.ParallelEnumerable.Join``4(System.Linq.ParallelQuery{``0},System.Linq.ParallelQuery{``1},System.Func{``0,``2},System.Func{``1,``2},System.Func{``0,``1,``3},System.Collections.Generic.IEqualityComparer{``2})">
  14532. <summary>
  14533. Correlates in parallel the elements of two sequences based on matching keys.
  14534. A specified IEqualityComparer{T} is used to compare keys.
  14535. </summary>
  14536. <typeparam name="TOuter">The type of the elements of the first sequence.</typeparam>
  14537. <typeparam name="TInner">The type of the elements of the second sequence.</typeparam>
  14538. <typeparam name="TKey">The type of the keys returned by the key selector functions.</typeparam>
  14539. <typeparam name="TResult">The type of the result elements.</typeparam>
  14540. <param name="outer">The first sequence to join.</param>
  14541. <param name="inner">The sequence to join to the first sequence.</param>
  14542. <param name="outerKeySelector">A function to extract the join key from each element
  14543. of the first sequence.</param>
  14544. <param name="innerKeySelector">A function to extract the join key from each element
  14545. of the second sequence.</param>
  14546. <param name="resultSelector">A function to create a result element from two matching elements.</param>
  14547. <param name="comparer">An IEqualityComparer&lt;(Of &lt;(T&gt;)&gt;) to hash and compare keys.</param>
  14548. <returns>A sequence that has elements of type <typeparamref name="TResult"/> that are obtained by performing
  14549. an inner join on two sequences.</returns>
  14550. <exception cref="T:System.ArgumentNullException">
  14551. <paramref name="outer"/> or <paramref name="inner"/> or <paramref name="outerKeySelector"/> or
  14552. <paramref name="innerKeySelector"/> or <paramref name="resultSelector"/> is a null reference (Nothing in Visual Basic).
  14553. </exception>
  14554. </member>
  14555. <member name="M:System.Linq.ParallelEnumerable.Join``4(System.Linq.ParallelQuery{``0},System.Collections.Generic.IEnumerable{``1},System.Func{``0,``2},System.Func{``1,``2},System.Func{``0,``1,``3},System.Collections.Generic.IEqualityComparer{``2})">
  14556. <summary>
  14557. This Join overload should never be called.
  14558. This method is marked as obsolete and always throws <see cref="T:System.NotSupportedException"/> when invoked.
  14559. </summary>
  14560. <typeparam name="TOuter">This type parameter is not used.</typeparam>
  14561. <typeparam name="TInner">This type parameter is not used.</typeparam>
  14562. <typeparam name="TKey">This type parameter is not used.</typeparam>
  14563. <typeparam name="TResult">This type parameter is not used.</typeparam>
  14564. <param name="outer">This parameter is not used.</param>
  14565. <param name="inner">This parameter is not used.</param>
  14566. <param name="outerKeySelector">This parameter is not used.</param>
  14567. <param name="innerKeySelector">This parameter is not used.</param>
  14568. <param name="resultSelector">This parameter is not used.</param>
  14569. <param name="comparer">This parameter is not used.</param>
  14570. <returns>This overload always throws a <see cref="T:System.NotSupportedException"/>.</returns>
  14571. <exception cref="T:System.NotSupportedException">The exception that occurs when this method is called.</exception>
  14572. <remarks>
  14573. This overload exists to disallow usage of Join with a left data source of type
  14574. <see cref="T:System.Linq.ParallelQuery`1"/> and a right data source of type <see cref="T:System.Collections.Generic.IEnumerable`1"/>.
  14575. Otherwise, the Join operator would appear to be binding to the parallel implementation, but would in reality bind to the sequential implementation.
  14576. </remarks>
  14577. </member>
  14578. <member name="M:System.Linq.ParallelEnumerable.GroupJoin``4(System.Linq.ParallelQuery{``0},System.Linq.ParallelQuery{``1},System.Func{``0,``2},System.Func{``1,``2},System.Func{``0,System.Collections.Generic.IEnumerable{``1},``3})">
  14579. <summary>
  14580. Correlates in parallel the elements of two sequences based on equality of keys and groups the results.
  14581. The default equality comparer is used to compare keys.
  14582. </summary>
  14583. <typeparam name="TOuter">The type of the elements of the first sequence.</typeparam>
  14584. <typeparam name="TInner">The type of the elements of the second sequence.</typeparam>
  14585. <typeparam name="TKey">The type of the keys returned by the key selector functions.</typeparam>
  14586. <typeparam name="TResult">The type of the result elements.</typeparam>
  14587. <param name="outer">The first sequence to join.</param>
  14588. <param name="inner">The sequence to join to the first sequence.</param>
  14589. <param name="outerKeySelector">A function to extract the join key from each element
  14590. of the first sequence.</param>
  14591. <param name="innerKeySelector">A function to extract the join key from each element
  14592. of the second sequence.</param>
  14593. <param name="resultSelector">A function to create a result element from an element from
  14594. the first sequence and a collection of matching elements from the second sequence.</param>
  14595. <returns>A sequence that has elements of type <typeparamref name="TResult"/> that are obtained by performing
  14596. a grouped join on two sequences.</returns>
  14597. <exception cref="T:System.ArgumentNullException">
  14598. <paramref name="outer"/> or <paramref name="inner"/> or <paramref name="outerKeySelector"/> or
  14599. <paramref name="innerKeySelector"/> or <paramref name="resultSelector"/> is a null reference (Nothing in Visual Basic).
  14600. </exception>
  14601. </member>
  14602. <member name="M:System.Linq.ParallelEnumerable.GroupJoin``4(System.Linq.ParallelQuery{``0},System.Collections.Generic.IEnumerable{``1},System.Func{``0,``2},System.Func{``1,``2},System.Func{``0,System.Collections.Generic.IEnumerable{``1},``3})">
  14603. <summary>
  14604. This GroupJoin overload should never be called.
  14605. This method is marked as obsolete and always throws <see cref="T:System.NotSupportedException"/> when called.
  14606. </summary>
  14607. <typeparam name="TOuter">This type parameter is not used.</typeparam>
  14608. <typeparam name="TInner">This type parameter is not used.</typeparam>
  14609. <typeparam name="TKey">This type parameter is not used.</typeparam>
  14610. <typeparam name="TResult">This type parameter is not used.</typeparam>
  14611. <param name="outer">This parameter is not used.</param>
  14612. <param name="inner">This parameter is not used.</param>
  14613. <param name="outerKeySelector">This parameter is not used.</param>
  14614. <param name="innerKeySelector">This parameter is not used.</param>
  14615. <param name="resultSelector">This parameter is not used.</param>
  14616. <returns>This overload always throws a <see cref="T:System.NotSupportedException"/>.</returns>
  14617. <exception cref="T:System.NotSupportedException">The exception that occurs when this method is called.</exception>
  14618. <remarks>
  14619. This overload exists to disallow usage of GroupJoin with a left data source of type
  14620. <see cref="T:System.Linq.ParallelQuery`1"/> and a right data source of type <see cref="T:System.Collections.Generic.IEnumerable`1"/>.
  14621. Otherwise, the GroupJoin operator would appear to be binding to the parallel implementation,
  14622. but would in reality bind to the sequential implementation.
  14623. </remarks>
  14624. </member>
  14625. <member name="M:System.Linq.ParallelEnumerable.GroupJoin``4(System.Linq.ParallelQuery{``0},System.Linq.ParallelQuery{``1},System.Func{``0,``2},System.Func{``1,``2},System.Func{``0,System.Collections.Generic.IEnumerable{``1},``3},System.Collections.Generic.IEqualityComparer{``2})">
  14626. <summary>
  14627. Correlates in parallel the elements of two sequences based on key equality and groups the results.
  14628. A specified IEqualityComparer{T} is used to compare keys.
  14629. </summary>
  14630. <typeparam name="TOuter">The type of the elements of the first sequence.</typeparam>
  14631. <typeparam name="TInner">The type of the elements of the second sequence.</typeparam>
  14632. <typeparam name="TKey">The type of the keys returned by the key selector functions.</typeparam>
  14633. <typeparam name="TResult">The type of the result elements.</typeparam>
  14634. <param name="outer">The first sequence to join.</param>
  14635. <param name="inner">The sequence to join to the first sequence.</param>
  14636. <param name="outerKeySelector">A function to extract the join key from each element
  14637. of the first sequence.</param>
  14638. <param name="innerKeySelector">A function to extract the join key from each element
  14639. of the second sequence.</param>
  14640. <param name="resultSelector">A function to create a result element from an element from
  14641. the first sequence and a collection of matching elements from the second sequence.</param>
  14642. <param name="comparer">An IEqualityComparer&lt;(Of &lt;(T&gt;)&gt;) to hash and compare keys.</param>
  14643. <returns>A sequence that has elements of type <typeparamref name="TResult"/> that are obtained by performing
  14644. a grouped join on two sequences.</returns>
  14645. <exception cref="T:System.ArgumentNullException">
  14646. <paramref name="outer"/> or <paramref name="inner"/> or <paramref name="outerKeySelector"/> or
  14647. <paramref name="innerKeySelector"/> or <paramref name="resultSelector"/> is a null reference (Nothing in Visual Basic).
  14648. </exception>
  14649. </member>
  14650. <member name="M:System.Linq.ParallelEnumerable.GroupJoin``4(System.Linq.ParallelQuery{``0},System.Collections.Generic.IEnumerable{``1},System.Func{``0,``2},System.Func{``1,``2},System.Func{``0,System.Collections.Generic.IEnumerable{``1},``3},System.Collections.Generic.IEqualityComparer{``2})">
  14651. <summary>
  14652. This GroupJoin overload should never be called.
  14653. This method is marked as obsolete and always throws <see cref="T:System.NotSupportedException"/> when called.
  14654. </summary>
  14655. <typeparam name="TOuter">This type parameter is not used.</typeparam>
  14656. <typeparam name="TInner">This type parameter is not used.</typeparam>
  14657. <typeparam name="TKey">This type parameter is not used.</typeparam>
  14658. <typeparam name="TResult">This type parameter is not used.</typeparam>
  14659. <param name="outer">This parameter is not used.</param>
  14660. <param name="inner">This parameter is not used.</param>
  14661. <param name="outerKeySelector">This parameter is not used.</param>
  14662. <param name="innerKeySelector">This parameter is not used.</param>
  14663. <param name="resultSelector">This parameter is not used.</param>
  14664. <param name="comparer">This parameter is not used.</param>
  14665. <returns>This overload always throws a <see cref="T:System.NotSupportedException"/>.</returns>
  14666. <exception cref="T:System.NotSupportedException">The exception that occurs when this method is called.</exception>
  14667. <remarks>
  14668. This overload exists to disallow usage of GroupJoin with a left data source of type
  14669. <see cref="T:System.Linq.ParallelQuery`1"/> and a right data source of type <see cref="T:System.Collections.Generic.IEnumerable`1"/>.
  14670. Otherwise, the GroupJoin operator would appear to be binding to the parallel implementation,
  14671. but would in reality bind to the sequential implementation.
  14672. </remarks>
  14673. </member>
  14674. <member name="M:System.Linq.ParallelEnumerable.SelectMany``2(System.Linq.ParallelQuery{``0},System.Func{``0,System.Collections.Generic.IEnumerable{``1}})">
  14675. <summary>
  14676. Projects in parallel each element of a sequence to an IEnumerable{T}
  14677. and flattens the resulting sequences into one sequence.
  14678. </summary>
  14679. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  14680. <typeparam name="TResult">The type of the elements of the sequence returned by <B>selector</B>.</typeparam>
  14681. <param name="source">A sequence of values to project.</param>
  14682. <param name="selector">A transform function to apply to each element.</param>
  14683. <returns>A sequence whose elements are the result of invoking the one-to-many transform
  14684. function on each element of the input sequence.</returns>
  14685. <exception cref="T:System.ArgumentNullException">
  14686. <paramref name="source"/> or <paramref name="selector"/> is a null reference (Nothing in Visual Basic).
  14687. </exception>
  14688. </member>
  14689. <member name="M:System.Linq.ParallelEnumerable.SelectMany``2(System.Linq.ParallelQuery{``0},System.Func{``0,System.Int32,System.Collections.Generic.IEnumerable{``1}})">
  14690. <summary>
  14691. Projects in parallel each element of a sequence to an IEnumerable{T}, and flattens the resulting
  14692. sequences into one sequence. The index of each source element is used in the projected form of
  14693. that element.
  14694. </summary>
  14695. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  14696. <typeparam name="TResult">The type of the elements of the sequence returned by <B>selector</B>.</typeparam>
  14697. <param name="source">A sequence of values to project.</param>
  14698. <param name="selector">A transform function to apply to each element.</param>
  14699. <returns>A sequence whose elements are the result of invoking the one-to-many transform
  14700. function on each element of the input sequence.</returns>
  14701. <exception cref="T:System.ArgumentNullException">
  14702. <paramref name="source"/> or <paramref name="selector"/> is a null reference (Nothing in Visual Basic).
  14703. </exception>
  14704. </member>
  14705. <member name="M:System.Linq.ParallelEnumerable.SelectMany``3(System.Linq.ParallelQuery{``0},System.Func{``0,System.Collections.Generic.IEnumerable{``1}},System.Func{``0,``1,``2})">
  14706. <summary>
  14707. Projects each element of a sequence to an IEnumerable{T},
  14708. flattens the resulting sequences into one sequence, and invokes a result selector
  14709. function on each element therein.
  14710. </summary>
  14711. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  14712. <typeparam name="TCollection">The type of the intermediate elements collected by <paramref name="collectionSelector"/>.</typeparam>
  14713. <typeparam name="TResult"></typeparam>
  14714. <param name="source">A sequence of values to project.</param>
  14715. <param name="collectionSelector">A transform function to apply to each source element;
  14716. the second parameter of the function represents the index of the source element.</param>
  14717. <param name="resultSelector">A function to create a result element from an element from
  14718. the first sequence and a collection of matching elements from the second sequence.</param>
  14719. <returns>A sequence whose elements are the result of invoking the one-to-many transform
  14720. function <paramref name="collectionSelector"/> on each element of <paramref name="source"/> and then mapping
  14721. each of those sequence elements and their corresponding source element to a result element.</returns>
  14722. <exception cref="T:System.ArgumentNullException">
  14723. <paramref name="source"/> or <paramref name="collectionSelector"/> or
  14724. <paramref name="resultSelector"/> is a null reference (Nothing in Visual Basic).
  14725. </exception>
  14726. </member>
  14727. <member name="M:System.Linq.ParallelEnumerable.SelectMany``3(System.Linq.ParallelQuery{``0},System.Func{``0,System.Int32,System.Collections.Generic.IEnumerable{``1}},System.Func{``0,``1,``2})">
  14728. <summary>
  14729. Projects each element of a sequence to an IEnumerable{T}, flattens the resulting
  14730. sequences into one sequence, and invokes a result selector function on each element
  14731. therein. The index of each source element is used in the intermediate projected
  14732. form of that element.
  14733. </summary>
  14734. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  14735. <typeparam name="TCollection">The type of the intermediate elements collected by
  14736. <paramref name="collectionSelector"/>.</typeparam>
  14737. <typeparam name="TResult">The type of elements to return.</typeparam>
  14738. <param name="source">A sequence of values to project.</param>
  14739. <param name="collectionSelector">A transform function to apply to each source element;
  14740. the second parameter of the function represents the index of the source element.</param>
  14741. <param name="resultSelector">A function to create a result element from an element from
  14742. the first sequence and a collection of matching elements from the second sequence.</param>
  14743. <returns>
  14744. A sequence whose elements are the result of invoking the one-to-many transform
  14745. function <paramref name="collectionSelector"/> on each element of <paramref name="source"/> and then mapping
  14746. each of those sequence elements and their corresponding source element to a
  14747. result element.
  14748. </returns>
  14749. <exception cref="T:System.ArgumentNullException">
  14750. <paramref name="source"/> or <paramref name="collectionSelector"/> or
  14751. <paramref name="resultSelector"/> is a null reference (Nothing in Visual Basic).
  14752. </exception>
  14753. </member>
  14754. <member name="M:System.Linq.ParallelEnumerable.OrderBy``2(System.Linq.ParallelQuery{``0},System.Func{``0,``1})">
  14755. <summary>
  14756. Sorts in parallel the elements of a sequence in ascending order according to a key.
  14757. </summary>
  14758. <remarks>
  14759. In contrast to the sequential implementation, this is not a stable sort.
  14760. To achieve a stable sort, change a query of the form:
  14761. <code>var ordered = source.OrderBy((e) => e.k);</code>
  14762. to instead be formed as:
  14763. <code>var ordered = source.Select((e,i) => new { E=e, I=i }).OrderBy((v) => v.i).Select((v) => v.e);</code>
  14764. </remarks>
  14765. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  14766. <typeparam name="TKey">The type of the key returned by <paramref name="keySelector"/>.</typeparam>
  14767. <param name="source">A sequence of values to order.</param>
  14768. <param name="keySelector">A function to extract a key from an element.</param>
  14769. <returns>An OrderedParallelQuery{TSource} whose elements are sorted
  14770. according to a key.</returns>
  14771. <exception cref="T:System.ArgumentNullException">
  14772. <paramref name="source"/> or <paramref name="keySelector"/> is a null reference (Nothing in Visual Basic).
  14773. </exception>
  14774. </member>
  14775. <member name="M:System.Linq.ParallelEnumerable.OrderBy``2(System.Linq.ParallelQuery{``0},System.Func{``0,``1},System.Collections.Generic.IComparer{``1})">
  14776. <summary>
  14777. Sorts in parallel the elements of a sequence in ascending order by using a specified comparer.
  14778. </summary>
  14779. <remarks>
  14780. In contrast to the sequential implementation, this is not a stable sort.
  14781. See the remarks for OrderBy(ParallelQuery{TSource}, Func{TSource,TKey}) for
  14782. an approach to implementing a stable sort.
  14783. </remarks>
  14784. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  14785. <typeparam name="TKey">The type of the key returned by <paramref name="keySelector"/>.</typeparam>
  14786. <param name="source">A sequence of values to order.</param>
  14787. <param name="keySelector">A function to extract a key from an element.</param>
  14788. <param name="comparer">An IComparer{TKey} to compare keys.</param>
  14789. <returns>An OrderedParallelQuery{TSource} whose elements are sorted according
  14790. to a key.</returns>
  14791. <exception cref="T:System.ArgumentNullException">
  14792. <paramref name="source"/> or <paramref name="keySelector"/> is a null reference (Nothing in Visual Basic).
  14793. </exception>
  14794. </member>
  14795. <member name="M:System.Linq.ParallelEnumerable.OrderByDescending``2(System.Linq.ParallelQuery{``0},System.Func{``0,``1})">
  14796. <summary>
  14797. Sorts in parallel the elements of a sequence in descending order according to a key.
  14798. </summary>
  14799. <remarks>
  14800. In contrast to the sequential implementation, this is not a stable sort.
  14801. See the remarks for OrderBy(ParallelQuery{TSource}, Func{TSource,TKey}) for
  14802. an approach to implementing a stable sort.
  14803. </remarks>
  14804. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  14805. <typeparam name="TKey">The type of the key returned by <paramref name="keySelector"/>.</typeparam>
  14806. <param name="source">A sequence of values to order.</param>
  14807. <param name="keySelector">A function to extract a key from an element.</param>
  14808. <returns>An OrderedParallelQuery{TSource} whose elements are sorted
  14809. descending according to a key.</returns>
  14810. <exception cref="T:System.ArgumentNullException">
  14811. <paramref name="source"/> or <paramref name="keySelector"/> is a null reference (Nothing in Visual Basic).
  14812. </exception>
  14813. </member>
  14814. <member name="M:System.Linq.ParallelEnumerable.OrderByDescending``2(System.Linq.ParallelQuery{``0},System.Func{``0,``1},System.Collections.Generic.IComparer{``1})">
  14815. <summary>
  14816. Sorts the elements of a sequence in descending order by using a specified comparer.
  14817. </summary>
  14818. <remarks>
  14819. In contrast to the sequential implementation, this is not a stable sort.
  14820. See the remarks for OrderBy(ParallelQuery{TSource}, Func{TSource,TKey}) for
  14821. an approach to implementing a stable sort.
  14822. </remarks>
  14823. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  14824. <typeparam name="TKey">The type of the key returned by <paramref name="keySelector"/>.</typeparam>
  14825. <param name="source">A sequence of values to order.</param>
  14826. <param name="keySelector">A function to extract a key from an element.</param>
  14827. <param name="comparer">An IComparer{TKey} to compare keys.</param>
  14828. <returns>An OrderedParallelQuery{TSource} whose elements are sorted descending
  14829. according to a key.</returns>
  14830. <exception cref="T:System.ArgumentNullException">
  14831. <paramref name="source"/> or <paramref name="keySelector"/> is a null reference (Nothing in Visual Basic).
  14832. </exception>
  14833. </member>
  14834. <member name="M:System.Linq.ParallelEnumerable.ThenBy``2(System.Linq.OrderedParallelQuery{``0},System.Func{``0,``1})">
  14835. <summary>
  14836. Performs in parallel a subsequent ordering of the elements in a sequence
  14837. in ascending order according to a key.
  14838. </summary>
  14839. <remarks>
  14840. In contrast to the sequential implementation, this is not a stable sort.
  14841. See the remarks for OrderBy(ParallelQuery{TSource}, Func{TSource,TKey}) for
  14842. an approach to implementing a stable sort.
  14843. </remarks>
  14844. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  14845. <typeparam name="TKey">The type of the key returned by <paramref name="keySelector"/>.</typeparam>
  14846. <param name="source">An OrderedParallelQuery{TSource} than
  14847. contains elements to sort.</param>
  14848. <param name="keySelector">A function to extract a key from an element.</param>
  14849. <returns>An OrderedParallelQuery{TSource} whose elements are
  14850. sorted according to a key.</returns>
  14851. <exception cref="T:System.ArgumentNullException">
  14852. <paramref name="source"/> or <paramref name="keySelector"/> is a null reference (Nothing in Visual Basic).
  14853. </exception>
  14854. </member>
  14855. <member name="M:System.Linq.ParallelEnumerable.ThenBy``2(System.Linq.OrderedParallelQuery{``0},System.Func{``0,``1},System.Collections.Generic.IComparer{``1})">
  14856. <summary>
  14857. Performs in parallel a subsequent ordering of the elements in a sequence in
  14858. ascending order by using a specified comparer.
  14859. </summary>
  14860. <remarks>
  14861. In contrast to the sequential implementation, this is not a stable sort.
  14862. See the remarks for OrderBy(ParallelQuery{TSource}, Func{TSource,TKey}) for
  14863. an approach to implementing a stable sort.
  14864. </remarks>
  14865. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  14866. <typeparam name="TKey">The type of the key returned by <paramref name="keySelector"/>.</typeparam>
  14867. <param name="source">An OrderedParallelQuery{TSource} that contains
  14868. elements to sort.</param>
  14869. <param name="keySelector">A function to extract a key from an element.</param>
  14870. <param name="comparer">An IComparer{TKey} to compare keys.</param>
  14871. <returns>An OrderedParallelQuery{TSource} whose elements are sorted
  14872. according to a key.</returns>
  14873. <exception cref="T:System.ArgumentNullException">
  14874. <paramref name="source"/> or <paramref name="keySelector"/> is a null reference (Nothing in Visual Basic).
  14875. </exception>
  14876. </member>
  14877. <member name="M:System.Linq.ParallelEnumerable.ThenByDescending``2(System.Linq.OrderedParallelQuery{``0},System.Func{``0,``1})">
  14878. <summary>
  14879. Performs in parallel a subsequent ordering of the elements in a sequence in
  14880. descending order, according to a key.
  14881. </summary>
  14882. <remarks>
  14883. In contrast to the sequential implementation, this is not a stable sort.
  14884. See the remarks for OrderBy(ParallelQuery{TSource}, Func{TSource,TKey}) for
  14885. an approach to implementing a stable sort.
  14886. </remarks>
  14887. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  14888. <typeparam name="TKey">The type of the key returned by <paramref name="keySelector"/>.</typeparam>
  14889. <param name="source">An OrderedParallelQuery{TSource} than contains
  14890. elements to sort.</param>
  14891. <param name="keySelector">A function to extract a key from an element.</param>
  14892. <returns>An OrderedParallelQuery{TSource} whose elements are sorted
  14893. descending according to a key.</returns>
  14894. <exception cref="T:System.ArgumentNullException">
  14895. <paramref name="source"/> or <paramref name="keySelector"/> is a null reference (Nothing in Visual Basic).
  14896. </exception>
  14897. </member>
  14898. <member name="M:System.Linq.ParallelEnumerable.ThenByDescending``2(System.Linq.OrderedParallelQuery{``0},System.Func{``0,``1},System.Collections.Generic.IComparer{``1})">
  14899. <summary>
  14900. Performs in parallel a subsequent ordering of the elements in a sequence in descending
  14901. order by using a specified comparer.
  14902. </summary>
  14903. <remarks>
  14904. In contrast to the sequential implementation, this is not a stable sort.
  14905. See the remarks for OrderBy(ParallelQuery{TSource}, Func{TSource,TKey}) for
  14906. an approach to implementing a stable sort.
  14907. </remarks>
  14908. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  14909. <typeparam name="TKey">The type of the key returned by <paramref name="keySelector"/>.</typeparam>
  14910. <param name="source">An OrderedParallelQuery{TSource} than contains
  14911. elements to sort.</param>
  14912. <param name="keySelector">A function to extract a key from an element.</param>
  14913. <param name="comparer">An IComparer{TKey} to compare keys.</param>
  14914. <returns>An OrderedParallelQuery{TSource} whose elements are sorted
  14915. descending according to a key.</returns>
  14916. <exception cref="T:System.ArgumentNullException">
  14917. <paramref name="source"/> or <paramref name="keySelector"/> is a null reference (Nothing in Visual Basic).
  14918. </exception>
  14919. </member>
  14920. <member name="M:System.Linq.ParallelEnumerable.GroupBy``2(System.Linq.ParallelQuery{``0},System.Func{``0,``1})">
  14921. <summary>
  14922. Groups in parallel the elements of a sequence according to a specified key selector function.
  14923. </summary>
  14924. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  14925. <typeparam name="TKey">The type of the key returned by <paramref name="keySelector"/>.</typeparam>
  14926. <param name="source">An OrderedParallelQuery{TSource}than contains
  14927. elements to sort.</param>
  14928. <param name="keySelector">A function to extract a key from an element.</param>
  14929. <returns>An OrderedParallelQuery{TSource}whose elements are sorted
  14930. descending according to a key.</returns>
  14931. </member>
  14932. <member name="M:System.Linq.ParallelEnumerable.GroupBy``2(System.Linq.ParallelQuery{``0},System.Func{``0,``1},System.Collections.Generic.IEqualityComparer{``1})">
  14933. <summary>
  14934. Groups in parallel the elements of a sequence according to a specified key selector function and compares the keys by using a specified comparer.
  14935. </summary>
  14936. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  14937. <typeparam name="TKey">The type of the key returned by <paramref name="keySelector"/>>.</typeparam>
  14938. <param name="source">An OrderedParallelQuery{TSource} than contains
  14939. elements to sort.</param>
  14940. <param name="keySelector">A function to extract a key from an element.</param>
  14941. <param name="comparer">An IComparer{TSource} to compare keys.</param>
  14942. <returns>An OrderedParallelQuery{TSource} whose elements are sorted
  14943. descending according to a key.</returns>
  14944. <exception cref="T:System.ArgumentNullException">
  14945. <paramref name="source"/> or <paramref name="keySelector"/> is a null reference (Nothing in Visual Basic).
  14946. </exception>
  14947. </member>
  14948. <member name="M:System.Linq.ParallelEnumerable.GroupBy``3(System.Linq.ParallelQuery{``0},System.Func{``0,``1},System.Func{``0,``2})">
  14949. <summary>
  14950. Groups in parallel the elements of a sequence according to a specified key selector function and
  14951. projects the elements for each group by using a specified function.
  14952. </summary>
  14953. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  14954. <typeparam name="TKey">The type of the key returned by <paramref name="keySelector"/>.</typeparam>
  14955. <typeparam name="TElement">The type of the elements in the IGrouping</typeparam>
  14956. <param name="source">An OrderedParallelQuery&lt;(Of &lt;(TElement&gt;)&gt;) than contains
  14957. elements to sort.</param>
  14958. <param name="keySelector">A function to extract a key from an element.</param>
  14959. <param name="elementSelector">A function to map each source element to an element in an IGrouping.</param>
  14960. <returns>A ParallelQuery&lt;IGrouping&lt;TKey, TElement&gt;&gt; in C# or
  14961. ParallelQuery(Of IGrouping(Of TKey, TElement)) in Visual Basic where each IGrouping
  14962. generic object contains a collection of objects of type <typeparamref name="TElement"/> and a key.</returns>
  14963. <exception cref="T:System.ArgumentNullException">
  14964. <paramref name="source"/> or <paramref name="keySelector"/> or
  14965. <paramref name="elementSelector"/> is a null reference (Nothing in Visual Basic).
  14966. </exception>
  14967. </member>
  14968. <member name="M:System.Linq.ParallelEnumerable.GroupBy``3(System.Linq.ParallelQuery{``0},System.Func{``0,``1},System.Func{``0,``2},System.Collections.Generic.IEqualityComparer{``1})">
  14969. <summary>
  14970. Groups in parallel the elements of a sequence according to a key selector function.
  14971. The keys are compared by using a comparer and each group's elements are projected by
  14972. using a specified function.
  14973. </summary>
  14974. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  14975. <typeparam name="TKey">The type of the key returned by <paramref name="keySelector"/>.</typeparam>
  14976. <typeparam name="TElement">The type of the elements in the IGrouping</typeparam>
  14977. <param name="source">An OrderedParallelQuery{TSource}than contains elements to sort.</param>
  14978. <param name="keySelector">A function to extract a key from an element.</param>
  14979. <param name="elementSelector">A function to map each source element to an element in an IGrouping.</param>
  14980. <param name="comparer">An IComparer{TSource} to compare keys.</param>
  14981. <returns>
  14982. A ParallelQuery{IGrouping{TKey, TElement}} in C# or
  14983. ParallelQuery(Of IGrouping(Of TKey, TElement)) in Visual Basic where each IGrouping
  14984. generic object contains a collection of objects of type <typeparamref name="TElement"/> and a key.
  14985. </returns>
  14986. <exception cref="T:System.ArgumentNullException">
  14987. <paramref name="source"/> or <paramref name="keySelector"/> or
  14988. <paramref name="elementSelector"/> is a null reference (Nothing in Visual Basic).
  14989. </exception>
  14990. </member>
  14991. <member name="M:System.Linq.ParallelEnumerable.GroupBy``3(System.Linq.ParallelQuery{``0},System.Func{``0,``1},System.Func{``1,System.Collections.Generic.IEnumerable{``0},``2})">
  14992. <summary>
  14993. Groups in parallel the elements of a sequence according to a specified
  14994. key selector function and creates a result value from each group and its key.
  14995. </summary>
  14996. <typeparam name="TSource">The type of the elements of <paramref name="source"/>.</typeparam>
  14997. <typeparam name="TKey">The type of the key returned by <paramref name="keySelector"/>.</typeparam>
  14998. <typeparam name="TResult">The type of the result value returned by <paramref name="resultSelector"/>.</typeparam>
  14999. <param name="source">A sequence whose elements to group.</param>
  15000. <param name="keySelector">A function to extract the key for each element.</param>
  15001. <param name="resultSelector">A function to create a result value from each group.</param>
  15002. <returns>A collection of elements of type <typeparamref name="TResult"/> where each element represents a
  15003. projection over a group and its key.</returns>
  15004. <exception cref="T:System.ArgumentNullException">
  15005. <paramref name="source"/> or <paramref name="keySelector"/> or
  15006. <paramref name="resultSelector"/> is a null reference (Nothing in Visual Basic).
  15007. </exception>
  15008. </member>
  15009. <member name="M:System.Linq.ParallelEnumerable.GroupBy``3(System.Linq.ParallelQuery{``0},System.Func{``0,``1},System.Func{``1,System.Collections.Generic.IEnumerable{``0},``2},System.Collections.Generic.IEqualityComparer{``1})">
  15010. <summary>
  15011. Groups in parallel the elements of a sequence according to a specified key selector function
  15012. and creates a result value from each group and its key. The keys are compared
  15013. by using a specified comparer.
  15014. </summary>
  15015. <typeparam name="TSource">The type of the elements of <paramref name="source"/>.</typeparam>
  15016. <typeparam name="TKey">The type of the key returned by <paramref name="keySelector"/>.</typeparam>
  15017. <typeparam name="TResult">The type of the result value returned by <paramref name="resultSelector"/>.</typeparam>
  15018. <param name="source">A sequence whose elements to group.</param>
  15019. <param name="keySelector">A function to extract the key for each element.</param>
  15020. <param name="resultSelector">A function to create a result value from each group.</param>
  15021. <param name="comparer">An IEqualityComparer{TKey} to compare keys.</param>
  15022. <returns>
  15023. An <B>ParallelQuery&lt;IGrouping&lt;TKey, TResult&gt;&gt;</B> in C# or
  15024. <B>ParallelQuery(Of IGrouping(Of TKey, TResult))</B> in Visual Basic where each
  15025. IGrouping&lt;(Of &lt;(TKey, TResult&gt;)&gt;) object contains a collection of objects
  15026. of type <typeparamref name="TResult"/> and a key.
  15027. </returns>
  15028. <exception cref="T:System.ArgumentNullException">
  15029. <paramref name="source"/> or <paramref name="keySelector"/> or
  15030. <paramref name="resultSelector"/> is a null reference (Nothing in Visual Basic).
  15031. </exception>
  15032. </member>
  15033. <member name="M:System.Linq.ParallelEnumerable.GroupBy``4(System.Linq.ParallelQuery{``0},System.Func{``0,``1},System.Func{``0,``2},System.Func{``1,System.Collections.Generic.IEnumerable{``2},``3})">
  15034. <summary>
  15035. Groups in parallel the elements of a sequence according to a specified key
  15036. selector function and creates a result value from each group and its key.
  15037. The elements of each group are projected by using a specified function.
  15038. </summary>
  15039. <typeparam name="TSource">The type of the elements of <paramref name="source"/>.</typeparam>
  15040. <typeparam name="TKey">The type of the key returned by <paramref name="keySelector"/>.</typeparam>
  15041. <typeparam name="TElement">The type of the elements in each
  15042. IGrouping{TKey, TElement}.</typeparam>
  15043. <typeparam name="TResult">The type of the result value returned by <paramref name="resultSelector"/>.</typeparam>
  15044. <param name="source">A sequence whose elements to group.</param>
  15045. <param name="keySelector">A function to extract the key for each element.</param>
  15046. <param name="elementSelector">A function to map each source element to an element in an
  15047. IGrouping&lt;TKey, TElement&gt;.</param>
  15048. <param name="resultSelector">A function to create a result value from each group.</param>
  15049. <returns>A collection of elements of type <typeparamref name="TElement"/> where each element represents a
  15050. projection over a group and its key.</returns>
  15051. <exception cref="T:System.ArgumentNullException">
  15052. <paramref name="source"/> or <paramref name="keySelector"/> or
  15053. <paramref name="elementSelector"/> or <paramref name="resultSelector"/> is a null reference (Nothing in Visual Basic).
  15054. </exception>
  15055. </member>
  15056. <member name="M:System.Linq.ParallelEnumerable.GroupBy``4(System.Linq.ParallelQuery{``0},System.Func{``0,``1},System.Func{``0,``2},System.Func{``1,System.Collections.Generic.IEnumerable{``2},``3},System.Collections.Generic.IEqualityComparer{``1})">
  15057. <summary>
  15058. Groups the elements of a sequence according to a specified key selector function and
  15059. creates a result value from each group and its key. Key values are compared by using a
  15060. specified comparer, and the elements of each group are projected by using a specified function.
  15061. </summary>
  15062. <typeparam name="TSource">The type of the elements of <paramref name="source"/>.</typeparam>
  15063. <typeparam name="TKey">The type of the key returned by <paramref name="keySelector"/>.</typeparam>
  15064. <typeparam name="TElement">The type of the elements in each
  15065. IGrouping{TKey, TElement}.</typeparam>
  15066. <typeparam name="TResult">The type of the result value returned by <paramref name="resultSelector"/>.</typeparam>
  15067. <param name="source">A sequence whose elements to group.</param>
  15068. <param name="keySelector">A function to extract the key for each element.</param>
  15069. <param name="elementSelector">A function to map each source element to an element in an
  15070. IGrouping{Key, TElement}.</param>
  15071. <param name="resultSelector">A function to create a result value from each group.</param>
  15072. <param name="comparer">An IEqualityComparer{TKey} to compare keys.</param>
  15073. <returns>A collection of elements of type <typeparamref name="TResult"/> where each element represents a
  15074. projection over a group and its key.</returns>
  15075. <exception cref="T:System.ArgumentNullException">
  15076. <paramref name="source"/> or <paramref name="keySelector"/> or
  15077. <paramref name="elementSelector"/> or <paramref name="resultSelector"/> is a null reference (Nothing in Visual Basic).
  15078. </exception>
  15079. </member>
  15080. <member name="M:System.Linq.ParallelEnumerable.PerformSequentialAggregation``2(System.Linq.ParallelQuery{``0},``1,System.Boolean,System.Func{``1,``0,``1})">
  15081. <summary>
  15082. Run an aggregation sequentially. If the user-provided reduction function throws an exception, wrap
  15083. it with an AggregateException.
  15084. </summary>
  15085. <param name="source"></param>
  15086. <param name="seed"></param>
  15087. <param name="seedIsSpecified">
  15088. if true, use the seed provided in the method argument
  15089. if false, use the first element of the sequence as the seed instead
  15090. </param>
  15091. <param name="func"></param>
  15092. </member>
  15093. <member name="M:System.Linq.ParallelEnumerable.Aggregate``1(System.Linq.ParallelQuery{``0},System.Func{``0,``0,``0})">
  15094. <summary>
  15095. Applies in parallel an accumulator function over a sequence.
  15096. </summary>
  15097. <typeparam name="TSource">The type of the elements of <paramref name="source"/>.</typeparam>
  15098. <param name="source">A sequence to aggregate over.</param>
  15099. <param name="func">An accumulator function to be invoked on each element.</param>
  15100. <returns>The final accumulator value.</returns>
  15101. <exception cref="T:System.ArgumentNullException">
  15102. <paramref name="source"/> or <paramref name="func"/> is a null reference (Nothing in Visual Basic).
  15103. </exception>
  15104. <exception cref="T:System.InvalidOperationException">
  15105. <paramref name="source"/> contains no elements.
  15106. </exception>
  15107. <exception cref="T:System.AggregateException">
  15108. One or more exceptions occurred during the evaluation of the query.
  15109. </exception>
  15110. <exception cref="T:System.OperationCanceledException">
  15111. The query was canceled.
  15112. </exception>
  15113. </member>
  15114. <member name="M:System.Linq.ParallelEnumerable.Aggregate``2(System.Linq.ParallelQuery{``0},``1,System.Func{``1,``0,``1})">
  15115. <summary>
  15116. Applies in parallel an accumulator function over a sequence.
  15117. The specified seed value is used as the initial accumulator value.
  15118. </summary>
  15119. <typeparam name="TSource">The type of the elements of <paramref name="source"/>.</typeparam>
  15120. <typeparam name="TAccumulate">The type of the accumulator value.</typeparam>
  15121. <param name="source">A sequence to aggregate over.</param>
  15122. <param name="seed">The initial accumulator value.</param>
  15123. <param name="func">An accumulator function to be invoked on each element.</param>
  15124. <returns>The final accumulator value.</returns>
  15125. <exception cref="T:System.ArgumentNullException">
  15126. <paramref name="source"/> or <paramref name="func"/> is a null reference (Nothing in Visual Basic).
  15127. </exception>
  15128. <exception cref="T:System.AggregateException">
  15129. One or more exceptions occurred during the evaluation of the query.
  15130. </exception>
  15131. <exception cref="T:System.OperationCanceledException">
  15132. The query was canceled.
  15133. </exception>
  15134. </member>
  15135. <member name="M:System.Linq.ParallelEnumerable.Aggregate``3(System.Linq.ParallelQuery{``0},``1,System.Func{``1,``0,``1},System.Func{``1,``2})">
  15136. <summary>
  15137. Applies in parallel an accumulator function over a sequence. The specified
  15138. seed value is used as the initial accumulator value, and the specified
  15139. function is used to select the result value.
  15140. </summary>
  15141. <typeparam name="TSource">The type of the elements of <paramref name="source"/>.</typeparam>
  15142. <typeparam name="TAccumulate">The type of the accumulator value.</typeparam>
  15143. <typeparam name="TResult">The type of the resulting value.</typeparam>
  15144. <param name="source">A sequence to aggregate over.</param>
  15145. <param name="seed">The initial accumulator value.</param>
  15146. <param name="func">An accumulator function to be invoked on each element.</param>
  15147. <param name="resultSelector">A function to transform the final accumulator value
  15148. into the result value.</param>
  15149. <returns>The transformed final accumulator value.</returns>
  15150. <exception cref="T:System.ArgumentNullException">
  15151. <paramref name="source"/> or <paramref name="func"/> or <paramref name="resultSelector"/> is a null reference (Nothing in Visual Basic).
  15152. </exception>
  15153. <exception cref="T:System.AggregateException">
  15154. One or more exceptions occurred during the evaluation of the query.
  15155. </exception>
  15156. <exception cref="T:System.OperationCanceledException">
  15157. The query was canceled.
  15158. </exception>
  15159. </member>
  15160. <member name="M:System.Linq.ParallelEnumerable.Aggregate``3(System.Linq.ParallelQuery{``0},``1,System.Func{``1,``0,``1},System.Func{``1,``1,``1},System.Func{``1,``2})">
  15161. <summary>
  15162. Applies in parallel an accumulator function over a sequence. This overload is not
  15163. available in the sequential implementation.
  15164. </summary>
  15165. <remarks>
  15166. This overload is specific to processing a parallelized query. A parallelized query may
  15167. partition the data source sequence into several sub-sequences (partitions).
  15168. The <paramref name="updateAccumulatorFunc"/> is invoked on each element within partitions.
  15169. Each partition then yields a single accumulated result. The <paramref name="combineAccumulatorsFunc"/>
  15170. is then invoked on the results of each partition to yield a single element. This element is then
  15171. transformed by the <paramref name="resultSelector"/> function.
  15172. </remarks>
  15173. <typeparam name="TSource">The type of the elements of <paramref name="source"/>.</typeparam>
  15174. <typeparam name="TAccumulate">The type of the accumulator value.</typeparam>
  15175. <typeparam name="TResult">The type of the resulting value.</typeparam>
  15176. <param name="source">A sequence to aggregate over.</param>
  15177. <param name="seed">The initial accumulator value.</param>
  15178. <param name="updateAccumulatorFunc">
  15179. An accumulator function to be invoked on each element in a partition.
  15180. </param>
  15181. <param name="combineAccumulatorsFunc">
  15182. An accumulator function to be invoked on the yielded element from each partition.
  15183. </param>
  15184. <param name="resultSelector">
  15185. A function to transform the final accumulator value into the result value.
  15186. </param>
  15187. <returns>The transformed final accumulator value.</returns>
  15188. <exception cref="T:System.ArgumentNullException">
  15189. <paramref name="source"/> or <paramref name="updateAccumulatorFunc"/>
  15190. or <paramref name="combineAccumulatorsFunc"/> or <paramref name="resultSelector"/> is a null reference (Nothing in Visual Basic).
  15191. </exception>
  15192. <exception cref="T:System.AggregateException">
  15193. One or more exceptions occurred during the evaluation of the query.
  15194. </exception>
  15195. <exception cref="T:System.OperationCanceledException">
  15196. The query was canceled.
  15197. </exception>
  15198. </member>
  15199. <member name="M:System.Linq.ParallelEnumerable.Aggregate``3(System.Linq.ParallelQuery{``0},System.Func{``1},System.Func{``1,``0,``1},System.Func{``1,``1,``1},System.Func{``1,``2})">
  15200. <summary>
  15201. Applies in parallel an accumulator function over a sequence. This overload is not
  15202. available in the sequential implementation.
  15203. </summary>
  15204. <remarks>
  15205. This overload is specific to parallelized queries. A parallelized query may partition the data source sequence
  15206. into several sub-sequences (partitions). The <paramref name="updateAccumulatorFunc"/> is invoked
  15207. on each element within partitions. Each partition then yields a single accumulated result.
  15208. The <paramref name="combineAccumulatorsFunc"/>
  15209. is then invoked on the results of each partition to yield a single element. This element is then
  15210. transformed by the <paramref name="resultSelector"/> function.
  15211. </remarks>
  15212. <typeparam name="TSource">The type of the elements of <paramref name="source"/>.</typeparam>
  15213. <typeparam name="TAccumulate">The type of the accumulator value.</typeparam>
  15214. <typeparam name="TResult">The type of the resulting value.</typeparam>
  15215. <param name="source">A sequence to aggregate over.</param>
  15216. <param name="seedFactory">
  15217. A function that returns the initial accumulator value.
  15218. </param>
  15219. <param name="updateAccumulatorFunc">
  15220. An accumulator function to be invoked on each element in a partition.
  15221. </param>
  15222. <param name="combineAccumulatorsFunc">
  15223. An accumulator function to be invoked on the yielded element from each partition.
  15224. </param>
  15225. <param name="resultSelector">
  15226. A function to transform the final accumulator value into the result value.
  15227. </param>
  15228. <returns>The transformed final accumulator value.</returns>
  15229. <exception cref="T:System.ArgumentNullException">
  15230. <paramref name="source"/> or <paramref name="seedFactory"/> or <paramref name="updateAccumulatorFunc"/>
  15231. or <paramref name="combineAccumulatorsFunc"/> or <paramref name="resultSelector"/> is a null reference (Nothing in Visual Basic).
  15232. </exception>
  15233. <exception cref="T:System.AggregateException">
  15234. One or more exceptions occurred during the evaluation of the query.
  15235. </exception>
  15236. <exception cref="T:System.OperationCanceledException">
  15237. The query was canceled.
  15238. </exception>
  15239. </member>
  15240. <member name="M:System.Linq.ParallelEnumerable.Count``1(System.Linq.ParallelQuery{``0})">
  15241. <summary>
  15242. Returns the number of elements in a parallel sequence.
  15243. </summary>
  15244. <typeparam name="TSource">The type of the elements of <paramref name="source"/>.</typeparam>
  15245. <param name="source">A sequence that contains elements to be counted.</param>
  15246. <returns>The number of elements in the input sequence.</returns>
  15247. <exception cref="T:System.ArgumentNullException">
  15248. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  15249. </exception>
  15250. <exception cref="T:System.AggregateException">
  15251. The number of elements in source is larger than <see cref="M:System.Int32.MaxValue"/>.
  15252. -or-
  15253. One or more exceptions occurred during the evaluation of the query.
  15254. </exception>
  15255. <exception cref="T:System.OperationCanceledException">
  15256. The query was canceled.
  15257. </exception>
  15258. </member>
  15259. <member name="M:System.Linq.ParallelEnumerable.Count``1(System.Linq.ParallelQuery{``0},System.Func{``0,System.Boolean})">
  15260. <summary>
  15261. Returns a number that represents how many elements in the specified
  15262. parallel sequence satisfy a condition.
  15263. </summary>
  15264. <typeparam name="TSource">The type of the elements of <paramref name="source"/>.</typeparam>
  15265. <param name="source">A sequence that contains elements to be counted.</param>
  15266. <param name="predicate">A function to test each element for a condition.</param>
  15267. <returns>
  15268. A number that represents how many elements in the sequence satisfy the condition
  15269. in the predicate function.
  15270. </returns>
  15271. <exception cref="T:System.ArgumentNullException">
  15272. <paramref name="source"/> or <paramref name="predicate"/> is a null reference (Nothing in Visual Basic).
  15273. </exception>
  15274. <exception cref="T:System.AggregateException">
  15275. The number of elements in source is larger than <see cref="M:System.Int32.MaxValue"/>.
  15276. -or-
  15277. One or more exceptions occurred during the evaluation of the query.
  15278. </exception>
  15279. <exception cref="T:System.OperationCanceledException">
  15280. The query was canceled.
  15281. </exception>
  15282. </member>
  15283. <member name="M:System.Linq.ParallelEnumerable.LongCount``1(System.Linq.ParallelQuery{``0})">
  15284. <summary>
  15285. Returns an Int64 that represents the total number of elements in a parallel sequence.
  15286. </summary>
  15287. <typeparam name="TSource">The type of the elements of <paramref name="source"/>.</typeparam>
  15288. <param name="source">A sequence that contains elements to be counted.</param>
  15289. <returns>The number of elements in the input sequence.</returns>
  15290. <exception cref="T:System.ArgumentNullException">
  15291. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  15292. </exception>
  15293. <exception cref="T:System.AggregateException">
  15294. The number of elements in source is larger than <see cref="M:System.Int64.MaxValue"/>.
  15295. -or-
  15296. One or more exceptions occurred during the evaluation of the query.
  15297. </exception>
  15298. <exception cref="T:System.OperationCanceledException">
  15299. The query was canceled.
  15300. </exception>
  15301. </member>
  15302. <member name="M:System.Linq.ParallelEnumerable.LongCount``1(System.Linq.ParallelQuery{``0},System.Func{``0,System.Boolean})">
  15303. <summary>
  15304. Returns an Int64 that represents how many elements in a parallel sequence satisfy a condition.
  15305. </summary>
  15306. <typeparam name="TSource">The type of the elements of <paramref name="source"/>.</typeparam>
  15307. <param name="source">A sequence that contains elements to be counted.</param>
  15308. <param name="predicate">A function to test each element for a condition.</param>
  15309. <returns>
  15310. A number that represents how many elements in the sequence satisfy the condition
  15311. in the predicate function.
  15312. </returns>
  15313. <exception cref="T:System.ArgumentNullException">
  15314. <paramref name="source"/> or <paramref name="predicate"/> is a null reference (Nothing in Visual Basic).
  15315. </exception>
  15316. <exception cref="T:System.AggregateException">
  15317. The number of elements in source is larger than <see cref="M:System.Int64.MaxValue"/>.
  15318. -or-
  15319. One or more exceptions occurred during the evaluation of the query.
  15320. </exception>
  15321. <exception cref="T:System.OperationCanceledException">
  15322. The query was canceled.
  15323. </exception>
  15324. </member>
  15325. <member name="M:System.Linq.ParallelEnumerable.Sum(System.Linq.ParallelQuery{System.Int32})">
  15326. <summary>
  15327. Computes in parallel the sum of a sequence of values.
  15328. </summary>
  15329. <param name="source">A sequence of values to calculate the sum of.</param>
  15330. <returns>The sum of the values in the sequence.</returns>
  15331. <exception cref="T:System.ArgumentNullException">
  15332. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  15333. </exception>
  15334. <exception cref="T:System.AggregateException">
  15335. The sum is larger than <see cref="M:System.Int32.MaxValue"/>.
  15336. -or-
  15337. One or more exceptions occurred during the evaluation of the query.
  15338. </exception>
  15339. <exception cref="T:System.OperationCanceledException">
  15340. The query was canceled.
  15341. </exception>
  15342. </member>
  15343. <member name="M:System.Linq.ParallelEnumerable.Sum(System.Linq.ParallelQuery{System.Nullable{System.Int32}})">
  15344. <summary>
  15345. Computes in parallel the sum of a sequence of values.
  15346. </summary>
  15347. <param name="source">A sequence of values to calculate the sum of.</param>
  15348. <returns>The sum of the values in the sequence.</returns>
  15349. <exception cref="T:System.ArgumentNullException">
  15350. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  15351. </exception>
  15352. <exception cref="T:System.AggregateException">
  15353. The sum is larger than <see cref="M:System.Int32.MaxValue"/>.
  15354. -or-
  15355. One or more exceptions occurred during the evaluation of the query.
  15356. </exception>
  15357. <exception cref="T:System.OperationCanceledException">
  15358. The query was canceled.
  15359. </exception>
  15360. </member>
  15361. <member name="M:System.Linq.ParallelEnumerable.Sum(System.Linq.ParallelQuery{System.Int64})">
  15362. <summary>
  15363. Computes in parallel the sum of a sequence of values.
  15364. </summary>
  15365. <param name="source">A sequence of values to calculate the sum of.</param>
  15366. <returns>The sum of the values in the sequence.</returns>
  15367. <exception cref="T:System.ArgumentNullException">
  15368. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  15369. </exception>
  15370. <exception cref="T:System.AggregateException">
  15371. The sum is larger than <see cref="M:System.Int64.MaxValue"/>.
  15372. -or-
  15373. One or more exceptions occurred during the evaluation of the query.
  15374. </exception>
  15375. <exception cref="T:System.OperationCanceledException">
  15376. The query was canceled.
  15377. </exception>
  15378. </member>
  15379. <member name="M:System.Linq.ParallelEnumerable.Sum(System.Linq.ParallelQuery{System.Nullable{System.Int64}})">
  15380. <summary>
  15381. Computes in parallel the sum of a sequence of values.
  15382. </summary>
  15383. <param name="source">A sequence of values to calculate the sum of.</param>
  15384. <returns>The sum of the values in the sequence.</returns>
  15385. <exception cref="T:System.ArgumentNullException">
  15386. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  15387. </exception>
  15388. <exception cref="T:System.AggregateException">
  15389. The sum is larger than <see cref="M:System.Int64.MaxValue"/>.
  15390. -or-
  15391. One or more exceptions occurred during the evaluation of the query.
  15392. </exception>
  15393. <exception cref="T:System.OperationCanceledException">
  15394. The query was canceled.
  15395. </exception>
  15396. </member>
  15397. <member name="M:System.Linq.ParallelEnumerable.Sum(System.Linq.ParallelQuery{System.Single})">
  15398. <summary>
  15399. Computes in parallel the sum of a sequence of values.
  15400. </summary>
  15401. <param name="source">A sequence of values to calculate the sum of.</param>
  15402. <returns>The sum of the values in the sequence.</returns>
  15403. <exception cref="T:System.ArgumentNullException">
  15404. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  15405. </exception>
  15406. <exception cref="T:System.AggregateException">
  15407. One or more exceptions occurred during the evaluation of the query.
  15408. </exception>
  15409. <exception cref="T:System.OperationCanceledException">
  15410. The query was canceled.
  15411. </exception>
  15412. </member>
  15413. <member name="M:System.Linq.ParallelEnumerable.Sum(System.Linq.ParallelQuery{System.Nullable{System.Single}})">
  15414. <summary>
  15415. Computes in parallel the sum of a sequence of values.
  15416. </summary>
  15417. <param name="source">A sequence of values to calculate the sum of.</param>
  15418. <returns>The sum of the values in the sequence.</returns>
  15419. <exception cref="T:System.ArgumentNullException">
  15420. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  15421. </exception>
  15422. <exception cref="T:System.AggregateException">
  15423. One or more exceptions occurred during the evaluation of the query.
  15424. </exception>
  15425. <exception cref="T:System.OperationCanceledException">
  15426. The query was canceled.
  15427. </exception>
  15428. </member>
  15429. <member name="M:System.Linq.ParallelEnumerable.Sum(System.Linq.ParallelQuery{System.Double})">
  15430. <summary>
  15431. Computes in parallel the sum of a sequence of values.
  15432. </summary>
  15433. <param name="source">A sequence of values to calculate the sum of.</param>
  15434. <returns>The sum of the values in the sequence.</returns>
  15435. <exception cref="T:System.ArgumentNullException">
  15436. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  15437. </exception>
  15438. <exception cref="T:System.AggregateException">
  15439. One or more exceptions occurred during the evaluation of the query.
  15440. </exception>
  15441. <exception cref="T:System.OperationCanceledException">
  15442. The query was canceled.
  15443. </exception>
  15444. </member>
  15445. <member name="M:System.Linq.ParallelEnumerable.Sum(System.Linq.ParallelQuery{System.Nullable{System.Double}})">
  15446. <summary>
  15447. Computes in parallel the sum of a sequence of values.
  15448. </summary>
  15449. <param name="source">A sequence of values to calculate the sum of.</param>
  15450. <returns>The sum of the values in the sequence.</returns>
  15451. <exception cref="T:System.ArgumentNullException">
  15452. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  15453. </exception>
  15454. <exception cref="T:System.AggregateException">
  15455. One or more exceptions occurred during the evaluation of the query.
  15456. </exception>
  15457. <exception cref="T:System.OperationCanceledException">
  15458. The query was canceled.
  15459. </exception>
  15460. </member>
  15461. <member name="M:System.Linq.ParallelEnumerable.Sum(System.Linq.ParallelQuery{System.Decimal})">
  15462. <summary>
  15463. Computes in parallel the sum of a sequence of values.
  15464. </summary>
  15465. <param name="source">A sequence of values to calculate the sum of.</param>
  15466. <returns>The sum of the values in the sequence.</returns>
  15467. <exception cref="T:System.ArgumentNullException">
  15468. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  15469. </exception>
  15470. <exception cref="T:System.AggregateException">
  15471. The sum is larger than <see cref="M:System.Decimal.MaxValue"/>.
  15472. -or-
  15473. One or more exceptions occurred during the evaluation of the query.
  15474. </exception>
  15475. <exception cref="T:System.OperationCanceledException">
  15476. The query was canceled.
  15477. </exception>
  15478. </member>
  15479. <member name="M:System.Linq.ParallelEnumerable.Sum(System.Linq.ParallelQuery{System.Nullable{System.Decimal}})">
  15480. <summary>
  15481. Computes in parallel the sum of a sequence of values.
  15482. </summary>
  15483. <param name="source">A sequence of values to calculate the sum of.</param>
  15484. <returns>The sum of the values in the sequence.</returns>
  15485. <exception cref="T:System.ArgumentNullException">
  15486. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  15487. </exception>
  15488. <exception cref="T:System.AggregateException">
  15489. The sum is larger than <see cref="M:System.Decimal.MaxValue"/>.
  15490. -or-
  15491. One or more exceptions occurred during the evaluation of the query.
  15492. </exception>
  15493. <exception cref="T:System.OperationCanceledException">
  15494. The query was canceled.
  15495. </exception>
  15496. </member>
  15497. <member name="M:System.Linq.ParallelEnumerable.Sum``1(System.Linq.ParallelQuery{``0},System.Func{``0,System.Int32})">
  15498. <summary>
  15499. Computes in parallel the sum of the sequence of values that are obtained
  15500. by invoking a transform function on each element of the input sequence.
  15501. </summary>
  15502. <param name="source">A sequence of values to calculate the sum of.</param>
  15503. <param name="selector">A transform function to apply to each element.</param>
  15504. <returns>The sum of the values in the sequence.</returns>
  15505. <exception cref="T:System.ArgumentNullException">
  15506. <paramref name="source"/> or <paramref name="selector"/> is a null reference (Nothing in Visual Basic).
  15507. </exception>
  15508. <exception cref="T:System.AggregateException">
  15509. The sum is larger than <see cref="M:System.Int32.MaxValue"/>.
  15510. -or-
  15511. One or more exceptions occurred during the evaluation of the query.
  15512. </exception>
  15513. <exception cref="T:System.OperationCanceledException">
  15514. The query was canceled.
  15515. </exception>
  15516. </member>
  15517. <member name="M:System.Linq.ParallelEnumerable.Sum``1(System.Linq.ParallelQuery{``0},System.Func{``0,System.Nullable{System.Int32}})">
  15518. <summary>
  15519. Computes in parallel the sum of the sequence of values that are obtained
  15520. by invoking a transform function on each element of the input sequence.
  15521. </summary>
  15522. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  15523. <param name="source">A sequence of values to calculate the sum of.</param>
  15524. <param name="selector">A transform function to apply to each element.</param>
  15525. <returns>The sum of the values in the sequence.</returns>
  15526. <exception cref="T:System.ArgumentNullException">
  15527. <paramref name="source"/> or <paramref name="selector"/> is a null reference (Nothing in Visual Basic).
  15528. </exception>
  15529. <exception cref="T:System.AggregateException">
  15530. The sum is larger than <see cref="M:System.Int32.MaxValue"/>.
  15531. -or-
  15532. One or more exceptions occurred during the evaluation of the query.
  15533. </exception>
  15534. <exception cref="T:System.OperationCanceledException">
  15535. The query was canceled.
  15536. </exception>
  15537. </member>
  15538. <member name="M:System.Linq.ParallelEnumerable.Sum``1(System.Linq.ParallelQuery{``0},System.Func{``0,System.Int64})">
  15539. <summary>
  15540. Computes in parallel the sum of the sequence of values that are obtained
  15541. by invoking a transform function on each element of the input sequence.
  15542. </summary>
  15543. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  15544. <param name="source">A sequence of values to calculate the sum of.</param>
  15545. <param name="selector">A transform function to apply to each element.</param>
  15546. <returns>The sum of the values in the sequence.</returns>
  15547. <exception cref="T:System.ArgumentNullException">
  15548. <paramref name="source"/> or <paramref name="selector"/> is a null reference (Nothing in Visual Basic).
  15549. </exception>
  15550. <exception cref="T:System.AggregateException">
  15551. The sum is larger than <see cref="M:System.Int64.MaxValue"/>.
  15552. -or-
  15553. One or more exceptions occurred during the evaluation of the query.
  15554. </exception>
  15555. <exception cref="T:System.OperationCanceledException">
  15556. The query was canceled.
  15557. </exception>
  15558. </member>
  15559. <member name="M:System.Linq.ParallelEnumerable.Sum``1(System.Linq.ParallelQuery{``0},System.Func{``0,System.Nullable{System.Int64}})">
  15560. <summary>
  15561. Computes in parallel the sum of the sequence of values that are obtained
  15562. by invoking a transform function on each element of the input sequence.
  15563. </summary>
  15564. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  15565. <param name="source">A sequence of values to calculate the sum of.</param>
  15566. <param name="selector">A transform function to apply to each element.</param>
  15567. <returns>The sum of the values in the sequence.</returns>
  15568. <exception cref="T:System.ArgumentNullException">
  15569. <paramref name="source"/> or <paramref name="selector"/> is a null reference (Nothing in Visual Basic).
  15570. </exception>
  15571. <exception cref="T:System.AggregateException">
  15572. The sum is larger than <see cref="M:System.Int64.MaxValue"/>.
  15573. -or-
  15574. One or more exceptions occurred during the evaluation of the query.
  15575. </exception>
  15576. <exception cref="T:System.OperationCanceledException">
  15577. The query was canceled.
  15578. </exception>
  15579. </member>
  15580. <member name="M:System.Linq.ParallelEnumerable.Sum``1(System.Linq.ParallelQuery{``0},System.Func{``0,System.Single})">
  15581. <summary>
  15582. Computes in parallel the sum of the sequence of values that are obtained
  15583. by invoking a transform function on each element of the input sequence.
  15584. </summary>
  15585. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  15586. <param name="source">A sequence of values to calculate the sum of.</param>
  15587. <param name="selector">A transform function to apply to each element.</param>
  15588. <returns>The sum of the values in the sequence.</returns>
  15589. <exception cref="T:System.ArgumentNullException">
  15590. <paramref name="source"/> or <paramref name="selector"/> is a null reference (Nothing in Visual Basic).
  15591. </exception>
  15592. <exception cref="T:System.AggregateException">
  15593. One or more exceptions occurred during the evaluation of the query.
  15594. </exception>
  15595. <exception cref="T:System.OperationCanceledException">
  15596. The query was canceled.
  15597. </exception>
  15598. </member>
  15599. <member name="M:System.Linq.ParallelEnumerable.Sum``1(System.Linq.ParallelQuery{``0},System.Func{``0,System.Nullable{System.Single}})">
  15600. <summary>
  15601. Computes in parallel the sum of the sequence of values that are obtained
  15602. by invoking a transform function on each element of the input sequence.
  15603. </summary>
  15604. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  15605. <param name="source">A sequence of values to calculate the sum of.</param>
  15606. <param name="selector">A transform function to apply to each element.</param>
  15607. <returns>The sum of the values in the sequence.</returns>
  15608. <exception cref="T:System.ArgumentNullException">
  15609. <paramref name="source"/> or <paramref name="selector"/> is a null reference (Nothing in Visual Basic).
  15610. </exception>
  15611. <exception cref="T:System.AggregateException">
  15612. One or more exceptions occurred during the evaluation of the query.
  15613. </exception>
  15614. <exception cref="T:System.OperationCanceledException">
  15615. The query was canceled.
  15616. </exception>
  15617. </member>
  15618. <member name="M:System.Linq.ParallelEnumerable.Sum``1(System.Linq.ParallelQuery{``0},System.Func{``0,System.Double})">
  15619. <summary>
  15620. Computes in parallel the sum of the sequence of values that are obtained
  15621. by invoking a transform function on each element of the input sequence.
  15622. </summary>
  15623. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  15624. <param name="source">A sequence of values to calculate the sum of.</param>
  15625. <param name="selector">A transform function to apply to each element.</param>
  15626. <returns>The sum of the values in the sequence.</returns>
  15627. <exception cref="T:System.ArgumentNullException">
  15628. <paramref name="source"/> or <paramref name="selector"/> is a null reference (Nothing in Visual Basic).
  15629. </exception>
  15630. <exception cref="T:System.AggregateException">
  15631. One or more exceptions occurred during the evaluation of the query.
  15632. </exception>
  15633. <exception cref="T:System.OperationCanceledException">
  15634. The query was canceled.
  15635. </exception>
  15636. </member>
  15637. <member name="M:System.Linq.ParallelEnumerable.Sum``1(System.Linq.ParallelQuery{``0},System.Func{``0,System.Nullable{System.Double}})">
  15638. <summary>
  15639. Computes in parallel the sum of the sequence of values that are obtained
  15640. by invoking a transform function on each element of the input sequence.
  15641. </summary>
  15642. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  15643. <param name="source">A sequence of values to calculate the sum of.</param>
  15644. <param name="selector">A transform function to apply to each element.</param>
  15645. <returns>The sum of the values in the sequence.</returns>
  15646. <exception cref="T:System.ArgumentNullException">
  15647. <paramref name="source"/> or <paramref name="selector"/> is a null reference (Nothing in Visual Basic).
  15648. </exception>
  15649. <exception cref="T:System.AggregateException">
  15650. One or more exceptions occurred during the evaluation of the query.
  15651. </exception>
  15652. <exception cref="T:System.OperationCanceledException">
  15653. The query was canceled.
  15654. </exception>
  15655. </member>
  15656. <member name="M:System.Linq.ParallelEnumerable.Sum``1(System.Linq.ParallelQuery{``0},System.Func{``0,System.Decimal})">
  15657. <summary>
  15658. Computes in parallel the sum of the sequence of values that are obtained
  15659. by invoking a transform function on each element of the input sequence.
  15660. </summary>
  15661. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  15662. <param name="source">A sequence of values to calculate the sum of.</param>
  15663. <param name="selector">A transform function to apply to each element.</param>
  15664. <returns>The sum of the values in the sequence.</returns>
  15665. <exception cref="T:System.ArgumentNullException">
  15666. <paramref name="source"/> or <paramref name="selector"/> is a null reference (Nothing in Visual Basic).
  15667. </exception>
  15668. <exception cref="T:System.AggregateException">
  15669. The sum is larger than <see cref="M:System.Decimal.MaxValue"/>.
  15670. -or-
  15671. One or more exceptions occurred during the evaluation of the query.
  15672. </exception>
  15673. <exception cref="T:System.OperationCanceledException">
  15674. The query was canceled.
  15675. </exception>
  15676. </member>
  15677. <member name="M:System.Linq.ParallelEnumerable.Sum``1(System.Linq.ParallelQuery{``0},System.Func{``0,System.Nullable{System.Decimal}})">
  15678. <summary>
  15679. Computes in parallel the sum of the sequence of values that are obtained
  15680. by invoking a transform function on each element of the input sequence.
  15681. </summary>
  15682. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  15683. <param name="source">A sequence of values to calculate the sum of.</param>
  15684. <param name="selector">A transform function to apply to each element.</param>
  15685. <returns>The sum of the values in the sequence.</returns>
  15686. <exception cref="T:System.ArgumentNullException">
  15687. <paramref name="source"/> or <paramref name="selector"/> is a null reference (Nothing in Visual Basic).
  15688. </exception>
  15689. <exception cref="T:System.AggregateException">
  15690. The sum is larger than <see cref="M:System.Decimal.MaxValue"/>.
  15691. -or-
  15692. One or more exceptions occurred during the evaluation of the query.
  15693. </exception>
  15694. <exception cref="T:System.OperationCanceledException">
  15695. The query was canceled.
  15696. </exception>
  15697. </member>
  15698. <member name="M:System.Linq.ParallelEnumerable.Min(System.Linq.ParallelQuery{System.Int32})">
  15699. <summary>
  15700. Returns the minimum value in a parallel sequence of values.
  15701. </summary>
  15702. <param name="source">A sequence of values to determine the minimum value of.</param>
  15703. <returns>The minimum value in the sequence.</returns>
  15704. <exception cref="T:System.ArgumentNullException">
  15705. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  15706. </exception>
  15707. <exception cref="T:System.InvalidOperationException">
  15708. <paramref name="source"/> contains no elements.
  15709. </exception>
  15710. <exception cref="T:System.AggregateException">
  15711. One or more exceptions occurred during the evaluation of the query.
  15712. </exception>
  15713. <exception cref="T:System.OperationCanceledException">
  15714. The query was canceled.
  15715. </exception>
  15716. </member>
  15717. <member name="M:System.Linq.ParallelEnumerable.Min(System.Linq.ParallelQuery{System.Nullable{System.Int32}})">
  15718. <summary>
  15719. Returns the minimum value in a parallel sequence of values.
  15720. </summary>
  15721. <param name="source">A sequence of values to determine the minimum value of.</param>
  15722. <returns>The minimum value in the sequence.</returns>
  15723. <exception cref="T:System.ArgumentNullException">
  15724. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  15725. </exception>
  15726. <exception cref="T:System.AggregateException">
  15727. One or more exceptions occurred during the evaluation of the query.
  15728. </exception>
  15729. <exception cref="T:System.OperationCanceledException">
  15730. The query was canceled.
  15731. </exception>
  15732. </member>
  15733. <member name="M:System.Linq.ParallelEnumerable.Min(System.Linq.ParallelQuery{System.Int64})">
  15734. <summary>
  15735. Returns the minimum value in a parallel sequence of values.
  15736. </summary>
  15737. <param name="source">A sequence of values to determine the minimum value of.</param>
  15738. <returns>The minimum value in the sequence.</returns>
  15739. <exception cref="T:System.ArgumentNullException">
  15740. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  15741. </exception>
  15742. <exception cref="T:System.InvalidOperationException">
  15743. <paramref name="source"/> contains no elements.
  15744. </exception>
  15745. <exception cref="T:System.AggregateException">
  15746. One or more exceptions occurred during the evaluation of the query.
  15747. </exception>
  15748. <exception cref="T:System.OperationCanceledException">
  15749. The query was canceled.
  15750. </exception>
  15751. </member>
  15752. <member name="M:System.Linq.ParallelEnumerable.Min(System.Linq.ParallelQuery{System.Nullable{System.Int64}})">
  15753. <summary>
  15754. Returns the minimum value in a parallel sequence of values.
  15755. </summary>
  15756. <param name="source">A sequence of values to determine the minimum value of.</param>
  15757. <returns>The minimum value in the sequence.</returns>
  15758. <exception cref="T:System.ArgumentNullException">
  15759. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  15760. </exception>
  15761. <exception cref="T:System.AggregateException">
  15762. One or more exceptions occurred during the evaluation of the query.
  15763. </exception>
  15764. <exception cref="T:System.OperationCanceledException">
  15765. The query was canceled.
  15766. </exception>
  15767. </member>
  15768. <member name="M:System.Linq.ParallelEnumerable.Min(System.Linq.ParallelQuery{System.Single})">
  15769. <summary>
  15770. Returns the minimum value in a parallel sequence of values.
  15771. </summary>
  15772. <param name="source">A sequence of values to determine the minimum value of.</param>
  15773. <returns>The minimum value in the sequence.</returns>
  15774. <exception cref="T:System.ArgumentNullException">
  15775. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  15776. </exception>
  15777. <exception cref="T:System.InvalidOperationException">
  15778. <paramref name="source"/> contains no elements.
  15779. </exception>
  15780. <exception cref="T:System.AggregateException">
  15781. One or more exceptions occurred during the evaluation of the query.
  15782. </exception>
  15783. <exception cref="T:System.OperationCanceledException">
  15784. The query was canceled.
  15785. </exception>
  15786. </member>
  15787. <member name="M:System.Linq.ParallelEnumerable.Min(System.Linq.ParallelQuery{System.Nullable{System.Single}})">
  15788. <summary>
  15789. Returns the minimum value in a parallel sequence of values.
  15790. </summary>
  15791. <param name="source">A sequence of values to determine the minimum value of.</param>
  15792. <returns>The minimum value in the sequence.</returns>
  15793. <exception cref="T:System.ArgumentNullException">
  15794. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  15795. </exception>
  15796. <exception cref="T:System.AggregateException">
  15797. One or more exceptions occurred during the evaluation of the query.
  15798. </exception>
  15799. <exception cref="T:System.OperationCanceledException">
  15800. The query was canceled.
  15801. </exception>
  15802. </member>
  15803. <member name="M:System.Linq.ParallelEnumerable.Min(System.Linq.ParallelQuery{System.Double})">
  15804. <summary>
  15805. Returns the minimum value in a parallel sequence of values.
  15806. </summary>
  15807. <param name="source">A sequence of values to determine the minimum value of.</param>
  15808. <returns>The minimum value in the sequence.</returns>
  15809. <exception cref="T:System.ArgumentNullException">
  15810. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  15811. </exception>
  15812. <exception cref="T:System.InvalidOperationException">
  15813. <paramref name="source"/> contains no elements.
  15814. </exception>
  15815. <exception cref="T:System.AggregateException">
  15816. One or more exceptions occurred during the evaluation of the query.
  15817. </exception>
  15818. <exception cref="T:System.OperationCanceledException">
  15819. The query was canceled.
  15820. </exception>
  15821. </member>
  15822. <member name="M:System.Linq.ParallelEnumerable.Min(System.Linq.ParallelQuery{System.Nullable{System.Double}})">
  15823. <summary>
  15824. Returns the minimum value in a parallel sequence of values.
  15825. </summary>
  15826. <param name="source">A sequence of values to determine the minimum value of.</param>
  15827. <returns>The minimum value in the sequence.</returns>
  15828. <exception cref="T:System.ArgumentNullException">
  15829. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  15830. </exception>
  15831. <exception cref="T:System.AggregateException">
  15832. One or more exceptions occurred during the evaluation of the query.
  15833. </exception>
  15834. <exception cref="T:System.OperationCanceledException">
  15835. The query was canceled.
  15836. </exception>
  15837. </member>
  15838. <member name="M:System.Linq.ParallelEnumerable.Min(System.Linq.ParallelQuery{System.Decimal})">
  15839. <summary>
  15840. Returns the minimum value in a parallel sequence of values.
  15841. </summary>
  15842. <param name="source">A sequence of values to determine the minimum value of.</param>
  15843. <returns>The minimum value in the sequence.</returns>
  15844. <exception cref="T:System.ArgumentNullException">
  15845. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  15846. </exception>
  15847. <exception cref="T:System.InvalidOperationException">
  15848. <paramref name="source"/> contains no elements.
  15849. </exception>
  15850. <exception cref="T:System.AggregateException">
  15851. One or more exceptions occurred during the evaluation of the query.
  15852. </exception>
  15853. <exception cref="T:System.OperationCanceledException">
  15854. The query was canceled.
  15855. </exception>
  15856. </member>
  15857. <member name="M:System.Linq.ParallelEnumerable.Min(System.Linq.ParallelQuery{System.Nullable{System.Decimal}})">
  15858. <summary>
  15859. Returns the minimum value in a parallel sequence of values.
  15860. </summary>
  15861. <param name="source">A sequence of values to determine the minimum value of.</param>
  15862. <returns>The minimum value in the sequence.</returns>
  15863. <exception cref="T:System.ArgumentNullException">
  15864. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  15865. </exception>
  15866. <exception cref="T:System.AggregateException">
  15867. One or more exceptions occurred during the evaluation of the query.
  15868. </exception>
  15869. <exception cref="T:System.OperationCanceledException">
  15870. The query was canceled.
  15871. </exception>
  15872. </member>
  15873. <member name="M:System.Linq.ParallelEnumerable.Min``1(System.Linq.ParallelQuery{``0})">
  15874. <summary>
  15875. Returns the minimum value in a parallel sequence of values.
  15876. </summary>
  15877. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  15878. <param name="source">A sequence of values to determine the minimum value of.</param>
  15879. <returns>The minimum value in the sequence.</returns>
  15880. <exception cref="T:System.ArgumentNullException">
  15881. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  15882. </exception>
  15883. <exception cref="T:System.InvalidOperationException">
  15884. <paramref name="source"/> contains no elements and <typeparamref name="TSource"/> is a non-nullable value type.
  15885. </exception>
  15886. <exception cref="T:System.AggregateException">
  15887. One or more exceptions occurred during the evaluation of the query.
  15888. </exception>
  15889. <exception cref="T:System.OperationCanceledException">
  15890. The query was canceled.
  15891. </exception>
  15892. </member>
  15893. <member name="M:System.Linq.ParallelEnumerable.Min``1(System.Linq.ParallelQuery{``0},System.Func{``0,System.Int32})">
  15894. <summary>
  15895. Invokes in parallel a transform function on each element of a
  15896. sequence and returns the minimum value.
  15897. </summary>
  15898. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  15899. <param name="source">A sequence of values to determine the minimum value of.</param>
  15900. <param name="selector">A transform function to apply to each element.</param>
  15901. <returns>The minimum value in the sequence.</returns>
  15902. <exception cref="T:System.ArgumentNullException">
  15903. <paramref name="source"/> or <paramref name="selector"/> is a null reference (Nothing in Visual Basic).
  15904. </exception>
  15905. <exception cref="T:System.InvalidOperationException">
  15906. <paramref name="source"/> contains no elements.
  15907. </exception>
  15908. <exception cref="T:System.AggregateException">
  15909. One or more exceptions occurred during the evaluation of the query.
  15910. </exception>
  15911. <exception cref="T:System.OperationCanceledException">
  15912. The query was canceled.
  15913. </exception>
  15914. </member>
  15915. <member name="M:System.Linq.ParallelEnumerable.Min``1(System.Linq.ParallelQuery{``0},System.Func{``0,System.Nullable{System.Int32}})">
  15916. <summary>
  15917. Invokes in parallel a transform function on each element of a
  15918. sequence and returns the minimum value.
  15919. </summary>
  15920. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  15921. <param name="source">A sequence of values to determine the minimum value of.</param>
  15922. <param name="selector">A transform function to apply to each element.</param>
  15923. <returns>The minimum value in the sequence.</returns>
  15924. <exception cref="T:System.ArgumentNullException">
  15925. <paramref name="source"/> or <paramref name="selector"/> is a null reference (Nothing in Visual Basic).
  15926. </exception>
  15927. <exception cref="T:System.AggregateException">
  15928. One or more exceptions occurred during the evaluation of the query.
  15929. </exception>
  15930. <exception cref="T:System.OperationCanceledException">
  15931. The query was canceled.
  15932. </exception>
  15933. </member>
  15934. <member name="M:System.Linq.ParallelEnumerable.Min``1(System.Linq.ParallelQuery{``0},System.Func{``0,System.Int64})">
  15935. <summary>
  15936. Invokes in parallel a transform function on each element of a
  15937. sequence and returns the minimum value.
  15938. </summary>
  15939. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  15940. <param name="source">A sequence of values to determine the minimum value of.</param>
  15941. <param name="selector">A transform function to apply to each element.</param>
  15942. <returns>The minimum value in the sequence.</returns>
  15943. <exception cref="T:System.ArgumentNullException">
  15944. <paramref name="source"/> or <paramref name="selector"/> is a null reference (Nothing in Visual Basic).
  15945. </exception>
  15946. <exception cref="T:System.InvalidOperationException">
  15947. <paramref name="source"/> contains no elements.
  15948. </exception>
  15949. <exception cref="T:System.AggregateException">
  15950. One or more exceptions occurred during the evaluation of the query.
  15951. </exception>
  15952. <exception cref="T:System.OperationCanceledException">
  15953. The query was canceled.
  15954. </exception>
  15955. </member>
  15956. <member name="M:System.Linq.ParallelEnumerable.Min``1(System.Linq.ParallelQuery{``0},System.Func{``0,System.Nullable{System.Int64}})">
  15957. <summary>
  15958. Invokes in parallel a transform function on each element of a
  15959. sequence and returns the minimum value.
  15960. </summary>
  15961. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  15962. <param name="source">A sequence of values to determine the minimum value of.</param>
  15963. <param name="selector">A transform function to apply to each element.</param>
  15964. <returns>The minimum value in the sequence.</returns>
  15965. <exception cref="T:System.ArgumentNullException">
  15966. <paramref name="source"/> or <paramref name="selector"/> is a null reference (Nothing in Visual Basic).
  15967. </exception>
  15968. <exception cref="T:System.AggregateException">
  15969. One or more exceptions occurred during the evaluation of the query.
  15970. </exception>
  15971. <exception cref="T:System.OperationCanceledException">
  15972. The query was canceled.
  15973. </exception>
  15974. </member>
  15975. <member name="M:System.Linq.ParallelEnumerable.Min``1(System.Linq.ParallelQuery{``0},System.Func{``0,System.Single})">
  15976. <summary>
  15977. Invokes in parallel a transform function on each element of a
  15978. sequence and returns the minimum value.
  15979. </summary>
  15980. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  15981. <param name="source">A sequence of values to determine the minimum value of.</param>
  15982. <param name="selector">A transform function to apply to each element.</param>
  15983. <returns>The minimum value in the sequence.</returns>
  15984. <exception cref="T:System.ArgumentNullException">
  15985. <paramref name="source"/> or <paramref name="selector"/> is a null reference (Nothing in Visual Basic).
  15986. </exception>
  15987. <exception cref="T:System.InvalidOperationException">
  15988. <paramref name="source"/> contains no elements.
  15989. </exception>
  15990. <exception cref="T:System.AggregateException">
  15991. One or more exceptions occurred during the evaluation of the query.
  15992. </exception>
  15993. <exception cref="T:System.OperationCanceledException">
  15994. The query was canceled.
  15995. </exception>
  15996. </member>
  15997. <member name="M:System.Linq.ParallelEnumerable.Min``1(System.Linq.ParallelQuery{``0},System.Func{``0,System.Nullable{System.Single}})">
  15998. <summary>
  15999. Invokes in parallel a transform function on each element of a
  16000. sequence and returns the minimum value.
  16001. </summary>
  16002. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  16003. <param name="source">A sequence of values to determine the minimum value of.</param>
  16004. <param name="selector">A transform function to apply to each element.</param>
  16005. <returns>The minimum value in the sequence.</returns>
  16006. <exception cref="T:System.ArgumentNullException">
  16007. <paramref name="source"/> or <paramref name="selector"/> is a null reference (Nothing in Visual Basic).
  16008. </exception>
  16009. <exception cref="T:System.AggregateException">
  16010. One or more exceptions occurred during the evaluation of the query.
  16011. </exception>
  16012. <exception cref="T:System.OperationCanceledException">
  16013. The query was canceled.
  16014. </exception>
  16015. </member>
  16016. <member name="M:System.Linq.ParallelEnumerable.Min``1(System.Linq.ParallelQuery{``0},System.Func{``0,System.Double})">
  16017. <summary>
  16018. Invokes in parallel a transform function on each element of a
  16019. sequence and returns the minimum value.
  16020. </summary>
  16021. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  16022. <param name="source">A sequence of values to determine the minimum value of.</param>
  16023. <param name="selector">A transform function to apply to each element.</param>
  16024. <returns>The minimum value in the sequence.</returns>
  16025. <exception cref="T:System.ArgumentNullException">
  16026. <paramref name="source"/> or <paramref name="selector"/> is a null reference (Nothing in Visual Basic).
  16027. </exception>
  16028. <exception cref="T:System.InvalidOperationException">
  16029. <paramref name="source"/> contains no elements.
  16030. </exception>
  16031. <exception cref="T:System.AggregateException">
  16032. One or more exceptions occurred during the evaluation of the query.
  16033. </exception>
  16034. <exception cref="T:System.OperationCanceledException">
  16035. The query was canceled.
  16036. </exception>
  16037. </member>
  16038. <member name="M:System.Linq.ParallelEnumerable.Min``1(System.Linq.ParallelQuery{``0},System.Func{``0,System.Nullable{System.Double}})">
  16039. <summary>
  16040. Invokes in parallel a transform function on each element of a
  16041. sequence and returns the minimum value.
  16042. </summary>
  16043. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  16044. <param name="source">A sequence of values to determine the minimum value of.</param>
  16045. <param name="selector">A transform function to apply to each element.</param>
  16046. <returns>The minimum value in the sequence.</returns>
  16047. <exception cref="T:System.ArgumentNullException">
  16048. <paramref name="source"/> or <paramref name="selector"/> is a null reference (Nothing in Visual Basic).
  16049. </exception>
  16050. <exception cref="T:System.AggregateException">
  16051. One or more exceptions occurred during the evaluation of the query.
  16052. </exception>
  16053. <exception cref="T:System.OperationCanceledException">
  16054. The query was canceled.
  16055. </exception>
  16056. </member>
  16057. <member name="M:System.Linq.ParallelEnumerable.Min``1(System.Linq.ParallelQuery{``0},System.Func{``0,System.Decimal})">
  16058. <summary>
  16059. Invokes in parallel a transform function on each element of a
  16060. sequence and returns the minimum value.
  16061. </summary>
  16062. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  16063. <param name="source">A sequence of values to determine the minimum value of.</param>
  16064. <param name="selector">A transform function to apply to each element.</param>
  16065. <returns>The minimum value in the sequence.</returns>
  16066. <exception cref="T:System.ArgumentNullException">
  16067. <paramref name="source"/> or <paramref name="selector"/> is a null reference (Nothing in Visual Basic).
  16068. </exception>
  16069. <exception cref="T:System.InvalidOperationException">
  16070. <paramref name="source"/> contains no elements.
  16071. </exception>
  16072. <exception cref="T:System.AggregateException">
  16073. One or more exceptions occurred during the evaluation of the query.
  16074. </exception>
  16075. <exception cref="T:System.OperationCanceledException">
  16076. The query was canceled.
  16077. </exception>
  16078. </member>
  16079. <member name="M:System.Linq.ParallelEnumerable.Min``1(System.Linq.ParallelQuery{``0},System.Func{``0,System.Nullable{System.Decimal}})">
  16080. <summary>
  16081. Invokes in parallel a transform function on each element of a
  16082. sequence and returns the minimum value.
  16083. </summary>
  16084. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  16085. <param name="source">A sequence of values to determine the minimum value of.</param>
  16086. <param name="selector">A transform function to apply to each element.</param>
  16087. <returns>The minimum value in the sequence.</returns>
  16088. <exception cref="T:System.ArgumentNullException">
  16089. <paramref name="source"/> or <paramref name="selector"/> is a null reference (Nothing in Visual Basic).
  16090. </exception>
  16091. <exception cref="T:System.AggregateException">
  16092. One or more exceptions occurred during the evaluation of the query.
  16093. </exception>
  16094. <exception cref="T:System.OperationCanceledException">
  16095. The query was canceled.
  16096. </exception>
  16097. </member>
  16098. <member name="M:System.Linq.ParallelEnumerable.Min``2(System.Linq.ParallelQuery{``0},System.Func{``0,``1})">
  16099. <summary>
  16100. Invokes in parallel a transform function on each element of a
  16101. sequence and returns the minimum value.
  16102. </summary>
  16103. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  16104. <typeparam name="TResult">The type of the value returned by <paramref name="selector"/>.</typeparam>
  16105. <param name="source">A sequence of values to determine the minimum value of.</param>
  16106. <param name="selector">A transform function to apply to each element.</param>
  16107. <returns>The minimum value in the sequence.</returns>
  16108. <exception cref="T:System.ArgumentNullException">
  16109. <paramref name="source"/> or <paramref name="selector"/> is a null reference (Nothing in Visual Basic).
  16110. </exception>
  16111. <exception cref="T:System.InvalidOperationException">
  16112. <paramref name="source"/> contains no elements and <typeparamref name="TResult"/> is a non-nullable value type.
  16113. </exception>
  16114. <exception cref="T:System.AggregateException">
  16115. One or more exceptions occurred during the evaluation of the query.
  16116. </exception>
  16117. <exception cref="T:System.OperationCanceledException">
  16118. The query was canceled.
  16119. </exception>
  16120. </member>
  16121. <member name="M:System.Linq.ParallelEnumerable.Max(System.Linq.ParallelQuery{System.Int32})">
  16122. <summary>
  16123. Returns the maximum value in a parallel sequence of values.
  16124. </summary>
  16125. <param name="source">A sequence of values to determine the maximum value of.</param>
  16126. <returns>The maximum value in the sequence.</returns>
  16127. <exception cref="T:System.ArgumentNullException">
  16128. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  16129. </exception>
  16130. <exception cref="T:System.InvalidOperationException">
  16131. <paramref name="source"/> contains no elements.
  16132. </exception>
  16133. <exception cref="T:System.AggregateException">
  16134. One or more exceptions occurred during the evaluation of the query.
  16135. </exception>
  16136. <exception cref="T:System.OperationCanceledException">
  16137. The query was canceled.
  16138. </exception>
  16139. </member>
  16140. <member name="M:System.Linq.ParallelEnumerable.Max(System.Linq.ParallelQuery{System.Nullable{System.Int32}})">
  16141. <summary>
  16142. Returns the maximum value in a parallel sequence of values.
  16143. </summary>
  16144. <param name="source">A sequence of values to determine the maximum value of.</param>
  16145. <returns>The maximum value in the sequence.</returns>
  16146. <exception cref="T:System.ArgumentNullException">
  16147. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  16148. </exception>
  16149. <exception cref="T:System.AggregateException">
  16150. One or more exceptions occurred during the evaluation of the query.
  16151. </exception>
  16152. <exception cref="T:System.OperationCanceledException">
  16153. The query was canceled.
  16154. </exception>
  16155. </member>
  16156. <member name="M:System.Linq.ParallelEnumerable.Max(System.Linq.ParallelQuery{System.Int64})">
  16157. <summary>
  16158. Returns the maximum value in a parallel sequence of values.
  16159. </summary>
  16160. <param name="source">A sequence of values to determine the maximum value of.</param>
  16161. <returns>The maximum value in the sequence.</returns>
  16162. <exception cref="T:System.ArgumentNullException">
  16163. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  16164. </exception>
  16165. <exception cref="T:System.InvalidOperationException">
  16166. <paramref name="source"/> contains no elements.
  16167. </exception>
  16168. <exception cref="T:System.AggregateException">
  16169. One or more exceptions occurred during the evaluation of the query.
  16170. </exception>
  16171. <exception cref="T:System.OperationCanceledException">
  16172. The query was canceled.
  16173. </exception>
  16174. </member>
  16175. <member name="M:System.Linq.ParallelEnumerable.Max(System.Linq.ParallelQuery{System.Nullable{System.Int64}})">
  16176. <summary>
  16177. Returns the maximum value in a parallel sequence of values.
  16178. </summary>
  16179. <param name="source">A sequence of values to determine the maximum value of.</param>
  16180. <returns>The maximum value in the sequence.</returns>
  16181. <exception cref="T:System.ArgumentNullException">
  16182. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  16183. </exception>
  16184. <exception cref="T:System.AggregateException">
  16185. One or more exceptions occurred during the evaluation of the query.
  16186. </exception>
  16187. <exception cref="T:System.OperationCanceledException">
  16188. The query was canceled.
  16189. </exception>
  16190. </member>
  16191. <member name="M:System.Linq.ParallelEnumerable.Max(System.Linq.ParallelQuery{System.Single})">
  16192. <summary>
  16193. Returns the maximum value in a parallel sequence of values.
  16194. </summary>
  16195. <param name="source">A sequence of values to determine the maximum value of.</param>
  16196. <returns>The maximum value in the sequence.</returns>
  16197. <exception cref="T:System.ArgumentNullException">
  16198. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  16199. </exception>
  16200. <exception cref="T:System.InvalidOperationException">
  16201. <paramref name="source"/> contains no elements.
  16202. </exception>
  16203. <exception cref="T:System.AggregateException">
  16204. One or more exceptions occurred during the evaluation of the query.
  16205. </exception>
  16206. <exception cref="T:System.OperationCanceledException">
  16207. The query was canceled.
  16208. </exception>
  16209. </member>
  16210. <member name="M:System.Linq.ParallelEnumerable.Max(System.Linq.ParallelQuery{System.Nullable{System.Single}})">
  16211. <summary>
  16212. Returns the maximum value in a parallel sequence of values.
  16213. </summary>
  16214. <param name="source">A sequence of values to determine the maximum value of.</param>
  16215. <returns>The maximum value in the sequence.</returns>
  16216. <exception cref="T:System.ArgumentNullException">
  16217. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  16218. </exception>
  16219. <exception cref="T:System.AggregateException">
  16220. One or more exceptions occurred during the evaluation of the query.
  16221. </exception>
  16222. <exception cref="T:System.OperationCanceledException">
  16223. The query was canceled.
  16224. </exception>
  16225. </member>
  16226. <member name="M:System.Linq.ParallelEnumerable.Max(System.Linq.ParallelQuery{System.Double})">
  16227. <summary>
  16228. Returns the maximum value in a parallel sequence of values.
  16229. </summary>
  16230. <param name="source">A sequence of values to determine the maximum value of.</param>
  16231. <returns>The maximum value in the sequence.</returns>
  16232. <exception cref="T:System.ArgumentNullException">
  16233. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  16234. </exception>
  16235. <exception cref="T:System.InvalidOperationException">
  16236. <paramref name="source"/> contains no elements.
  16237. </exception>
  16238. <exception cref="T:System.AggregateException">
  16239. One or more exceptions occurred during the evaluation of the query.
  16240. </exception>
  16241. <exception cref="T:System.OperationCanceledException">
  16242. The query was canceled.
  16243. </exception>
  16244. </member>
  16245. <member name="M:System.Linq.ParallelEnumerable.Max(System.Linq.ParallelQuery{System.Nullable{System.Double}})">
  16246. <summary>
  16247. Returns the maximum value in a parallel sequence of values.
  16248. </summary>
  16249. <param name="source">A sequence of values to determine the maximum value of.</param>
  16250. <returns>The maximum value in the sequence.</returns>
  16251. <exception cref="T:System.ArgumentNullException">
  16252. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  16253. </exception>
  16254. <exception cref="T:System.AggregateException">
  16255. One or more exceptions occurred during the evaluation of the query.
  16256. </exception>
  16257. <exception cref="T:System.OperationCanceledException">
  16258. The query was canceled.
  16259. </exception>
  16260. </member>
  16261. <member name="M:System.Linq.ParallelEnumerable.Max(System.Linq.ParallelQuery{System.Decimal})">
  16262. <summary>
  16263. Returns the maximum value in a parallel sequence of values.
  16264. </summary>
  16265. <param name="source">A sequence of values to determine the maximum value of.</param>
  16266. <returns>The maximum value in the sequence.</returns>
  16267. <exception cref="T:System.ArgumentNullException">
  16268. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  16269. </exception>
  16270. <exception cref="T:System.InvalidOperationException">
  16271. <paramref name="source"/> contains no elements.
  16272. </exception>
  16273. <exception cref="T:System.AggregateException">
  16274. One or more exceptions occurred during the evaluation of the query.
  16275. </exception>
  16276. <exception cref="T:System.OperationCanceledException">
  16277. The query was canceled.
  16278. </exception>
  16279. </member>
  16280. <member name="M:System.Linq.ParallelEnumerable.Max(System.Linq.ParallelQuery{System.Nullable{System.Decimal}})">
  16281. <summary>
  16282. Returns the maximum value in a parallel sequence of values.
  16283. </summary>
  16284. <param name="source">A sequence of values to determine the maximum value of.</param>
  16285. <returns>The maximum value in the sequence.</returns>
  16286. <exception cref="T:System.ArgumentNullException">
  16287. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  16288. </exception>
  16289. <exception cref="T:System.AggregateException">
  16290. One or more exceptions occurred during the evaluation of the query.
  16291. </exception>
  16292. <exception cref="T:System.OperationCanceledException">
  16293. The query was canceled.
  16294. </exception>
  16295. </member>
  16296. <member name="M:System.Linq.ParallelEnumerable.Max``1(System.Linq.ParallelQuery{``0})">
  16297. <summary>
  16298. Returns the maximum value in a parallel sequence of values.
  16299. </summary>
  16300. <param name="source">A sequence of values to determine the maximum value of.</param>
  16301. <returns>The maximum value in the sequence.</returns>
  16302. <exception cref="T:System.ArgumentNullException">
  16303. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  16304. </exception>
  16305. <exception cref="T:System.InvalidOperationException">
  16306. <paramref name="source"/> contains no elements and <typeparam name="TSource"/> is a non-nullable value type.
  16307. </exception>
  16308. <exception cref="T:System.AggregateException">
  16309. One or more exceptions occurred during the evaluation of the query.
  16310. </exception>
  16311. <exception cref="T:System.OperationCanceledException">
  16312. The query was canceled.
  16313. </exception>
  16314. </member>
  16315. <member name="M:System.Linq.ParallelEnumerable.Max``1(System.Linq.ParallelQuery{``0},System.Func{``0,System.Int32})">
  16316. <summary>
  16317. Invokes in parallel a transform function on each element of a
  16318. sequence and returns the maximum value.
  16319. </summary>
  16320. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  16321. <param name="source">A sequence of values to determine the maximum value of.</param>
  16322. <param name="selector">A transform function to apply to each element.</param>
  16323. <returns>The maximum value in the sequence.</returns>
  16324. <exception cref="T:System.ArgumentNullException">
  16325. <paramref name="source"/> or <paramref name="selector"/> is a null reference (Nothing in Visual Basic).
  16326. </exception>
  16327. <exception cref="T:System.InvalidOperationException">
  16328. <paramref name="source"/> contains no elements.
  16329. </exception>
  16330. <exception cref="T:System.AggregateException">
  16331. One or more exceptions occurred during the evaluation of the query.
  16332. </exception>
  16333. <exception cref="T:System.OperationCanceledException">
  16334. The query was canceled.
  16335. </exception>
  16336. </member>
  16337. <member name="M:System.Linq.ParallelEnumerable.Max``1(System.Linq.ParallelQuery{``0},System.Func{``0,System.Nullable{System.Int32}})">
  16338. <summary>
  16339. Invokes in parallel a transform function on each element of a
  16340. sequence and returns the maximum value.
  16341. </summary>
  16342. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  16343. <param name="source">A sequence of values to determine the maximum value of.</param>
  16344. <param name="selector">A transform function to apply to each element.</param>
  16345. <returns>The maximum value in the sequence.</returns>
  16346. <exception cref="T:System.ArgumentNullException">
  16347. <paramref name="source"/> or <paramref name="selector"/> is a null reference (Nothing in Visual Basic).
  16348. </exception>
  16349. <exception cref="T:System.AggregateException">
  16350. One or more exceptions occurred during the evaluation of the query.
  16351. </exception>
  16352. <exception cref="T:System.OperationCanceledException">
  16353. The query was canceled.
  16354. </exception>
  16355. </member>
  16356. <member name="M:System.Linq.ParallelEnumerable.Max``1(System.Linq.ParallelQuery{``0},System.Func{``0,System.Int64})">
  16357. <summary>
  16358. Invokes in parallel a transform function on each element of a
  16359. sequence and returns the maximum value.
  16360. </summary>
  16361. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  16362. <param name="source">A sequence of values to determine the maximum value of.</param>
  16363. <param name="selector">A transform function to apply to each element.</param>
  16364. <returns>The maximum value in the sequence.</returns>
  16365. <exception cref="T:System.ArgumentNullException">
  16366. <paramref name="source"/> or <paramref name="selector"/> is a null reference (Nothing in Visual Basic).
  16367. </exception>
  16368. <exception cref="T:System.InvalidOperationException">
  16369. <paramref name="source"/> contains no elements.
  16370. </exception>
  16371. <exception cref="T:System.AggregateException">
  16372. One or more exceptions occurred during the evaluation of the query.
  16373. </exception>
  16374. <exception cref="T:System.OperationCanceledException">
  16375. The query was canceled.
  16376. </exception>
  16377. </member>
  16378. <member name="M:System.Linq.ParallelEnumerable.Max``1(System.Linq.ParallelQuery{``0},System.Func{``0,System.Nullable{System.Int64}})">
  16379. <summary>
  16380. Invokes in parallel a transform function on each element of a
  16381. sequence and returns the maximum value.
  16382. </summary>
  16383. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  16384. <param name="source">A sequence of values to determine the maximum value of.</param>
  16385. <param name="selector">A transform function to apply to each element.</param>
  16386. <returns>The maximum value in the sequence.</returns>
  16387. <exception cref="T:System.ArgumentNullException">
  16388. <paramref name="source"/> or <paramref name="selector"/> is a null reference (Nothing in Visual Basic).
  16389. </exception>
  16390. <exception cref="T:System.AggregateException">
  16391. One or more exceptions occurred during the evaluation of the query.
  16392. </exception>
  16393. <exception cref="T:System.OperationCanceledException">
  16394. The query was canceled.
  16395. </exception>
  16396. </member>
  16397. <member name="M:System.Linq.ParallelEnumerable.Max``1(System.Linq.ParallelQuery{``0},System.Func{``0,System.Single})">
  16398. <summary>
  16399. Invokes in parallel a transform function on each element of a
  16400. sequence and returns the maximum value.
  16401. </summary>
  16402. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  16403. <param name="source">A sequence of values to determine the maximum value of.</param>
  16404. <param name="selector">A transform function to apply to each element.</param>
  16405. <returns>The maximum value in the sequence.</returns>
  16406. <exception cref="T:System.ArgumentNullException">
  16407. <paramref name="source"/> or <paramref name="selector"/> is a null reference (Nothing in Visual Basic).
  16408. </exception>
  16409. <exception cref="T:System.InvalidOperationException">
  16410. <paramref name="source"/> contains no elements.
  16411. </exception>
  16412. <exception cref="T:System.AggregateException">
  16413. One or more exceptions occurred during the evaluation of the query.
  16414. </exception>
  16415. <exception cref="T:System.OperationCanceledException">
  16416. The query was canceled.
  16417. </exception>
  16418. </member>
  16419. <member name="M:System.Linq.ParallelEnumerable.Max``1(System.Linq.ParallelQuery{``0},System.Func{``0,System.Nullable{System.Single}})">
  16420. <summary>
  16421. Invokes in parallel a transform function on each element of a
  16422. sequence and returns the maximum value.
  16423. </summary>
  16424. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  16425. <param name="source">A sequence of values to determine the maximum value of.</param>
  16426. <param name="selector">A transform function to apply to each element.</param>
  16427. <returns>The maximum value in the sequence.</returns>
  16428. <exception cref="T:System.ArgumentNullException">
  16429. <paramref name="source"/> or <paramref name="selector"/> is a null reference (Nothing in Visual Basic).
  16430. </exception>
  16431. <exception cref="T:System.AggregateException">
  16432. One or more exceptions occurred during the evaluation of the query.
  16433. </exception>
  16434. <exception cref="T:System.OperationCanceledException">
  16435. The query was canceled.
  16436. </exception>
  16437. </member>
  16438. <member name="M:System.Linq.ParallelEnumerable.Max``1(System.Linq.ParallelQuery{``0},System.Func{``0,System.Double})">
  16439. <summary>
  16440. Invokes in parallel a transform function on each element of a
  16441. sequence and returns the maximum value.
  16442. </summary>
  16443. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  16444. <param name="source">A sequence of values to determine the maximum value of.</param>
  16445. <param name="selector">A transform function to apply to each element.</param>
  16446. <returns>The maximum value in the sequence.</returns>
  16447. <exception cref="T:System.ArgumentNullException">
  16448. <paramref name="source"/> or <paramref name="selector"/> is a null reference (Nothing in Visual Basic).
  16449. </exception>
  16450. <exception cref="T:System.InvalidOperationException">
  16451. <paramref name="source"/> contains no elements.
  16452. </exception>
  16453. <exception cref="T:System.AggregateException">
  16454. One or more exceptions occurred during the evaluation of the query.
  16455. </exception>
  16456. <exception cref="T:System.OperationCanceledException">
  16457. The query was canceled.
  16458. </exception>
  16459. </member>
  16460. <member name="M:System.Linq.ParallelEnumerable.Max``1(System.Linq.ParallelQuery{``0},System.Func{``0,System.Nullable{System.Double}})">
  16461. <summary>
  16462. Invokes in parallel a transform function on each element of a
  16463. sequence and returns the maximum value.
  16464. </summary>
  16465. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  16466. <param name="source">A sequence of values to determine the maximum value of.</param>
  16467. <param name="selector">A transform function to apply to each element.</param>
  16468. <returns>The maximum value in the sequence.</returns>
  16469. <exception cref="T:System.ArgumentNullException">
  16470. <paramref name="source"/> or <paramref name="selector"/> is a null reference (Nothing in Visual Basic).
  16471. </exception>
  16472. <exception cref="T:System.AggregateException">
  16473. One or more exceptions occurred during the evaluation of the query.
  16474. </exception>
  16475. <exception cref="T:System.OperationCanceledException">
  16476. The query was canceled.
  16477. </exception>
  16478. </member>
  16479. <member name="M:System.Linq.ParallelEnumerable.Max``1(System.Linq.ParallelQuery{``0},System.Func{``0,System.Decimal})">
  16480. <summary>
  16481. Invokes in parallel a transform function on each element of a
  16482. sequence and returns the maximum value.
  16483. </summary>
  16484. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  16485. <param name="source">A sequence of values to determine the maximum value of.</param>
  16486. <param name="selector">A transform function to apply to each element.</param>
  16487. <returns>The maximum value in the sequence.</returns>
  16488. <exception cref="T:System.ArgumentNullException">
  16489. <paramref name="source"/> or <paramref name="selector"/> is a null reference (Nothing in Visual Basic).
  16490. </exception>
  16491. <exception cref="T:System.InvalidOperationException">
  16492. <paramref name="source"/> contains no elements.
  16493. </exception>
  16494. <exception cref="T:System.AggregateException">
  16495. One or more exceptions occurred during the evaluation of the query.
  16496. </exception>
  16497. <exception cref="T:System.OperationCanceledException">
  16498. The query was canceled.
  16499. </exception>
  16500. </member>
  16501. <member name="M:System.Linq.ParallelEnumerable.Max``1(System.Linq.ParallelQuery{``0},System.Func{``0,System.Nullable{System.Decimal}})">
  16502. <summary>
  16503. Invokes in parallel a transform function on each element of a
  16504. sequence and returns the maximum value.
  16505. </summary>
  16506. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  16507. <param name="source">A sequence of values to determine the maximum value of.</param>
  16508. <param name="selector">A transform function to apply to each element.</param>
  16509. <returns>The maximum value in the sequence.</returns>
  16510. <exception cref="T:System.ArgumentNullException">
  16511. <paramref name="source"/> or <paramref name="selector"/> is a null reference (Nothing in Visual Basic).
  16512. </exception>
  16513. <exception cref="T:System.AggregateException">
  16514. One or more exceptions occurred during the evaluation of the query.
  16515. </exception>
  16516. <exception cref="T:System.OperationCanceledException">
  16517. The query was canceled.
  16518. </exception>
  16519. </member>
  16520. <member name="M:System.Linq.ParallelEnumerable.Max``2(System.Linq.ParallelQuery{``0},System.Func{``0,``1})">
  16521. <summary>
  16522. Invokes in parallel a transform function on each element of a
  16523. sequence and returns the maximum value.
  16524. </summary>
  16525. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  16526. <typeparam name="TResult">The type of the value returned by <paramref name="selector"/>.</typeparam>
  16527. <param name="source">A sequence of values to determine the maximum value of.</param>
  16528. <param name="selector">A transform function to apply to each element.</param>
  16529. <returns>The maximum value in the sequence.</returns>
  16530. <exception cref="T:System.ArgumentNullException">
  16531. <paramref name="source"/> or <paramref name="selector"/> is a null reference (Nothing in Visual Basic).
  16532. </exception>
  16533. <exception cref="T:System.InvalidOperationException">
  16534. <paramref name="source"/> contains no elements and <typeparamref name="TResult"/> is a non-nullable value type.
  16535. </exception>
  16536. <exception cref="T:System.AggregateException">
  16537. One or more exceptions occurred during the evaluation of the query.
  16538. </exception>
  16539. <exception cref="T:System.OperationCanceledException">
  16540. The query was canceled.
  16541. </exception>
  16542. </member>
  16543. <member name="M:System.Linq.ParallelEnumerable.Average(System.Linq.ParallelQuery{System.Int32})">
  16544. <summary>
  16545. Computes in parallel the average of a sequence of values.
  16546. </summary>
  16547. <param name="source">A sequence of values that are used to calculate an average.</param>
  16548. <returns>The average of the sequence of values.</returns>
  16549. <exception cref="T:System.ArgumentNullException">
  16550. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  16551. </exception>
  16552. <exception cref="T:System.InvalidOperationException">
  16553. <paramref name="source"/> contains no elements.
  16554. </exception>
  16555. <exception cref="T:System.AggregateException">
  16556. The sum or count of the elements in the sequence is larger than <see cref="M:System.Int32.MaxValue"/>.
  16557. -or-
  16558. One or more exceptions occurred during the evaluation of the query.
  16559. </exception>
  16560. <exception cref="T:System.OperationCanceledException">
  16561. The query was canceled.
  16562. </exception>
  16563. </member>
  16564. <member name="M:System.Linq.ParallelEnumerable.Average(System.Linq.ParallelQuery{System.Nullable{System.Int32}})">
  16565. <summary>
  16566. Computes in parallel the average of a sequence of values.
  16567. </summary>
  16568. <param name="source">A sequence of values that are used to calculate an average.</param>
  16569. <returns>The average of the sequence of values.</returns>
  16570. <exception cref="T:System.ArgumentNullException">
  16571. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  16572. </exception>
  16573. <exception cref="T:System.AggregateException">
  16574. The sum or count of the elements in the sequence is larger than <see cref="M:System.Int32.MaxValue"/>.
  16575. -or-
  16576. One or more exceptions occurred during the evaluation of the query.
  16577. </exception>
  16578. <exception cref="T:System.OperationCanceledException">
  16579. The query was canceled.
  16580. </exception>
  16581. </member>
  16582. <member name="M:System.Linq.ParallelEnumerable.Average(System.Linq.ParallelQuery{System.Int64})">
  16583. <summary>
  16584. Computes in parallel the average of a sequence of values.
  16585. </summary>
  16586. <param name="source">A sequence of values that are used to calculate an average.</param>
  16587. <returns>The average of the sequence of values.</returns>
  16588. <exception cref="T:System.ArgumentNullException">
  16589. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  16590. </exception>
  16591. <exception cref="T:System.InvalidOperationException">
  16592. <paramref name="source"/> contains no elements.
  16593. </exception>
  16594. <exception cref="T:System.AggregateException">
  16595. The sum or count of the elements in the sequence is larger than <see cref="M:System.Int32.MaxValue"/>.
  16596. -or-
  16597. One or more exceptions occurred during the evaluation of the query.
  16598. </exception>
  16599. <exception cref="T:System.OperationCanceledException">
  16600. The query was canceled.
  16601. </exception>
  16602. </member>
  16603. <member name="M:System.Linq.ParallelEnumerable.Average(System.Linq.ParallelQuery{System.Nullable{System.Int64}})">
  16604. <summary>
  16605. Computes in parallel the average of a sequence of values.
  16606. </summary>
  16607. <param name="source">A sequence of values that are used to calculate an average.</param>
  16608. <returns>The average of the sequence of values.</returns>
  16609. <exception cref="T:System.ArgumentNullException">
  16610. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  16611. </exception>
  16612. <exception cref="T:System.AggregateException">
  16613. The sum or count of the elements in the sequence is larger than <see cref="M:System.Int32.MaxValue"/>.
  16614. -or-
  16615. One or more exceptions occurred during the evaluation of the query.
  16616. </exception>
  16617. <exception cref="T:System.OperationCanceledException">
  16618. The query was canceled.
  16619. </exception>
  16620. </member>
  16621. <member name="M:System.Linq.ParallelEnumerable.Average(System.Linq.ParallelQuery{System.Single})">
  16622. <summary>
  16623. Computes in parallel the average of a sequence of values.
  16624. </summary>
  16625. <param name="source">A sequence of values that are used to calculate an average.</param>
  16626. <returns>The average of the sequence of values.</returns>
  16627. <exception cref="T:System.ArgumentNullException">
  16628. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  16629. </exception>
  16630. <exception cref="T:System.InvalidOperationException">
  16631. <paramref name="source"/> contains no elements.
  16632. </exception>
  16633. <exception cref="T:System.AggregateException">
  16634. One or more exceptions occurred during the evaluation of the query.
  16635. </exception>
  16636. <exception cref="T:System.OperationCanceledException">
  16637. The query was canceled.
  16638. </exception>
  16639. </member>
  16640. <member name="M:System.Linq.ParallelEnumerable.Average(System.Linq.ParallelQuery{System.Nullable{System.Single}})">
  16641. <summary>
  16642. Computes in parallel the average of a sequence of values.
  16643. </summary>
  16644. <param name="source">A sequence of values that are used to calculate an average.</param>
  16645. <returns>The average of the sequence of values.</returns>
  16646. <exception cref="T:System.ArgumentNullException">
  16647. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  16648. </exception>
  16649. <exception cref="T:System.AggregateException">
  16650. One or more exceptions occurred during the evaluation of the query.
  16651. </exception>
  16652. <exception cref="T:System.OperationCanceledException">
  16653. The query was canceled.
  16654. </exception>
  16655. </member>
  16656. <member name="M:System.Linq.ParallelEnumerable.Average(System.Linq.ParallelQuery{System.Double})">
  16657. <summary>
  16658. Computes in parallel the average of a sequence of values.
  16659. </summary>
  16660. <param name="source">A sequence of values that are used to calculate an average.</param>
  16661. <returns>The average of the sequence of values.</returns>
  16662. <exception cref="T:System.ArgumentNullException">
  16663. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  16664. </exception>
  16665. <exception cref="T:System.InvalidOperationException">
  16666. <paramref name="source"/> contains no elements.
  16667. </exception>
  16668. <exception cref="T:System.AggregateException">
  16669. One or more exceptions occurred during the evaluation of the query.
  16670. </exception>
  16671. <exception cref="T:System.OperationCanceledException">
  16672. The query was canceled.
  16673. </exception>
  16674. </member>
  16675. <member name="M:System.Linq.ParallelEnumerable.Average(System.Linq.ParallelQuery{System.Nullable{System.Double}})">
  16676. <summary>
  16677. Computes in parallel the average of a sequence of values.
  16678. </summary>
  16679. <exception cref="T:System.ArgumentNullException">
  16680. <param name="source">A sequence of values that are used to calculate an average.</param>
  16681. <returns>The average of the sequence of values.</returns>
  16682. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  16683. </exception>
  16684. <exception cref="T:System.AggregateException">
  16685. One or more exceptions occurred during the evaluation of the query.
  16686. </exception>
  16687. <exception cref="T:System.OperationCanceledException">
  16688. The query was canceled.
  16689. </exception>
  16690. </member>
  16691. <member name="M:System.Linq.ParallelEnumerable.Average(System.Linq.ParallelQuery{System.Decimal})">
  16692. <summary>
  16693. Computes in parallel the average of a sequence of values.
  16694. </summary>
  16695. <param name="source">A sequence of values that are used to calculate an average.</param>
  16696. <returns>The average of the sequence of values.</returns>
  16697. <exception cref="T:System.ArgumentNullException">
  16698. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  16699. </exception>
  16700. <exception cref="T:System.InvalidOperationException">
  16701. <paramref name="source"/> contains no elements.
  16702. </exception>
  16703. <exception cref="T:System.AggregateException">
  16704. One or more exceptions occurred during the evaluation of the query.
  16705. </exception>
  16706. <exception cref="T:System.OperationCanceledException">
  16707. The query was canceled.
  16708. </exception>
  16709. </member>
  16710. <member name="M:System.Linq.ParallelEnumerable.Average(System.Linq.ParallelQuery{System.Nullable{System.Decimal}})">
  16711. <summary>
  16712. Computes in parallel the average of a sequence of values.
  16713. </summary>
  16714. <param name="source">A sequence of values that are used to calculate an average.</param>
  16715. <returns>The average of the sequence of values.</returns>
  16716. <exception cref="T:System.ArgumentNullException">
  16717. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  16718. </exception>
  16719. <exception cref="T:System.AggregateException">
  16720. One or more exceptions occurred during the evaluation of the query.
  16721. </exception>
  16722. <exception cref="T:System.OperationCanceledException">
  16723. The query was canceled.
  16724. </exception>
  16725. </member>
  16726. <member name="M:System.Linq.ParallelEnumerable.Average``1(System.Linq.ParallelQuery{``0},System.Func{``0,System.Int32})">
  16727. <summary>
  16728. Computes in parallel the average of a sequence of values that are obtained
  16729. by invoking a transform function on each element of the input sequence.
  16730. </summary>
  16731. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  16732. <param name="source">A sequence of values that are used to calculate an average.</param>
  16733. <param name="selector">A transform function to apply to each element.</param>
  16734. <returns>The average of the sequence of values.</returns>
  16735. <exception cref="T:System.ArgumentNullException">
  16736. <paramref name="source"/> or <paramref name="selector"/> is a null reference (Nothing in Visual Basic).
  16737. </exception>
  16738. <exception cref="T:System.InvalidOperationException">
  16739. <paramref name="source"/> contains no elements.
  16740. </exception>
  16741. <exception cref="T:System.AggregateException">
  16742. The sum or count of the elements in the sequence is larger than <see cref="M:System.Int32.MaxValue"/>.
  16743. -or-
  16744. One or more exceptions occurred during the evaluation of the query.
  16745. </exception>
  16746. <exception cref="T:System.OperationCanceledException">
  16747. The query was canceled.
  16748. </exception>
  16749. </member>
  16750. <member name="M:System.Linq.ParallelEnumerable.Average``1(System.Linq.ParallelQuery{``0},System.Func{``0,System.Nullable{System.Int32}})">
  16751. <summary>
  16752. Computes in parallel the average of a sequence of values that are obtained
  16753. by invoking a transform function on each element of the input sequence.
  16754. </summary>
  16755. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  16756. <param name="source">A sequence of values that are used to calculate an average.</param>
  16757. <param name="selector">A transform function to apply to each element.</param>
  16758. <returns>The average of the sequence of values.</returns>
  16759. <exception cref="T:System.ArgumentNullException">
  16760. <paramref name="source"/> or <paramref name="selector"/> is a null reference (Nothing in Visual Basic).
  16761. </exception>
  16762. <exception cref="T:System.AggregateException">
  16763. The sum or count of the elements in the sequence is larger than <see cref="M:System.Int32.MaxValue"/>.
  16764. -or-
  16765. One or more exceptions occurred during the evaluation of the query.
  16766. </exception>
  16767. <exception cref="T:System.OperationCanceledException">
  16768. The query was canceled.
  16769. </exception>
  16770. </member>
  16771. <member name="M:System.Linq.ParallelEnumerable.Average``1(System.Linq.ParallelQuery{``0},System.Func{``0,System.Int64})">
  16772. <summary>
  16773. Computes in parallel the average of a sequence of values that are obtained
  16774. by invoking a transform function on each element of the input sequence.
  16775. </summary>
  16776. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  16777. <param name="source">A sequence of values that are used to calculate an average.</param>
  16778. <param name="selector">A transform function to apply to each element.</param>
  16779. <returns>The average of the sequence of values.</returns>
  16780. <exception cref="T:System.ArgumentNullException">
  16781. <paramref name="source"/> or <paramref name="selector"/> is a null reference (Nothing in Visual Basic).
  16782. </exception>
  16783. <exception cref="T:System.InvalidOperationException">
  16784. <paramref name="source"/> contains no elements.
  16785. </exception>
  16786. <exception cref="T:System.AggregateException">
  16787. The sum or count of the elements in the sequence is larger than <see cref="M:System.Int32.MaxValue"/>.
  16788. -or-
  16789. One or more exceptions occurred during the evaluation of the query.
  16790. </exception>
  16791. <exception cref="T:System.OperationCanceledException">
  16792. The query was canceled.
  16793. </exception>
  16794. </member>
  16795. <member name="M:System.Linq.ParallelEnumerable.Average``1(System.Linq.ParallelQuery{``0},System.Func{``0,System.Nullable{System.Int64}})">
  16796. <summary>
  16797. Computes in parallel the average of a sequence of values that are obtained
  16798. by invoking a transform function on each element of the input sequence.
  16799. </summary>
  16800. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  16801. <param name="source">A sequence of values that are used to calculate an average.</param>
  16802. <param name="selector">A transform function to apply to each element.</param>
  16803. <returns>The average of the sequence of values.</returns>
  16804. <exception cref="T:System.ArgumentNullException">
  16805. <paramref name="source"/> or <paramref name="selector"/> is a null reference (Nothing in Visual Basic).
  16806. </exception>
  16807. <exception cref="T:System.AggregateException">
  16808. The sum or count of the elements in the sequence is larger than <see cref="M:System.Int64.MaxValue"/>.
  16809. -or-
  16810. One or more exceptions occurred during the evaluation of the query.
  16811. </exception>
  16812. <exception cref="T:System.OperationCanceledException">
  16813. The query was canceled.
  16814. </exception>
  16815. </member>
  16816. <member name="M:System.Linq.ParallelEnumerable.Average``1(System.Linq.ParallelQuery{``0},System.Func{``0,System.Single})">
  16817. <summary>
  16818. Computes in parallel the average of a sequence of values that are obtained
  16819. by invoking a transform function on each element of the input sequence.
  16820. </summary>
  16821. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  16822. <param name="source">A sequence of values that are used to calculate an average.</param>
  16823. <param name="selector">A transform function to apply to each element.</param>
  16824. <returns>The average of the sequence of values.</returns>
  16825. <exception cref="T:System.ArgumentNullException">
  16826. <paramref name="source"/> or <paramref name="selector"/> is a null reference (Nothing in Visual Basic).
  16827. </exception>
  16828. <exception cref="T:System.InvalidOperationException">
  16829. <paramref name="source"/> contains no elements.
  16830. </exception>
  16831. <exception cref="T:System.AggregateException">
  16832. One or more exceptions occurred during the evaluation of the query.
  16833. </exception>
  16834. <exception cref="T:System.OperationCanceledException">
  16835. The query was canceled.
  16836. </exception>
  16837. </member>
  16838. <member name="M:System.Linq.ParallelEnumerable.Average``1(System.Linq.ParallelQuery{``0},System.Func{``0,System.Nullable{System.Single}})">
  16839. <summary>
  16840. Computes in parallel the average of a sequence of values that are obtained
  16841. by invoking a transform function on each element of the input sequence.
  16842. </summary>
  16843. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  16844. <param name="source">A sequence of values that are used to calculate an average.</param>
  16845. <param name="selector">A transform function to apply to each element.</param>
  16846. <returns>The average of the sequence of values.</returns>
  16847. <exception cref="T:System.ArgumentNullException">
  16848. <paramref name="source"/> or <paramref name="selector"/> is a null reference (Nothing in Visual Basic).
  16849. </exception>
  16850. <exception cref="T:System.AggregateException">
  16851. One or more exceptions occurred during the evaluation of the query.
  16852. </exception>
  16853. <exception cref="T:System.OperationCanceledException">
  16854. The query was canceled.
  16855. </exception>
  16856. </member>
  16857. <member name="M:System.Linq.ParallelEnumerable.Average``1(System.Linq.ParallelQuery{``0},System.Func{``0,System.Double})">
  16858. <summary>
  16859. Computes in parallel the average of a sequence of values that are obtained
  16860. by invoking a transform function on each element of the input sequence.
  16861. </summary>
  16862. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  16863. <param name="source">A sequence of values that are used to calculate an average.</param>
  16864. <param name="selector">A transform function to apply to each element.</param>
  16865. <returns>The average of the sequence of values.</returns>
  16866. <exception cref="T:System.ArgumentNullException">
  16867. <paramref name="source"/> or <paramref name="selector"/> is a null reference (Nothing in Visual Basic).
  16868. </exception>
  16869. <exception cref="T:System.InvalidOperationException">
  16870. <paramref name="source"/> contains no elements.
  16871. </exception>
  16872. <exception cref="T:System.AggregateException">
  16873. One or more exceptions occurred during the evaluation of the query.
  16874. </exception>
  16875. <exception cref="T:System.OperationCanceledException">
  16876. The query was canceled.
  16877. </exception>
  16878. </member>
  16879. <member name="M:System.Linq.ParallelEnumerable.Average``1(System.Linq.ParallelQuery{``0},System.Func{``0,System.Nullable{System.Double}})">
  16880. <summary>
  16881. Computes in parallel the average of a sequence of values that are obtained
  16882. by invoking a transform function on each element of the input sequence.
  16883. </summary>
  16884. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  16885. <param name="source">A sequence of values that are used to calculate an average.</param>
  16886. <param name="selector">A transform function to apply to each element.</param>
  16887. <returns>The average of the sequence of values.</returns>
  16888. <exception cref="T:System.ArgumentNullException">
  16889. <paramref name="source"/> or <paramref name="selector"/> is a null reference (Nothing in Visual Basic).
  16890. </exception>
  16891. <exception cref="T:System.AggregateException">
  16892. One or more exceptions occurred during the evaluation of the query.
  16893. </exception>
  16894. <exception cref="T:System.OperationCanceledException">
  16895. The query was canceled.
  16896. </exception>
  16897. </member>
  16898. <member name="M:System.Linq.ParallelEnumerable.Average``1(System.Linq.ParallelQuery{``0},System.Func{``0,System.Decimal})">
  16899. <summary>
  16900. Computes in parallel the average of a sequence of values that are obtained
  16901. by invoking a transform function on each element of the input sequence.
  16902. </summary>
  16903. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  16904. <param name="source">A sequence of values that are used to calculate an average.</param>
  16905. <param name="selector">A transform function to apply to each element.</param>
  16906. <returns>The average of the sequence of values.</returns>
  16907. <exception cref="T:System.ArgumentNullException">
  16908. <paramref name="source"/> or <paramref name="selector"/> is a null reference (Nothing in Visual Basic).
  16909. </exception>
  16910. <exception cref="T:System.InvalidOperationException">
  16911. <paramref name="source"/> contains no elements.
  16912. </exception>
  16913. <exception cref="T:System.AggregateException">
  16914. One or more exceptions occurred during the evaluation of the query.
  16915. </exception>
  16916. <exception cref="T:System.OperationCanceledException">
  16917. The query was canceled.
  16918. </exception>
  16919. </member>
  16920. <member name="M:System.Linq.ParallelEnumerable.Average``1(System.Linq.ParallelQuery{``0},System.Func{``0,System.Nullable{System.Decimal}})">
  16921. <summary>
  16922. Computes in parallel the average of a sequence of values that are obtained
  16923. by invoking a transform function on each element of the input sequence.
  16924. </summary>
  16925. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  16926. <param name="source">A sequence of values that are used to calculate an average.</param>
  16927. <param name="selector">A transform function to apply to each element.</param>
  16928. <returns>The average of the sequence of values.</returns>
  16929. <exception cref="T:System.ArgumentNullException">
  16930. <paramref name="source"/> or <paramref name="selector"/> is a null reference (Nothing in Visual Basic).
  16931. </exception>
  16932. <exception cref="T:System.AggregateException">
  16933. One or more exceptions occurred during the evaluation of the query.
  16934. </exception>
  16935. <exception cref="T:System.OperationCanceledException">
  16936. The query was canceled.
  16937. </exception>
  16938. </member>
  16939. <member name="M:System.Linq.ParallelEnumerable.Any``1(System.Linq.ParallelQuery{``0},System.Func{``0,System.Boolean})">
  16940. <summary>
  16941. Determines in parallel whether any element of a sequence satisfies a condition.
  16942. </summary>
  16943. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  16944. <param name="source">An IEnumerable whose elements to apply the predicate to.</param>
  16945. <param name="predicate">A function to test each element for a condition.</param>
  16946. <returns>
  16947. true if any elements in the source sequence pass the test in the specified predicate; otherwise, false.
  16948. </returns>
  16949. <exception cref="T:System.ArgumentNullException">
  16950. <paramref name="source"/> or <paramref name="predicate"/> is a null reference (Nothing in Visual Basic).
  16951. </exception>
  16952. <exception cref="T:System.AggregateException">
  16953. One or more exceptions occurred during the evaluation of the query.
  16954. </exception>
  16955. <exception cref="T:System.OperationCanceledException">
  16956. The query was canceled.
  16957. </exception>
  16958. </member>
  16959. <member name="M:System.Linq.ParallelEnumerable.Any``1(System.Linq.ParallelQuery{``0})">
  16960. <summary>
  16961. Determines whether a parallel sequence contains any elements.
  16962. </summary>
  16963. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  16964. <param name="source">The IEnumerable to check for emptiness.</param>
  16965. <returns>true if the source sequence contains any elements; otherwise, false.</returns>
  16966. <exception cref="T:System.ArgumentNullException">
  16967. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  16968. </exception>
  16969. <exception cref="T:System.AggregateException">
  16970. One or more exceptions occurred during the evaluation of the query.
  16971. </exception>
  16972. <exception cref="T:System.OperationCanceledException">
  16973. The query was canceled.
  16974. </exception>
  16975. </member>
  16976. <member name="M:System.Linq.ParallelEnumerable.All``1(System.Linq.ParallelQuery{``0},System.Func{``0,System.Boolean})">
  16977. <summary>
  16978. Determines in parallel whether all elements of a sequence satisfy a condition.
  16979. </summary>
  16980. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  16981. <param name="source">A sequence whose elements to apply the predicate to.</param>
  16982. <param name="predicate">A function to test each element for a condition.</param>
  16983. <returns>
  16984. true if all elements in the source sequence pass the test in the specified predicate; otherwise, false.
  16985. </returns>
  16986. <exception cref="T:System.ArgumentNullException">
  16987. <paramref name="source"/> or <paramref name="predicate"/> is a null reference (Nothing in Visual Basic).
  16988. </exception>
  16989. <exception cref="T:System.AggregateException">
  16990. One or more exceptions occurred during the evaluation of the query.
  16991. </exception>
  16992. <exception cref="T:System.OperationCanceledException">
  16993. The query was canceled.
  16994. </exception>
  16995. </member>
  16996. <member name="M:System.Linq.ParallelEnumerable.Contains``1(System.Linq.ParallelQuery{``0},``0)">
  16997. <summary>
  16998. Determines in parallel whether a sequence contains a specified element
  16999. by using the default equality comparer.
  17000. </summary>
  17001. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  17002. <param name="source">A sequence in which to locate a value.</param>
  17003. <param name="value">The value to locate in the sequence.</param>
  17004. <returns>
  17005. true if the source sequence contains an element that has the specified value; otherwise, false.
  17006. </returns>
  17007. <exception cref="T:System.ArgumentNullException">
  17008. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  17009. </exception>
  17010. <exception cref="T:System.AggregateException">
  17011. One or more exceptions occurred during the evaluation of the query.
  17012. </exception>
  17013. <exception cref="T:System.OperationCanceledException">
  17014. The query was canceled.
  17015. </exception>
  17016. </member>
  17017. <member name="M:System.Linq.ParallelEnumerable.Contains``1(System.Linq.ParallelQuery{``0},``0,System.Collections.Generic.IEqualityComparer{``0})">
  17018. <summary>
  17019. Determines in parallel whether a sequence contains a specified element by using a
  17020. specified IEqualityComparer{T}.
  17021. </summary>
  17022. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  17023. <param name="source">A sequence in which to locate a value.</param>
  17024. <param name="value">The value to locate in the sequence.</param>
  17025. <param name="comparer">An equality comparer to compare values.</param>
  17026. <returns>
  17027. true if the source sequence contains an element that has the specified value; otherwise, false.
  17028. </returns>
  17029. <exception cref="T:System.ArgumentNullException">
  17030. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  17031. </exception>
  17032. <exception cref="T:System.AggregateException">
  17033. One or more exceptions occurred during the evaluation of the query.
  17034. </exception>
  17035. <exception cref="T:System.OperationCanceledException">
  17036. The query was canceled.
  17037. </exception>
  17038. </member>
  17039. <member name="M:System.Linq.ParallelEnumerable.Take``1(System.Linq.ParallelQuery{``0},System.Int32)">
  17040. <summary>
  17041. Returns a specified number of contiguous elements from the start of a parallel sequence.
  17042. </summary>
  17043. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  17044. <param name="source">The sequence to return elements from.</param>
  17045. <param name="count">The number of elements to return.</param>
  17046. <returns>
  17047. A sequence that contains the specified number of elements from the start of the input sequence.
  17048. </returns>
  17049. <exception cref="T:System.ArgumentNullException">
  17050. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  17051. </exception>
  17052. </member>
  17053. <member name="M:System.Linq.ParallelEnumerable.TakeWhile``1(System.Linq.ParallelQuery{``0},System.Func{``0,System.Boolean})">
  17054. <summary>
  17055. Returns elements from a parallel sequence as long as a specified condition is true.
  17056. </summary>
  17057. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  17058. <param name="source">The sequence to return elements from.</param>
  17059. <param name="predicate">A function to test each element for a condition.</param>
  17060. <returns>
  17061. A sequence that contains the elements from the input sequence that occur before
  17062. the element at which the test no longer passes.
  17063. </returns>
  17064. <exception cref="T:System.ArgumentNullException">
  17065. <paramref name="source"/> or <paramref name="predicate"/> is a null reference (Nothing in Visual Basic).
  17066. </exception>
  17067. </member>
  17068. <member name="M:System.Linq.ParallelEnumerable.TakeWhile``1(System.Linq.ParallelQuery{``0},System.Func{``0,System.Int32,System.Boolean})">
  17069. <summary>
  17070. Returns elements from a parallel sequence as long as a specified condition is true.
  17071. The element's index is used in the logic of the predicate function.
  17072. </summary>
  17073. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  17074. <param name="source">The sequence to return elements from.</param>
  17075. <param name="predicate">
  17076. A function to test each source element for a condition; the second parameter of the
  17077. function represents the index of the source element.
  17078. </param>
  17079. <returns>
  17080. A sequence that contains elements from the input sequence that occur before
  17081. the element at which the test no longer passes.
  17082. </returns>
  17083. <exception cref="T:System.ArgumentNullException">
  17084. <paramref name="source"/> or <paramref name="predicate"/> is a null reference (Nothing in Visual Basic).
  17085. </exception>
  17086. </member>
  17087. <member name="M:System.Linq.ParallelEnumerable.Skip``1(System.Linq.ParallelQuery{``0},System.Int32)">
  17088. <summary>
  17089. Bypasses a specified number of elements in a parallel sequence and then returns the remaining elements.
  17090. </summary>
  17091. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  17092. <param name="source">The sequence to return elements from.</param>
  17093. <param name="count">The number of elements to skip before returning the remaining elements.</param>
  17094. <returns>
  17095. A sequence that contains the elements that occur after the specified index in the input sequence.
  17096. </returns>
  17097. <exception cref="T:System.ArgumentNullException">
  17098. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  17099. </exception>
  17100. </member>
  17101. <member name="M:System.Linq.ParallelEnumerable.SkipWhile``1(System.Linq.ParallelQuery{``0},System.Func{``0,System.Boolean})">
  17102. <summary>
  17103. Bypasses elements in a parallel sequence as long as a specified
  17104. condition is true and then returns the remaining elements.
  17105. </summary>
  17106. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  17107. <param name="source">The sequence to return elements from.</param>
  17108. <param name="predicate">A function to test each element for a condition.</param>
  17109. <returns>A sequence that contains the elements from the input sequence starting at
  17110. the first element in the linear series that does not pass the test specified by
  17111. <B>predicate</B>.</returns>
  17112. <exception cref="T:System.ArgumentNullException">
  17113. <paramref name="source"/> or <paramref name="predicate"/> is a null reference (Nothing in Visual Basic).
  17114. </exception>
  17115. </member>
  17116. <member name="M:System.Linq.ParallelEnumerable.SkipWhile``1(System.Linq.ParallelQuery{``0},System.Func{``0,System.Int32,System.Boolean})">
  17117. <summary>
  17118. Bypasses elements in a parallel sequence as long as a specified condition is true and
  17119. then returns the remaining elements. The element's index is used in the logic of
  17120. the predicate function.
  17121. </summary>
  17122. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  17123. <param name="source">The sequence to return elements from.</param>
  17124. <param name="predicate">
  17125. A function to test each source element for a condition; the
  17126. second parameter of the function represents the index of the source element.
  17127. </param>
  17128. <returns>
  17129. A sequence that contains the elements from the input sequence starting at the
  17130. first element in the linear series that does not pass the test specified by
  17131. <B>predicate</B>.
  17132. </returns>
  17133. <exception cref="T:System.ArgumentNullException">
  17134. <paramref name="source"/> or <paramref name="predicate"/> is a null reference (Nothing in Visual Basic).
  17135. </exception>
  17136. </member>
  17137. <member name="M:System.Linq.ParallelEnumerable.Concat``1(System.Linq.ParallelQuery{``0},System.Linq.ParallelQuery{``0})">
  17138. <summary>
  17139. Concatenates two parallel sequences.
  17140. </summary>
  17141. <typeparam name="TSource">The type of the elements of the input sequences.</typeparam>
  17142. <param name="first">The first sequence to concatenate.</param>
  17143. <param name="second">The sequence to concatenate to the first sequence.</param>
  17144. <returns>A sequence that contains the concatenated elements of the two input sequences.</returns>
  17145. <exception cref="T:System.ArgumentNullException">
  17146. <paramref name="first"/> or <paramref name="second"/> is a null reference (Nothing in Visual Basic).
  17147. </exception>
  17148. </member>
  17149. <member name="M:System.Linq.ParallelEnumerable.Concat``1(System.Linq.ParallelQuery{``0},System.Collections.Generic.IEnumerable{``0})">
  17150. <summary>
  17151. This Concat overload should never be called.
  17152. This method is marked as obsolete and always throws <see cref="T:System.NotSupportedException"/> when called.
  17153. </summary>
  17154. <typeparam name="TSource">This type parameter is not used.</typeparam>
  17155. <param name="first">This parameter is not used.</param>
  17156. <param name="second">This parameter is not used.</param>
  17157. <returns>This overload always throws a <see cref="T:System.NotSupportedException"/>.</returns>
  17158. <exception cref="T:System.NotSupportedException">The exception that occurs when this method is called.</exception>
  17159. <remarks>
  17160. This overload exists to disallow usage of Concat with a left data source of type
  17161. <see cref="T:System.Linq.ParallelQuery`1"/> and a right data source of type <see cref="T:System.Collections.Generic.IEnumerable`1"/>.
  17162. Otherwise, the Concat operator would appear to be binding to the parallel implementation,
  17163. but would in reality bind to the sequential implementation.
  17164. </remarks>
  17165. </member>
  17166. <member name="M:System.Linq.ParallelEnumerable.SequenceEqual``1(System.Linq.ParallelQuery{``0},System.Linq.ParallelQuery{``0})">
  17167. <summary>
  17168. Determines whether two parallel sequences are equal by comparing the elements by using
  17169. the default equality comparer for their type.
  17170. </summary>
  17171. <typeparam name="TSource">The type of the elements of the input sequences.</typeparam>
  17172. <param name="first">A sequence to compare to <b>second</b>.</param>
  17173. <param name="second">A sequence to compare to the first input sequence.</param>
  17174. <returns>
  17175. true if the two source sequences are of equal length and their corresponding elements
  17176. are equal according to the default equality comparer for their type; otherwise, false.
  17177. </returns>
  17178. <exception cref="T:System.ArgumentNullException">
  17179. <paramref name="first"/> or <paramref name="second"/> is a null reference (Nothing in Visual Basic).
  17180. </exception>
  17181. <exception cref="T:System.AggregateException">
  17182. One or more exceptions occurred during the evaluation of the query.
  17183. </exception>
  17184. <exception cref="T:System.OperationCanceledException">
  17185. The query was canceled.
  17186. </exception>
  17187. </member>
  17188. <member name="M:System.Linq.ParallelEnumerable.SequenceEqual``1(System.Linq.ParallelQuery{``0},System.Collections.Generic.IEnumerable{``0})">
  17189. <summary>
  17190. This SequenceEqual overload should never be called.
  17191. This method is marked as obsolete and always throws <see cref="T:System.NotSupportedException"/> when called.
  17192. </summary>
  17193. <typeparam name="TSource">This type parameter is not used.</typeparam>
  17194. <param name="first">This parameter is not used.</param>
  17195. <param name="second">This parameter is not used.</param>
  17196. <returns>This overload always throws a <see cref="T:System.NotSupportedException"/>.</returns>
  17197. <exception cref="T:System.NotSupportedException">Thrown every time this method is called.</exception>
  17198. <remarks>
  17199. This overload exists to disallow usage of SequenceEqual with a left data source of type
  17200. <see cref="T:System.Linq.ParallelQuery`1"/> and a right data source of type <see cref="T:System.Collections.Generic.IEnumerable`1"/>.
  17201. Otherwise, the SequenceEqual operator would appear to be binding to the parallel implementation,
  17202. but would in reality bind to the sequential implementation.
  17203. </remarks>
  17204. </member>
  17205. <member name="M:System.Linq.ParallelEnumerable.SequenceEqual``1(System.Linq.ParallelQuery{``0},System.Linq.ParallelQuery{``0},System.Collections.Generic.IEqualityComparer{``0})">
  17206. <summary>
  17207. Determines whether two parallel sequences are equal by comparing their elements by
  17208. using a specified IEqualityComparer{T}.
  17209. </summary>
  17210. <typeparam name="TSource">The type of the elements of the input sequences.</typeparam>
  17211. <param name="first">A sequence to compare to <paramref name="second"/>.</param>
  17212. <param name="second">A sequence to compare to the first input sequence.</param>
  17213. <param name="comparer">An IEqualityComparer&lt;(Of &lt;(T&gt;)&gt;) to use to compare elements.</param>
  17214. <returns>
  17215. true if the two source sequences are of equal length and their corresponding
  17216. elements are equal according to the default equality comparer for their type; otherwise, false.
  17217. </returns>
  17218. <exception cref="T:System.ArgumentNullException">
  17219. <paramref name="first"/> or <paramref name="second"/> is a null reference (Nothing in Visual Basic).
  17220. </exception>
  17221. <exception cref="T:System.AggregateException">
  17222. One or more exceptions occurred during the evaluation of the query.
  17223. </exception>
  17224. <exception cref="T:System.OperationCanceledException">
  17225. The query was canceled.
  17226. </exception>
  17227. </member>
  17228. <member name="M:System.Linq.ParallelEnumerable.DisposeEnumerator``1(System.Collections.Generic.IEnumerator{``0},System.Linq.Parallel.CancellationState)">
  17229. <summary>
  17230. A helper method for SequenceEqual to dispose an enumerator. If an exception is thrown by the disposal,
  17231. it gets wrapped into an AggregateException, unless it is an OCE with the query's CancellationToken.
  17232. </summary>
  17233. </member>
  17234. <member name="M:System.Linq.ParallelEnumerable.SequenceEqual``1(System.Linq.ParallelQuery{``0},System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEqualityComparer{``0})">
  17235. <summary>
  17236. This SequenceEqual overload should never be called.
  17237. This method is marked as obsolete and always throws <see cref="T:System.NotSupportedException"/> when called.
  17238. </summary>
  17239. <typeparam name="TSource">This type parameter is not used.</typeparam>
  17240. <param name="first">This parameter is not used.</param>
  17241. <param name="second">This parameter is not used.</param>
  17242. <param name="comparer">This parameter is not used.</param>
  17243. <returns>This overload always throws a <see cref="T:System.NotSupportedException"/>.</returns>
  17244. <exception cref="T:System.NotSupportedException">Thrown every time this method is called.</exception>
  17245. <remarks>
  17246. This overload exists to disallow usage of SequenceEqual with a left data source of type
  17247. <see cref="T:System.Linq.ParallelQuery`1"/> and a right data source of type <see cref="T:System.Collections.Generic.IEnumerable`1"/>.
  17248. Otherwise, the SequenceEqual operator would appear to be binding to the parallel implementation,
  17249. but would in reality bind to sequential implementation.
  17250. </remarks>
  17251. </member>
  17252. <member name="M:System.Linq.ParallelEnumerable.Distinct``1(System.Linq.ParallelQuery{``0})">
  17253. <summary>
  17254. Returns distinct elements from a parallel sequence by using the
  17255. default equality comparer to compare values.
  17256. </summary>
  17257. <typeparam name="TSource">The type of the elements of <paramref name="source"/>.</typeparam>
  17258. <param name="source">The sequence to remove duplicate elements from.</param>
  17259. <returns>A sequence that contains distinct elements from the source sequence.</returns>
  17260. <exception cref="T:System.ArgumentNullException">
  17261. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  17262. </exception>
  17263. </member>
  17264. <member name="M:System.Linq.ParallelEnumerable.Distinct``1(System.Linq.ParallelQuery{``0},System.Collections.Generic.IEqualityComparer{``0})">
  17265. <summary>
  17266. Returns distinct elements from a parallel sequence by using a specified
  17267. IEqualityComparer{T} to compare values.
  17268. </summary>
  17269. <typeparam name="TSource">The type of the elements of <paramref name="source"/>.</typeparam>
  17270. <param name="source">The sequence to remove duplicate elements from.</param>
  17271. <param name="comparer">An IEqualityComparer&lt;(Of &lt;(T&gt;)&gt;) to compare values.</param>
  17272. <returns>A sequence that contains distinct elements from the source sequence.</returns>
  17273. <exception cref="T:System.ArgumentNullException">
  17274. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  17275. </exception>
  17276. </member>
  17277. <member name="M:System.Linq.ParallelEnumerable.Union``1(System.Linq.ParallelQuery{``0},System.Linq.ParallelQuery{``0})">
  17278. <summary>
  17279. Produces the set union of two parallel sequences by using the default equality comparer.
  17280. </summary>
  17281. <typeparam name="TSource">The type of the elements of the input sequences.</typeparam>
  17282. <param name="first">A sequence whose distinct elements form the first set for the union.</param>
  17283. <param name="second">A sequence whose distinct elements form the second set for the union.</param>
  17284. <returns>A sequence that contains the elements from both input sequences, excluding duplicates.</returns>
  17285. <exception cref="T:System.ArgumentNullException">
  17286. <paramref name="first"/> or <paramref name="second"/> is a null reference (Nothing in Visual Basic).
  17287. </exception>
  17288. </member>
  17289. <member name="M:System.Linq.ParallelEnumerable.Union``1(System.Linq.ParallelQuery{``0},System.Collections.Generic.IEnumerable{``0})">
  17290. <summary>
  17291. This Union overload should never be called.
  17292. This method is marked as obsolete and always throws <see cref="T:System.NotSupportedException"/> when called.
  17293. </summary>
  17294. <typeparam name="TSource">This type parameter is not used.</typeparam>
  17295. <param name="first">This parameter is not used.</param>
  17296. <param name="second">This parameter is not used.</param>
  17297. <returns>This overload always throws a <see cref="T:System.NotSupportedException"/>.</returns>
  17298. <exception cref="T:System.NotSupportedException">The exception that occurs when this method is called.</exception>
  17299. <remarks>
  17300. This overload exists to disallow usage of Union with a left data source of type
  17301. <see cref="T:System.Linq.ParallelQuery`1"/> and a right data source of type <see cref="T:System.Collections.Generic.IEnumerable`1"/>.
  17302. Otherwise, the Union operator would appear to be binding to the parallel implementation,
  17303. but would in reality bind to sequential implementation.
  17304. </remarks>
  17305. </member>
  17306. <member name="M:System.Linq.ParallelEnumerable.Union``1(System.Linq.ParallelQuery{``0},System.Linq.ParallelQuery{``0},System.Collections.Generic.IEqualityComparer{``0})">
  17307. <summary>
  17308. Produces the set union of two parallel sequences by using a specified IEqualityComparer{T}.
  17309. </summary>
  17310. <typeparam name="TSource">The type of the elements of the input sequences.</typeparam>
  17311. <param name="first">A sequence whose distinct elements form the first set for the union.</param>
  17312. <param name="second">A sequence whose distinct elements form the second set for the union.</param>
  17313. <param name="comparer">An IEqualityComparer&lt;(Of &lt;(T&gt;)&gt;) to compare values.</param>
  17314. <returns>A sequence that contains the elements from both input sequences, excluding duplicates.</returns>
  17315. <exception cref="T:System.ArgumentNullException">
  17316. <paramref name="first"/> or <paramref name="second"/> is a null reference (Nothing in Visual Basic).
  17317. </exception>
  17318. </member>
  17319. <member name="M:System.Linq.ParallelEnumerable.Union``1(System.Linq.ParallelQuery{``0},System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEqualityComparer{``0})">
  17320. <summary>
  17321. This Union overload should never be called.
  17322. This method is marked as obsolete and always throws <see cref="T:System.NotSupportedException"/> when called.
  17323. </summary>
  17324. <typeparam name="TSource">This type parameter is not used.</typeparam>
  17325. <param name="first">This parameter is not used.</param>
  17326. <param name="second">This parameter is not used.</param>
  17327. <param name="comparer">This parameter is not used.</param>
  17328. <returns>This overload always throws a <see cref="T:System.NotSupportedException"/>.</returns>
  17329. <exception cref="T:System.NotSupportedException">The exception that occurs when this method is called.</exception>
  17330. <remarks>
  17331. This overload exists to disallow usage of Union with a left data source of type
  17332. <see cref="T:System.Linq.ParallelQuery`1"/> and a right data source of type <see cref="T:System.Collections.Generic.IEnumerable`1"/>.
  17333. Otherwise, the Union operator would appear to be binding to the parallel implementation,
  17334. but would in reality bind to the sequential implementation.
  17335. </remarks>
  17336. </member>
  17337. <member name="M:System.Linq.ParallelEnumerable.Intersect``1(System.Linq.ParallelQuery{``0},System.Linq.ParallelQuery{``0})">
  17338. <summary>
  17339. Produces the set intersection of two parallel sequences by using the
  17340. default equality comparer to compare values.
  17341. </summary>
  17342. <typeparam name="TSource">The type of the elements of the input sequences.</typeparam>
  17343. <param name="first"
  17344. >A sequence whose distinct elements that also appear in <paramref name="second"/> will be returned.
  17345. </param>
  17346. <param name="second">
  17347. A sequence whose distinct elements that also appear in the first sequence will be returned.
  17348. </param>
  17349. <returns>A sequence that contains the elements that form the set intersection of two sequences.</returns>
  17350. <exception cref="T:System.ArgumentNullException">
  17351. <paramref name="first"/> or <paramref name="second"/> is a null reference (Nothing in Visual Basic).
  17352. </exception>
  17353. </member>
  17354. <member name="M:System.Linq.ParallelEnumerable.Intersect``1(System.Linq.ParallelQuery{``0},System.Collections.Generic.IEnumerable{``0})">
  17355. <summary>
  17356. This Intersect overload should never be called.
  17357. This method is marked as obsolete and always throws <see cref="T:System.NotSupportedException"/> when called.
  17358. </summary>
  17359. <typeparam name="TSource">This type parameter is not used.</typeparam>
  17360. <param name="first">This parameter is not used.</param>
  17361. <param name="second">This parameter is not used.</param>
  17362. <returns>This overload always throws a <see cref="T:System.NotSupportedException"/>.</returns>
  17363. <exception cref="T:System.NotSupportedException">The exception that occurs when this method is called.</exception>
  17364. <remarks>
  17365. This overload exists to disallow usage of Intersect with a left data source of type
  17366. <see cref="T:System.Linq.ParallelQuery`1"/> and a right data source of type <see cref="T:System.Collections.Generic.IEnumerable`1"/>.
  17367. Otherwise, the Intersect operator would appear to be binding to the parallel implementation,
  17368. but would in reality bind to the sequential implementation.
  17369. </remarks>
  17370. </member>
  17371. <member name="M:System.Linq.ParallelEnumerable.Intersect``1(System.Linq.ParallelQuery{``0},System.Linq.ParallelQuery{``0},System.Collections.Generic.IEqualityComparer{``0})">
  17372. <summary>
  17373. Produces the set intersection of two parallel sequences by using
  17374. the specified IEqualityComparer{T} to compare values.
  17375. </summary>
  17376. <typeparam name="TSource">The type of the elements of the input sequences.</typeparam>
  17377. <param name="first">
  17378. A sequence whose distinct elements that also appear in <paramref name="second"/> will be returned.
  17379. </param>
  17380. <param name="second">
  17381. A sequence whose distinct elements that also appear in the first sequence will be returned.
  17382. </param>
  17383. <param name="comparer">An IEqualityComparer&lt;(Of &lt;(T&gt;)&gt;) to compare values.</param>
  17384. <returns>A sequence that contains the elements that form the set intersection of two sequences.</returns>
  17385. <exception cref="T:System.ArgumentNullException">
  17386. <paramref name="first"/> or <paramref name="second"/> is a null reference (Nothing in Visual Basic).
  17387. </exception>
  17388. </member>
  17389. <member name="M:System.Linq.ParallelEnumerable.Intersect``1(System.Linq.ParallelQuery{``0},System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEqualityComparer{``0})">
  17390. <summary>
  17391. This Intersect overload should never be called.
  17392. This method is marked as obsolete and always throws <see cref="T:System.NotSupportedException"/> when called.
  17393. </summary>
  17394. <typeparam name="TSource">This type parameter is not used.</typeparam>
  17395. <param name="first">This parameter is not used.</param>
  17396. <param name="second">This parameter is not used.</param>
  17397. <param name="comparer">This parameter is not used.</param>
  17398. <returns>This overload always throws a <see cref="T:System.NotSupportedException"/>.</returns>
  17399. <exception cref="T:System.NotSupportedException">The exception that occurs when this method is called.</exception>
  17400. <remarks>
  17401. This overload exists to disallow usage of Intersect with a left data source of type
  17402. <see cref="T:System.Linq.ParallelQuery`1"/> and a right data source of type <see cref="T:System.Collections.Generic.IEnumerable`1"/>.
  17403. Otherwise, the Intersect operator would appear to be binding to the parallel implementation,
  17404. but would in reality bind to the sequential implementation.
  17405. </remarks>
  17406. </member>
  17407. <member name="M:System.Linq.ParallelEnumerable.Except``1(System.Linq.ParallelQuery{``0},System.Linq.ParallelQuery{``0})">
  17408. <summary>
  17409. Produces the set difference of two parallel sequences by using
  17410. the default equality comparer to compare values.
  17411. </summary>
  17412. <typeparam name="TSource">The type of the elements of the input sequences.</typeparam>
  17413. <param name="first">
  17414. A sequence whose elements that are not also in <paramref name="second"/> will be returned.
  17415. </param>
  17416. <param name="second">
  17417. A sequence whose elements that also occur in the first sequence will cause those
  17418. elements to be removed from the returned sequence.
  17419. </param>
  17420. <returns>A sequence that contains the set difference of the elements of two sequences.</returns>
  17421. <exception cref="T:System.ArgumentNullException">
  17422. <paramref name="first"/> or <paramref name="second"/> is a null reference (Nothing in Visual Basic).
  17423. </exception>
  17424. </member>
  17425. <member name="M:System.Linq.ParallelEnumerable.Except``1(System.Linq.ParallelQuery{``0},System.Collections.Generic.IEnumerable{``0})">
  17426. <summary>
  17427. This Except overload should never be called.
  17428. This method is marked as obsolete and always throws <see cref="T:System.NotSupportedException"/> when called.
  17429. </summary>
  17430. <typeparam name="TSource">This type parameter is not used.</typeparam>
  17431. <param name="first">This parameter is not used.</param>
  17432. <param name="second">This parameter is not used.</param>
  17433. <returns>This overload always throws a <see cref="T:System.NotSupportedException"/>.</returns>
  17434. <exception cref="T:System.NotSupportedException">The exception that occurs when this method is called.</exception>
  17435. <remarks>
  17436. This overload exists to disallow usage of Except with a left data source of type
  17437. <see cref="T:System.Linq.ParallelQuery`1"/> and a right data source of type <see cref="T:System.Collections.Generic.IEnumerable`1"/>.
  17438. Otherwise, the Except operator would appear to be binding to the parallel implementation,
  17439. but would in reality bind to the sequential implementation.
  17440. </remarks>
  17441. </member>
  17442. <member name="M:System.Linq.ParallelEnumerable.Except``1(System.Linq.ParallelQuery{``0},System.Linq.ParallelQuery{``0},System.Collections.Generic.IEqualityComparer{``0})">
  17443. <summary>
  17444. Produces the set difference of two parallel sequences by using the
  17445. specified IEqualityComparer{T} to compare values.
  17446. </summary>
  17447. <typeparam name="TSource">The type of the elements of the input sequences.</typeparam>
  17448. <param name="first">A sequence whose elements that are not also in <paramref name="second"/> will be returned.</param>
  17449. <param name="second">
  17450. A sequence whose elements that also occur in the first sequence will cause those elements
  17451. to be removed from the returned sequence.
  17452. </param>
  17453. <param name="comparer">An IEqualityComparer&lt;(Of &lt;(T&gt;)&gt;) to compare values.</param>
  17454. <returns>A sequence that contains the set difference of the elements of two sequences.</returns>
  17455. <exception cref="T:System.ArgumentNullException">
  17456. <paramref name="first"/> or <paramref name="second"/> is a null reference (Nothing in Visual Basic).
  17457. </exception>
  17458. </member>
  17459. <member name="M:System.Linq.ParallelEnumerable.Except``1(System.Linq.ParallelQuery{``0},System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEqualityComparer{``0})">
  17460. <summary>
  17461. This Except overload should never be called.
  17462. This method is marked as obsolete and always throws <see cref="T:System.NotSupportedException"/> when called.
  17463. </summary>
  17464. <typeparam name="TSource">This type parameter is not used.</typeparam>
  17465. <param name="first">This parameter is not used.</param>
  17466. <param name="second">This parameter is not used.</param>
  17467. <param name="comparer">This parameter is not used.</param>
  17468. <returns>This overload always throws a <see cref="T:System.NotSupportedException"/>.</returns>
  17469. <exception cref="T:System.NotSupportedException">The exception that occurs when this method is called.</exception>
  17470. <remarks>
  17471. This overload exists to disallow usage of Except with a left data source of type
  17472. <see cref="T:System.Linq.ParallelQuery`1"/> and a right data source of type <see cref="T:System.Collections.Generic.IEnumerable`1"/>.
  17473. Otherwise, the Except operator would appear to be binding to the parallel implementation,
  17474. but would in reality bind to the sequential implementation.
  17475. </remarks>
  17476. </member>
  17477. <member name="M:System.Linq.ParallelEnumerable.AsEnumerable``1(System.Linq.ParallelQuery{``0})">
  17478. <summary>
  17479. Converts a <see cref="T:System.Linq.ParallelQuery`1"/> into an
  17480. <see cref="T:System.Collections.Generic.IEnumerable`1"/> to force sequential
  17481. evaluation of the query.
  17482. </summary>
  17483. <typeparam name="TSource">The type of the elements of <paramref name="source"/>.</typeparam>
  17484. <param name="source">The sequence to type as <see cref="T:System.Collections.Generic.IEnumerable`1"/>.</param>
  17485. <returns>The input sequence types as <see cref="T:System.Collections.Generic.IEnumerable`1"/>.</returns>
  17486. <exception cref="T:System.ArgumentNullException">
  17487. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  17488. </exception>
  17489. </member>
  17490. <member name="M:System.Linq.ParallelEnumerable.ToArray``1(System.Linq.ParallelQuery{``0})">
  17491. <summary>
  17492. Creates an array from a ParallelQuery{T}.
  17493. </summary>
  17494. <typeparam name="TSource">The type of the elements of <paramref name="source"/>.</typeparam>
  17495. <param name="source">A sequence to create an array from.</param>
  17496. <returns>An array that contains the elements from the input sequence.</returns>
  17497. <exception cref="T:System.ArgumentNullException">
  17498. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  17499. </exception>
  17500. <exception cref="T:System.AggregateException">
  17501. One or more exceptions occurred during the evaluation of the query.
  17502. </exception>
  17503. <exception cref="T:System.OperationCanceledException">
  17504. The query was canceled.
  17505. </exception>
  17506. </member>
  17507. <member name="M:System.Linq.ParallelEnumerable.ToList``1(System.Linq.ParallelQuery{``0})">
  17508. <summary>
  17509. Creates a List{T} from an ParallelQuery{T}.
  17510. </summary>
  17511. <typeparam name="TSource">The type of the elements of <paramref name="source"/>.</typeparam>
  17512. <param name="source">A sequence to create a List&lt;(Of &lt;(T&gt;)&gt;) from.</param>
  17513. <returns>A List&lt;(Of &lt;(T&gt;)&gt;) that contains elements from the input sequence.</returns>
  17514. <exception cref="T:System.ArgumentNullException">
  17515. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  17516. </exception>
  17517. <exception cref="T:System.AggregateException">
  17518. One or more exceptions occurred during the evaluation of the query.
  17519. </exception>
  17520. <exception cref="T:System.OperationCanceledException">
  17521. The query was canceled.
  17522. </exception>
  17523. </member>
  17524. <member name="M:System.Linq.ParallelEnumerable.ToDictionary``2(System.Linq.ParallelQuery{``0},System.Func{``0,``1})">
  17525. <summary>
  17526. Creates a Dictionary{TKey,TValue} from a ParallelQuery{T} according to
  17527. a specified key selector function.
  17528. </summary>
  17529. <typeparam name="TSource">The type of the elements of <paramref name="source"/>.</typeparam>
  17530. <typeparam name="TKey">The type of the key returned by <paramref name="keySelector"/>.</typeparam>
  17531. <param name="source">A sequence to create a Dictionary&lt;(Of &lt;(TKey, TValue&gt;)&gt;) from.</param>
  17532. <param name="keySelector">A function to extract a key from each element.</param>
  17533. <returns>A Dictionary&lt;(Of &lt;(TKey, TValue&gt;)&gt;) that contains keys and values.</returns>
  17534. <exception cref="T:System.ArgumentNullException">
  17535. <paramref name="source"/> or <paramref name="keySelector"/> is a null reference (Nothing in Visual Basic).
  17536. </exception>
  17537. <exception cref="T:System.AggregateException">
  17538. <paramref name="keySelector"/> produces a key that is a null reference (Nothing in Visual Basic).
  17539. -or-
  17540. <paramref name="keySelector"/> produces duplicate keys for two elements.
  17541. -or-
  17542. One or more exceptions occurred during the evaluation of the query.
  17543. </exception>
  17544. <exception cref="T:System.OperationCanceledException">
  17545. The query was canceled.
  17546. </exception>
  17547. </member>
  17548. <member name="M:System.Linq.ParallelEnumerable.ToDictionary``2(System.Linq.ParallelQuery{``0},System.Func{``0,``1},System.Collections.Generic.IEqualityComparer{``1})">
  17549. <summary>
  17550. Creates a Dictionary{TKey,TValue} from a ParallelQuery{T} according to a
  17551. specified key selector function and key comparer.
  17552. </summary>
  17553. <typeparam name="TSource">The type of the elements of <paramref name="source"/>.</typeparam>
  17554. <typeparam name="TKey">The type of the key returned by <paramref name="keySelector"/>.</typeparam>
  17555. <param name="source">A sequence to create a Dictionary&lt;(Of &lt;(TKey, TValue&gt;)&gt;) from.</param>
  17556. <param name="keySelector">A function to extract a key from each element.</param>
  17557. <param name="comparer">An IEqualityComparer&lt;(Of &lt;(T&gt;)&gt;) to compare keys.</param>
  17558. <returns>A Dictionary&lt;(Of &lt;(TKey, TValue&gt;)&gt;) that contains keys and values.</returns>
  17559. <exception cref="T:System.ArgumentNullException">
  17560. <paramref name="source"/> or <paramref name="keySelector"/> is a null reference (Nothing in Visual Basic).
  17561. </exception>
  17562. <exception cref="T:System.AggregateException">
  17563. <paramref name="keySelector"/> produces a key that is a null reference (Nothing in Visual Basic).
  17564. -or-
  17565. <paramref name="keySelector"/> produces duplicate keys for two elements.
  17566. -or-
  17567. One or more exceptions occurred during the evaluation of the query.
  17568. </exception>
  17569. <exception cref="T:System.OperationCanceledException">
  17570. The query was canceled.
  17571. </exception>
  17572. </member>
  17573. <member name="M:System.Linq.ParallelEnumerable.ToDictionary``3(System.Linq.ParallelQuery{``0},System.Func{``0,``1},System.Func{``0,``2})">
  17574. <summary>
  17575. Creates a Dictionary{TKey,TValue} from a ParallelQuery{T} according to specified
  17576. key selector and element selector functions.
  17577. </summary>
  17578. <typeparam name="TSource">The type of the elements of <paramref name="source"/>.</typeparam>
  17579. <typeparam name="TKey">The type of the key returned by <paramref name="keySelector"/>.</typeparam>
  17580. <typeparam name="TElement">The type of the value returned by <paramref name="elementSelector"/>.</typeparam>
  17581. <param name="source">A sequence to create a Dictionary&lt;(Of &lt;(TKey, TValue&gt;)&gt;) from.</param>
  17582. <param name="keySelector">A function to extract a key from each element.</param>
  17583. <param name="elementSelector">
  17584. A transform function to produce a result element value from each element.
  17585. </param>
  17586. <returns>
  17587. A Dictionary&lt;(Of &lt;(TKey, TValue&gt;)&gt;) that contains values of type <typeparamref name="TElement"/>
  17588. selected from the input sequence
  17589. </returns>
  17590. <exception cref="T:System.ArgumentNullException">
  17591. <paramref name="source"/> or <paramref name="keySelector"/> or <paramref name="elementSelector"/> is a null reference (Nothing in Visual Basic).
  17592. </exception>
  17593. <exception cref="T:System.AggregateException">
  17594. <paramref name="keySelector"/> produces a key that is a null reference (Nothing in Visual Basic).
  17595. -or-
  17596. <paramref name="keySelector"/> produces duplicate keys for two elements.
  17597. -or-
  17598. One or more exceptions occurred during the evaluation of the query.
  17599. </exception>
  17600. <exception cref="T:System.OperationCanceledException">
  17601. The query was canceled.
  17602. </exception>
  17603. </member>
  17604. <member name="M:System.Linq.ParallelEnumerable.ToDictionary``3(System.Linq.ParallelQuery{``0},System.Func{``0,``1},System.Func{``0,``2},System.Collections.Generic.IEqualityComparer{``1})">
  17605. <summary>
  17606. Creates a Dictionary{TKey,TValue from a ParallelQuery{T} according to a
  17607. specified key selector function, a comparer, and an element selector function.
  17608. </summary>
  17609. <typeparam name="TSource">The type of the elements of <paramref name="source"/>.</typeparam>
  17610. <typeparam name="TKey">The type of the key returned by <paramref name="keySelector"/>.</typeparam>
  17611. <typeparam name="TElement">The type of the value returned by <paramref name="elementSelector"/>.</typeparam>
  17612. <param name="source">A sequence to create a Dictionary&lt;(Of &lt;(TKey, TValue&gt;)&gt;) from.</param>
  17613. <param name="keySelector">A function to extract a key from each element.</param>
  17614. <param name="elementSelector">A transform function to produce a result element
  17615. value from each element.</param>
  17616. <param name="comparer">An IEqualityComparer&lt;(Of &lt;(T&gt;)&gt;) to compare keys.</param>
  17617. <returns>
  17618. A Dictionary&lt;(Of &lt;(TKey, TValue&gt;)&gt;) that contains values of type <typeparamref name="TElement"/>
  17619. selected from the input sequence
  17620. </returns>
  17621. <exception cref="T:System.ArgumentNullException">
  17622. <paramref name="source"/> or <paramref name="keySelector"/> or <paramref name="elementSelector"/> is a null reference (Nothing in Visual Basic).
  17623. </exception>
  17624. <exception cref="T:System.AggregateException">
  17625. <paramref name="keySelector"/> produces a key that is a null reference (Nothing in Visual Basic).
  17626. -or-
  17627. <paramref name="keySelector"/> produces duplicate keys for two elements.
  17628. -or-
  17629. One or more exceptions occurred during the evaluation of the query.
  17630. </exception>
  17631. <exception cref="T:System.OperationCanceledException">
  17632. The query was canceled.
  17633. </exception>
  17634. </member>
  17635. <member name="M:System.Linq.ParallelEnumerable.ToLookup``2(System.Linq.ParallelQuery{``0},System.Func{``0,``1})">
  17636. <summary>
  17637. Creates an ILookup{TKey,T} from a ParallelQuery{T} according to a specified key selector function.
  17638. </summary>
  17639. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  17640. <typeparam name="TKey">The type of the key returned by <paramref name="keySelector"/>.</typeparam>
  17641. <param name="source">The sequence to create a Lookup&lt;(Of &lt;(TKey, TElement&gt;)&gt;) from.</param>
  17642. <param name="keySelector">A function to extract a key from each element.</param>
  17643. <returns>A Lookup&lt;(Of &lt;(TKey, TElement&gt;)&gt;) that contains keys and values.</returns>
  17644. <exception cref="T:System.ArgumentNullException">
  17645. <paramref name="source"/> or <paramref name="keySelector"/> is a null reference (Nothing in Visual Basic).
  17646. </exception>
  17647. <exception cref="T:System.AggregateException">
  17648. One or more exceptions occurred during the evaluation of the query.
  17649. </exception>
  17650. <exception cref="T:System.OperationCanceledException">
  17651. The query was canceled.
  17652. </exception>
  17653. </member>
  17654. <member name="M:System.Linq.ParallelEnumerable.ToLookup``2(System.Linq.ParallelQuery{``0},System.Func{``0,``1},System.Collections.Generic.IEqualityComparer{``1})">
  17655. <summary>
  17656. Creates an ILookup{TKey,T} from a ParallelQuery{T} according to a specified
  17657. key selector function and key comparer.
  17658. </summary>
  17659. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  17660. <typeparam name="TKey">The type of the key returned by <paramref name="keySelector"/>.</typeparam>
  17661. <param name="source">The sequence to create a Lookup&lt;(Of &lt;(TKey, TElement&gt;)&gt;) from.</param>
  17662. <param name="keySelector">A function to extract a key from each element.</param>
  17663. <param name="comparer">An IEqualityComparer&lt;(Of &lt;(T&gt;)&gt;) to compare keys.</param>
  17664. <returns>A Lookup&lt;(Of &lt;(TKey, TElement&gt;)&gt;) that contains keys and values.</returns>
  17665. <exception cref="T:System.ArgumentNullException">
  17666. <paramref name="source"/> or <paramref name="keySelector"/> or is a null reference (Nothing in Visual Basic).
  17667. </exception>
  17668. <exception cref="T:System.AggregateException">
  17669. One or more exceptions occurred during the evaluation of the query.
  17670. </exception>
  17671. <exception cref="T:System.OperationCanceledException">
  17672. The query was canceled.
  17673. </exception>
  17674. </member>
  17675. <member name="M:System.Linq.ParallelEnumerable.ToLookup``3(System.Linq.ParallelQuery{``0},System.Func{``0,``1},System.Func{``0,``2})">
  17676. <summary>
  17677. Creates an ILookup{TKey,TElement} from a ParallelQuery{T} according to specified
  17678. key selector and element selector functions.
  17679. </summary>
  17680. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  17681. <typeparam name="TKey">The type of the key returned by <paramref name="keySelector"/>.</typeparam>
  17682. <typeparam name="TElement">The type of the value returned by <paramref name="elementSelector"/>.</typeparam>
  17683. <param name="source">The sequence to create a Lookup&lt;(Of &lt;(TKey, TElement&gt;)&gt;) from.</param>
  17684. <param name="keySelector">A function to extract a key from each element.</param>
  17685. <param name="elementSelector">
  17686. A transform function to produce a result element value from each element.
  17687. </param>
  17688. <returns>
  17689. A Lookup&lt;(Of &lt;(TKey, TElement&gt;)&gt;) that contains values of type TElement
  17690. selected from the input sequence.
  17691. </returns>
  17692. <exception cref="T:System.ArgumentNullException">
  17693. <paramref name="source"/> or <paramref name="keySelector"/> or <paramref name="elementSelector"/> is a null reference (Nothing in Visual Basic).
  17694. </exception>
  17695. <exception cref="T:System.AggregateException">
  17696. One or more exceptions occurred during the evaluation of the query.
  17697. </exception>
  17698. <exception cref="T:System.OperationCanceledException">
  17699. The query was canceled.
  17700. </exception>
  17701. </member>
  17702. <member name="M:System.Linq.ParallelEnumerable.ToLookup``3(System.Linq.ParallelQuery{``0},System.Func{``0,``1},System.Func{``0,``2},System.Collections.Generic.IEqualityComparer{``1})">
  17703. <summary>
  17704. Creates an ILookup{TKey,TElement} from a ParallelQuery{T} according to
  17705. a specified key selector function, a comparer and an element selector function.
  17706. </summary>
  17707. <typeparam name="TSource">The type of elements of <paramref name="source"/>.</typeparam>
  17708. <typeparam name="TKey">The type of the key returned by <paramref name="keySelector"/>.</typeparam>
  17709. <typeparam name="TElement">The type of the value returned by <paramref name="elementSelector"/>.</typeparam>
  17710. <param name="source">The sequence to create a Lookup&lt;(Of &lt;(TKey, TElement&gt;)&gt;) from.</param>
  17711. <param name="keySelector">A function to extract a key from each element.</param>
  17712. <param name="elementSelector">
  17713. A transform function to produce a result element value from each element.
  17714. </param>
  17715. <param name="comparer">An IEqualityComparer&lt;(Of &lt;(T&gt;)&gt;) to compare keys.</param>
  17716. <returns>
  17717. A Lookup&lt;(Of &lt;(TKey, TElement&gt;)&gt;) that contains values of type TElement selected
  17718. from the input sequence.
  17719. </returns>
  17720. <exception cref="T:System.ArgumentNullException">
  17721. <paramref name="source"/> or <paramref name="keySelector"/> or <paramref name="elementSelector"/> is a null reference (Nothing in Visual Basic).
  17722. </exception>
  17723. <exception cref="T:System.AggregateException">
  17724. One or more exceptions occurred during the evaluation of the query.
  17725. </exception>
  17726. <exception cref="T:System.OperationCanceledException">
  17727. The query was canceled.
  17728. </exception>
  17729. </member>
  17730. <member name="M:System.Linq.ParallelEnumerable.Reverse``1(System.Linq.ParallelQuery{``0})">
  17731. <summary>
  17732. Inverts the order of the elements in a parallel sequence.
  17733. </summary>
  17734. <typeparam name="TSource">The type of the elements of <paramref name="source"/>.</typeparam>
  17735. <param name="source">A sequence of values to reverse.</param>
  17736. <returns>A sequence whose elements correspond to those of the input sequence in reverse order.</returns>
  17737. <exception cref="T:System.ArgumentNullException">
  17738. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  17739. </exception>
  17740. </member>
  17741. <member name="M:System.Linq.ParallelEnumerable.OfType``1(System.Linq.ParallelQuery)">
  17742. <summary>
  17743. Filters the elements of a ParallelQuery based on a specified type.
  17744. </summary>
  17745. <typeparam name="TResult">The type to filter the elements of the sequence on.</typeparam>
  17746. <param name="source">The sequence whose elements to filter.</param>
  17747. <returns>A sequence that contains elements from the input sequence of type <typeparamref name="TResult"/>.</returns>
  17748. <exception cref="T:System.ArgumentNullException">
  17749. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  17750. </exception>
  17751. </member>
  17752. <member name="M:System.Linq.ParallelEnumerable.Cast``1(System.Linq.ParallelQuery)">
  17753. <summary>
  17754. Converts the elements of a ParallelQuery to the specified type.
  17755. </summary>
  17756. <typeparam name="TResult">The type to convert the elements of <paramref name="source"/> to.</typeparam>
  17757. <param name="source">The sequence that contains the elements to be converted.</param>
  17758. <returns>
  17759. A sequence that contains each element of the source sequence converted to the specified type.
  17760. </returns>
  17761. <exception cref="T:System.ArgumentNullException">
  17762. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  17763. </exception>
  17764. </member>
  17765. <member name="M:System.Linq.ParallelEnumerable.First``1(System.Linq.ParallelQuery{``0})">
  17766. <summary>
  17767. Returns the first element of a parallel sequence.</summary>
  17768. <typeparam name="TSource">The type of the elements of <paramref name="source"/>.</typeparam>
  17769. <param name="source">The sequence to return the first element of.</param>
  17770. <returns>The first element in the specified sequence.</returns>
  17771. <exception cref="T:System.ArgumentNullException">
  17772. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  17773. </exception>
  17774. <exception cref="T:System.InvalidOperationException">
  17775. <paramref name="source"/> contains no elements.
  17776. </exception>
  17777. <exception cref="T:System.AggregateException">
  17778. One or more exceptions occurred during the evaluation of the query.
  17779. </exception>
  17780. <exception cref="T:System.OperationCanceledException">
  17781. The query was canceled.
  17782. </exception>
  17783. </member>
  17784. <member name="M:System.Linq.ParallelEnumerable.First``1(System.Linq.ParallelQuery{``0},System.Func{``0,System.Boolean})">
  17785. <summary>
  17786. Returns the first element in a parallel sequence that satisfies a specified condition.
  17787. </summary>
  17788. <remarks>There's a temporary difference from LINQ to Objects, this does not throw
  17789. ArgumentNullException when the predicate is null.</remarks>
  17790. <typeparam name="TSource">The type of the elements of <paramref name="source"/>.</typeparam>
  17791. <param name="source">The sequence to return an element from.</param>
  17792. <param name="predicate">A function to test each element for a condition.</param>
  17793. <returns>The first element in the sequence that passes the test in the specified predicate function.</returns>
  17794. <exception cref="T:System.ArgumentNullException">
  17795. <paramref name="source"/> or <paramref name="predicate"/> is a null reference (Nothing in Visual Basic).
  17796. </exception>
  17797. <exception cref="T:System.InvalidOperationException">
  17798. No element in <paramref name="source"/> satisfies the condition in <paramref name="predicate"/>.
  17799. </exception>
  17800. <exception cref="T:System.AggregateException">
  17801. One or more exceptions occurred during the evaluation of the query.
  17802. </exception>
  17803. <exception cref="T:System.OperationCanceledException">
  17804. The query was canceled.
  17805. </exception>
  17806. </member>
  17807. <member name="M:System.Linq.ParallelEnumerable.FirstOrDefault``1(System.Linq.ParallelQuery{``0})">
  17808. <summary>
  17809. Returns the first element of a parallel sequence, or a default value if the
  17810. sequence contains no elements.
  17811. </summary>
  17812. <typeparam name="TSource">The type of the elements of <paramref name="source"/>.</typeparam>
  17813. <param name="source">The sequence to return the first element of.</param>
  17814. <returns>
  17815. default(<B>TSource</B>) if <paramref name="source"/> is empty; otherwise, the first element in <paramref name="source"/>.
  17816. </returns>
  17817. <exception cref="T:System.ArgumentNullException">
  17818. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  17819. </exception>
  17820. <exception cref="T:System.AggregateException">
  17821. One or more exceptions occurred during the evaluation of the query.
  17822. </exception>
  17823. <exception cref="T:System.OperationCanceledException">
  17824. The query was canceled.
  17825. </exception>
  17826. </member>
  17827. <member name="M:System.Linq.ParallelEnumerable.FirstOrDefault``1(System.Linq.ParallelQuery{``0},System.Func{``0,System.Boolean})">
  17828. <summary>
  17829. Returns the first element of the parallel sequence that satisfies a condition or a
  17830. default value if no such element is found.
  17831. </summary>
  17832. <remarks>There's a temporary difference from LINQ to Objects, this does not throw
  17833. ArgumentNullException when the predicate is null.</remarks>
  17834. <typeparam name="TSource">The type of the elements of <paramref name="source"/>.</typeparam>
  17835. <param name="source">The sequence to return an element from.</param>
  17836. <param name="predicate">A function to test each element for a condition.</param>
  17837. <returns>
  17838. default(<B>TSource</B>) if <paramref name="source"/> is empty or if no element passes the test
  17839. specified by <B>predicate</B>; otherwise, the first element in <paramref name="source"/> that
  17840. passes the test specified by <B>predicate</B>.
  17841. </returns>
  17842. <exception cref="T:System.ArgumentNullException">
  17843. <paramref name="source"/> or <paramref name="predicate"/> is a null reference (Nothing in Visual Basic).
  17844. </exception>
  17845. <exception cref="T:System.AggregateException">
  17846. One or more exceptions occurred during the evaluation of the query.
  17847. </exception>
  17848. <exception cref="T:System.OperationCanceledException">
  17849. The query was canceled.
  17850. </exception>
  17851. </member>
  17852. <member name="M:System.Linq.ParallelEnumerable.Last``1(System.Linq.ParallelQuery{``0})">
  17853. <summary>
  17854. Returns the last element of a parallel sequence.</summary>
  17855. <typeparam name="TSource">The type of the elements of <paramref name="source"/>.</typeparam>
  17856. <param name="source">The sequence to return the last element from.</param>
  17857. <returns>The value at the last position in the source sequence.</returns>
  17858. <exception cref="T:System.ArgumentNullException">
  17859. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  17860. </exception>
  17861. <exception cref="T:System.InvalidOperationException">
  17862. <paramref name="source"/> contains no elements.
  17863. </exception>
  17864. <exception cref="T:System.AggregateException">
  17865. One or more exceptions occurred during the evaluation of the query.
  17866. </exception>
  17867. <exception cref="T:System.OperationCanceledException">
  17868. The query was canceled.
  17869. </exception>
  17870. </member>
  17871. <member name="M:System.Linq.ParallelEnumerable.Last``1(System.Linq.ParallelQuery{``0},System.Func{``0,System.Boolean})">
  17872. <summary>
  17873. Returns the last element of a parallel sequence that satisfies a specified condition.
  17874. </summary>
  17875. <typeparam name="TSource">The type of the elements of <paramref name="source"/>.</typeparam>
  17876. <param name="source">The sequence to return an element from.</param>
  17877. <param name="predicate">A function to test each element for a condition.</param>
  17878. <returns>
  17879. The last element in the sequence that passes the test in the specified predicate function.
  17880. </returns>
  17881. <exception cref="T:System.ArgumentNullException">
  17882. <paramref name="source"/> or <paramref name="predicate"/> is a null reference (Nothing in Visual Basic).
  17883. </exception>
  17884. <exception cref="T:System.InvalidOperationException">
  17885. No element in <paramref name="source"/> satisfies the condition in <paramref name="predicate"/>.
  17886. </exception>
  17887. <exception cref="T:System.AggregateException">
  17888. One or more exceptions occurred during the evaluation of the query.
  17889. </exception>
  17890. <exception cref="T:System.OperationCanceledException">
  17891. The query was canceled.
  17892. </exception>
  17893. </member>
  17894. <member name="M:System.Linq.ParallelEnumerable.LastOrDefault``1(System.Linq.ParallelQuery{``0})">
  17895. <summary>
  17896. Returns the last element of a parallel sequence, or a default value if the
  17897. sequence contains no elements.
  17898. </summary>
  17899. <typeparam name="TSource">The type of the elements of <paramref name="source"/>.</typeparam>
  17900. <param name="source">The sequence to return an element from.</param>
  17901. <returns>
  17902. default(<typeparamref name="TSource"/>) if the source sequence is empty; otherwise, the last element in the sequence.
  17903. </returns>
  17904. <exception cref="T:System.ArgumentNullException">
  17905. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  17906. </exception>
  17907. <exception cref="T:System.AggregateException">
  17908. One or more exceptions occurred during the evaluation of the query.
  17909. </exception>
  17910. <exception cref="T:System.OperationCanceledException">
  17911. The query was canceled.
  17912. </exception>
  17913. </member>
  17914. <member name="M:System.Linq.ParallelEnumerable.LastOrDefault``1(System.Linq.ParallelQuery{``0},System.Func{``0,System.Boolean})">
  17915. <summary>
  17916. Returns the last element of a parallel sequence that satisfies a condition, or
  17917. a default value if no such element is found.
  17918. </summary>
  17919. <typeparam name="TSource">The type of the elements of <paramref name="source"/>.</typeparam>
  17920. <param name="source">The sequence to return an element from.</param>
  17921. <param name="predicate">A function to test each element for a condition.</param>
  17922. <returns>
  17923. default(<typeparamref name="TSource"/>) if the sequence is empty or if no elements pass the test in the
  17924. predicate function; otherwise, the last element that passes the test in the predicate function.
  17925. </returns>
  17926. <exception cref="T:System.ArgumentNullException">
  17927. <paramref name="source"/> or <paramref name="predicate"/> is a null reference (Nothing in Visual Basic).
  17928. </exception>
  17929. <exception cref="T:System.AggregateException">
  17930. One or more exceptions occurred during the evaluation of the query.
  17931. </exception>
  17932. <exception cref="T:System.OperationCanceledException">
  17933. The query was canceled.
  17934. </exception>
  17935. </member>
  17936. <member name="M:System.Linq.ParallelEnumerable.Single``1(System.Linq.ParallelQuery{``0})">
  17937. <summary>
  17938. Returns the only element of a parallel sequence, and throws an exception if there is not
  17939. exactly one element in the sequence.
  17940. </summary>
  17941. <typeparam name="TSource">The type of the elements of <paramref name="source"/>.</typeparam>
  17942. <param name="source">The sequence to return the single element of.</param>
  17943. <returns>The single element of the input sequence.</returns>
  17944. <exception cref="T:System.ArgumentNullException">
  17945. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  17946. </exception>
  17947. <exception cref="T:System.InvalidOperationException">
  17948. The input sequence contains more than one element. -or- The input sequence is empty.
  17949. </exception>
  17950. <exception cref="T:System.AggregateException">
  17951. One or more exceptions occurred during the evaluation of the query.
  17952. </exception>
  17953. <exception cref="T:System.OperationCanceledException">
  17954. The query was canceled.
  17955. </exception>
  17956. </member>
  17957. <member name="M:System.Linq.ParallelEnumerable.Single``1(System.Linq.ParallelQuery{``0},System.Func{``0,System.Boolean})">
  17958. <summary>
  17959. Returns the only element of a parallel sequence that satisfies a specified condition,
  17960. and throws an exception if more than one such element exists.
  17961. </summary>
  17962. <typeparam name="TSource">The type of the elements of <paramref name="source"/>.</typeparam>
  17963. <param name="source">The sequence to return the single element of.</param>
  17964. <param name="predicate">A function to test an element for a condition.</param>
  17965. <returns>The single element of the input sequence that satisfies a condition.</returns>
  17966. <exception cref="T:System.ArgumentNullException">
  17967. <paramref name="source"/> or <paramref name="predicate"/> is a null reference (Nothing in Visual Basic).
  17968. </exception>
  17969. <exception cref="T:System.InvalidOperationException">
  17970. No element satisfies the condition in <paramref name="predicate"/>. -or- More than one element satisfies the condition in <paramref name="predicate"/>.
  17971. </exception>
  17972. <exception cref="T:System.AggregateException">
  17973. One or more exceptions occurred during the evaluation of the query.
  17974. </exception>
  17975. <exception cref="T:System.OperationCanceledException">
  17976. The query was canceled.
  17977. </exception>
  17978. </member>
  17979. <member name="M:System.Linq.ParallelEnumerable.SingleOrDefault``1(System.Linq.ParallelQuery{``0})">
  17980. <summary>
  17981. Returns the only element of a parallel sequence, or a default value if the sequence is
  17982. empty; this method throws an exception if there is more than one element in the sequence.
  17983. </summary>
  17984. <typeparam name="TSource">The type of the elements of <paramref name="source"/>.</typeparam>
  17985. <param name="source">The sequence to return the single element of.</param>
  17986. <returns>
  17987. The single element of the input sequence, or default(<typeparamref name="TSource"/>) if the
  17988. sequence contains no elements.
  17989. </returns>
  17990. <exception cref="T:System.ArgumentNullException">
  17991. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  17992. </exception>
  17993. <exception cref="T:System.AggregateException">
  17994. One or more exceptions occurred during the evaluation of the query.
  17995. </exception>
  17996. <exception cref="T:System.OperationCanceledException">
  17997. The query was canceled.
  17998. </exception>
  17999. </member>
  18000. <member name="M:System.Linq.ParallelEnumerable.SingleOrDefault``1(System.Linq.ParallelQuery{``0},System.Func{``0,System.Boolean})">
  18001. <summary>
  18002. Returns the only element of a parallel sequence that satisfies a specified condition
  18003. or a default value if no such element exists; this method throws an exception
  18004. if more than one element satisfies the condition.
  18005. </summary>
  18006. <typeparam name="TSource">The type of the elements of <paramref name="source"/>.</typeparam>
  18007. <param name="source">The sequence to return the single element of.</param>
  18008. <param name="predicate">A function to test an element for a condition.</param>
  18009. <returns>
  18010. The single element of the input sequence that satisfies the condition, or
  18011. default(<typeparamref name="TSource"/>) if no such element is found.
  18012. </returns>
  18013. <exception cref="T:System.ArgumentNullException">
  18014. <paramref name="source"/> or <paramref name="predicate"/> is a null reference (Nothing in Visual Basic).
  18015. </exception>
  18016. <exception cref="T:System.AggregateException">
  18017. One or more exceptions occurred during the evaluation of the query.
  18018. </exception>
  18019. <exception cref="T:System.OperationCanceledException">
  18020. The query was canceled.
  18021. </exception>
  18022. </member>
  18023. <member name="M:System.Linq.ParallelEnumerable.DefaultIfEmpty``1(System.Linq.ParallelQuery{``0})">
  18024. <summary>
  18025. Returns the elements of the specified parallel sequence or the type parameter's
  18026. default value in a singleton collection if the sequence is empty.
  18027. </summary>
  18028. <typeparam name="TSource">The type of the elements of <paramref name="source"/>.</typeparam>
  18029. <param name="source">The sequence to return a default value for if it is empty.</param>
  18030. <returns>
  18031. A sequence that contains default(<B>TSource</B>) if <paramref name="source"/> is empty; otherwise, <paramref name="source"/>.
  18032. </returns>
  18033. <exception cref="T:System.ArgumentNullException">
  18034. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  18035. </exception>
  18036. </member>
  18037. <member name="M:System.Linq.ParallelEnumerable.DefaultIfEmpty``1(System.Linq.ParallelQuery{``0},``0)">
  18038. <summary>
  18039. Returns the elements of the specified parallel sequence or the specified value
  18040. in a singleton collection if the sequence is empty.
  18041. </summary>
  18042. <typeparam name="TSource">The type of the elements of <paramref name="source"/>.</typeparam>
  18043. <param name="source">The sequence to return the specified value for if it is empty.</param>
  18044. <param name="defaultValue">The value to return if the sequence is empty.</param>
  18045. <returns>
  18046. A sequence that contains <B>defaultValue</B> if <paramref name="source"/> is empty; otherwise, <paramref name="source"/>.
  18047. </returns>
  18048. <exception cref="T:System.ArgumentNullException">
  18049. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  18050. </exception>
  18051. </member>
  18052. <member name="M:System.Linq.ParallelEnumerable.ElementAt``1(System.Linq.ParallelQuery{``0},System.Int32)">
  18053. <summary>
  18054. Returns the element at a specified index in a parallel sequence.
  18055. </summary>
  18056. <typeparam name="TSource">The type of the elements of <paramref name="source"/>.</typeparam>
  18057. <param name="source">A sequence to return an element from.</param>
  18058. <param name="index">The zero-based index of the element to retrieve.</param>
  18059. <returns>The element at the specified position in the source sequence.</returns>
  18060. <exception cref="T:System.ArgumentNullException">
  18061. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  18062. </exception>
  18063. <exception cref="T:System.ArgumentOutOfRangeException">
  18064. <paramref name="index"/> is less than 0 or greater than or equal to the number of elements in <paramref name="source"/>.
  18065. </exception>
  18066. <exception cref="T:System.AggregateException">
  18067. One or more exceptions occurred during the evaluation of the query.
  18068. </exception>
  18069. <exception cref="T:System.OperationCanceledException">
  18070. The query was canceled.
  18071. </exception>
  18072. </member>
  18073. <member name="M:System.Linq.ParallelEnumerable.ElementAtOrDefault``1(System.Linq.ParallelQuery{``0},System.Int32)">
  18074. <summary>
  18075. Returns the element at a specified index in a parallel sequence or a default value if the
  18076. index is out of range.
  18077. </summary>
  18078. <typeparam name="TSource">The type of the elements of <paramref name="source"/>.</typeparam>
  18079. <param name="source">A sequence to return an element from.</param>
  18080. <param name="index">The zero-based index of the element to retrieve.</param>
  18081. <returns>
  18082. default(<B>TSource</B>) if the index is outside the bounds of the source sequence;
  18083. otherwise, the element at the specified position in the source sequence.
  18084. </returns>
  18085. <exception cref="T:System.ArgumentNullException">
  18086. <paramref name="source"/> is a null reference (Nothing in Visual Basic).
  18087. </exception>
  18088. <exception cref="T:System.AggregateException">
  18089. One or more exceptions occurred during the evaluation of the query.
  18090. </exception>
  18091. <exception cref="T:System.OperationCanceledException">
  18092. The query was canceled.
  18093. </exception>
  18094. </member>
  18095. <member name="T:System.Linq.ParallelMergeOptions">
  18096. <summary>
  18097. Specifies the preferred type of output merge to use in a query. This is a hint only, and may not be
  18098. respected by the system when parallelizing all queries.
  18099. </summary>
  18100. <remarks>
  18101. <para>
  18102. Use <b>NotBuffered</b> for queries that will be consumed and output as streams, this has the lowest latency
  18103. between beginning query execution and elements being yielded. For some queries, such as those involving a
  18104. sort (OrderBy, OrderByDescending), buffering is essential and a hint of NotBuffered or AutoBuffered will
  18105. be ignored.
  18106. </para>
  18107. <para>
  18108. Use <b>AutoBuffered</b> for most cases; this is the default. It strikes a balance between latency and
  18109. overall performance.
  18110. </para>
  18111. <para>
  18112. Use <b>FullyBuffered</b> for queries when the entire output can be processed before the information is
  18113. needed. This option offers the best performance when all of the output can be accumulated before yielding
  18114. any information, though it is not suitable for stream processing or showing partial results mid-query.
  18115. </para>
  18116. </remarks>
  18117. </member>
  18118. <member name="F:System.Linq.ParallelMergeOptions.Default">
  18119. <summary>
  18120. Use the default merge type, which is AutoBuffered.
  18121. </summary>
  18122. </member>
  18123. <member name="F:System.Linq.ParallelMergeOptions.NotBuffered">
  18124. <summary>
  18125. Use a merge without output buffers. As soon as result elements have been computed,
  18126. make that element available to the consumer of the query.
  18127. </summary>
  18128. </member>
  18129. <member name="F:System.Linq.ParallelMergeOptions.AutoBuffered">
  18130. <summary>
  18131. Use a merge with output buffers of a size chosen by the system. Results
  18132. will accumulate into an output buffer before they are available to the consumer of
  18133. the query.
  18134. </summary>
  18135. </member>
  18136. <member name="F:System.Linq.ParallelMergeOptions.FullyBuffered">
  18137. <summary>
  18138. Use a merge with full output buffers. The system will accumulate all of the
  18139. results before making any of them available to the consumer of the query.
  18140. </summary>
  18141. </member>
  18142. <member name="T:System.Linq.Parallel.AsynchronousChannel`1">
  18143. <summary>
  18144. This is a bounded channel meant for single-producer/single-consumer scenarios.
  18145. </summary>
  18146. <typeparam name="T">Specifies the type of data in the channel.</typeparam>
  18147. </member>
  18148. <member name="T:System.Linq.Parallel.SynchronousChannel`1">
  18149. <summary>
  18150. The simplest channel is one that has no synchronization. This is used for stop-
  18151. and-go productions where we are guaranteed the consumer is not running
  18152. concurrently. It just wraps a FIFO queue internally.
  18153. Assumptions:
  18154. Producers and consumers never try to enqueue/dequeue concurrently.
  18155. </summary>
  18156. <typeparam name="T"></typeparam>
  18157. </member>
  18158. <member name="T:System.Linq.Parallel.EmptyEnumerable`1">
  18159. <summary>
  18160. We occassionally need a no-op enumerator to stand-in when we don't have data left
  18161. within a partition's data stream. These are simple enumerable and enumerator
  18162. implementations that always and consistently yield no elements.
  18163. </summary>
  18164. <typeparam name="T"></typeparam>
  18165. </member>
  18166. <member name="T:System.Linq.ParallelQuery`1">
  18167. <summary>
  18168. Represents a parallel sequence.
  18169. </summary>
  18170. </member>
  18171. <member name="T:System.Linq.ParallelQuery">
  18172. <summary>
  18173. Represents a parallel sequence.
  18174. </summary>
  18175. </member>
  18176. <member name="M:System.Linq.ParallelQuery.System#Collections#IEnumerable#GetEnumerator">
  18177. <summary>
  18178. Returns an enumerator that iterates through the sequence.
  18179. </summary>
  18180. <returns>An enumerator that iterates through the sequence.</returns>
  18181. </member>
  18182. <member name="M:System.Linq.ParallelQuery`1.GetEnumerator">
  18183. <summary>
  18184. Returns an enumerator that iterates through the sequence.
  18185. </summary>
  18186. <returns>An enumerator that iterates through the sequence.</returns>
  18187. </member>
  18188. <member name="T:System.Linq.Parallel.QueryOperatorEnumerator`2">
  18189. <summary>
  18190. A common enumerator type that unifies all query operator enumerators.
  18191. </summary>
  18192. <typeparam name="TElement"></typeparam>
  18193. <typeparam name="TKey"></typeparam>
  18194. </member>
  18195. <member name="T:System.Linq.Parallel.EnumerableWrapperWeakToStrong">
  18196. <summary>
  18197. A simple implementation of the IEnumerable{object} interface which wraps
  18198. a weakly typed IEnumerable object, allowing it to be accessed as a strongly typed
  18199. IEnumerable{object}.
  18200. </summary>
  18201. </member>
  18202. <member name="T:System.Linq.Parallel.IParallelPartitionable`1">
  18203. <summary>
  18204. An interface that allows developers to specify their own partitioning routines.
  18205. </summary>
  18206. <typeparam name="T"></typeparam>
  18207. </member>
  18208. <member name="T:System.Linq.Parallel.ParallelEnumerableWrapper">
  18209. <summary>
  18210. A simple implementation of the ParallelQuery{object} interface which wraps an
  18211. underlying IEnumerable, such that it can be used in parallel queries.
  18212. </summary>
  18213. </member>
  18214. <member name="T:System.Linq.Parallel.ParallelEnumerableWrapper`1">
  18215. <summary>
  18216. A simple implementation of the ParallelQuery{T} interface which wraps an
  18217. underlying IEnumerable{T}, such that it can be used in parallel queries.
  18218. </summary>
  18219. <typeparam name="T"></typeparam>
  18220. </member>
  18221. <member name="T:System.Linq.Parallel.QueryAggregationOptions">
  18222. <summary>
  18223. An enum to specify whether an aggregate operator is associative, commutative,
  18224. neither, or both. This influences query analysis and execution: associative
  18225. aggregations can run in parallel, whereas non-associative cannot; non-commutative
  18226. aggregations must be run over data in input-order.
  18227. </summary>
  18228. </member>
  18229. <member name="T:System.Linq.Parallel.RangeEnumerable">
  18230. <summary>
  18231. A simple enumerable type that implements the range algorithm. It also supports
  18232. partitioning of the indices by implementing an interface that PLINQ recognizes.
  18233. </summary>
  18234. </member>
  18235. <member name="T:System.Linq.Parallel.RepeatEnumerable`1">
  18236. <summary>
  18237. A simple enumerable type that implements the repeat algorithm. It also supports
  18238. partitioning of the count space by implementing an interface that PLINQ recognizes.
  18239. </summary>
  18240. <typeparam name="TResult"></typeparam>
  18241. </member>
  18242. <member name="T:System.Linq.Parallel.ArrayMergeHelper`1">
  18243. <summary>
  18244. A special merge helper for indexible queries. Given an indexible query, we know how many elements
  18245. we'll have in the result set, so we can allocate the array ahead of time. Then, as each result element
  18246. is produced, we can directly insert it into the appropriate position in the output array, paying
  18247. no extra cost for ordering.
  18248. </summary>
  18249. <typeparam name="TInputOutput"></typeparam>
  18250. </member>
  18251. <member name="T:System.Linq.Parallel.IMergeHelper`1">
  18252. <summary>
  18253. Used as a stand-in for replaceable merge algorithms. Alternative implementations
  18254. are chosen based on the style of merge required.
  18255. </summary>
  18256. <typeparam name="TInputOutput"></typeparam>
  18257. </member>
  18258. <member name="M:System.Linq.Parallel.ArrayMergeHelper`1.#ctor(System.Linq.Parallel.QuerySettings,System.Linq.Parallel.QueryResults{`0})">
  18259. <summary>
  18260. Instantiates the array merge helper.
  18261. </summary>
  18262. <param name="settings">The query settings</param>
  18263. <param name="queryResults">The query results</param>
  18264. </member>
  18265. <member name="M:System.Linq.Parallel.ArrayMergeHelper`1.ToArrayElement(System.Int32)">
  18266. <summary>
  18267. A method used as a delegate passed into the ForAll operator
  18268. </summary>
  18269. </member>
  18270. <member name="M:System.Linq.Parallel.ArrayMergeHelper`1.Execute">
  18271. <summary>
  18272. Schedules execution of the merge itself.
  18273. </summary>
  18274. </member>
  18275. <member name="M:System.Linq.Parallel.ArrayMergeHelper`1.GetEnumerator">
  18276. <summary>
  18277. Gets the enumerator over the results.
  18278. We never expect this method to be called. ArrayMergeHelper is intended to be used when we want
  18279. to consume the results using GetResultsAsArray().
  18280. </summary>
  18281. </member>
  18282. <member name="M:System.Linq.Parallel.ArrayMergeHelper`1.GetResultsAsArray">
  18283. <summary>
  18284. Returns the merged results as an array.
  18285. </summary>
  18286. <returns></returns>
  18287. </member>
  18288. <member name="T:System.Linq.Parallel.AsynchronousChannelMergeEnumerator`1">
  18289. <summary>
  18290. An enumerator that merges multiple one-to-one channels into a single output
  18291. stream, including any necessary blocking and synchronization. This is an
  18292. asynchronous enumerator, i.e. the producers may be inserting items into the
  18293. channels concurrently with the consumer taking items out of them. Therefore,
  18294. enumerating this object can cause the current thread to block.
  18295. We use a biased choice algorithm to choose from our consumer channels. I.e. we
  18296. will prefer to process elements in a fair round-robin fashion, but will
  18297. occassionally bypass this if a channel is empty.
  18298. </summary>
  18299. <typeparam name="T"></typeparam>
  18300. </member>
  18301. <member name="T:System.Linq.Parallel.MergeEnumerator`1">
  18302. <summary>
  18303. Convenience class used by enumerators that merge many partitions into one.
  18304. </summary>
  18305. <typeparam name="TInputOutput"></typeparam>
  18306. </member>
  18307. <member name="M:System.Linq.Parallel.AsynchronousChannelMergeEnumerator`1.WaitAny(System.Threading.ManualResetEventSlim[])">
  18308. <summary>
  18309. WaitAny simulates a Win32-style WaitAny on the set of thin-events.
  18310. </summary>
  18311. <param name="events">An array of thin-events (null elements permitted)</param>
  18312. <returns>The index of the specific event in events that caused us to wake up.</returns>
  18313. </member>
  18314. <member name="T:System.Linq.Parallel.DefaultMergeHelper`2">
  18315. <summary>
  18316. The default merge helper uses a set of straightforward algorithms for output
  18317. merging. Namely, for synchronous merges, the input data is yielded from the
  18318. input data streams in "depth first" left-to-right order. For asynchronous merges,
  18319. on the other hand, we use a biased choice algorithm to favor input channels in
  18320. a "fair" way. No order preservation is carried out by this helper.
  18321. </summary>
  18322. <typeparam name="TInputOutput"></typeparam>
  18323. <typeparam name="TIgnoreKey"></typeparam>
  18324. </member>
  18325. <member name="T:System.Linq.Parallel.MergeExecutor`1">
  18326. <summary>
  18327. Drives execution of an actual merge operation, including creating channel data
  18328. structures and scheduling parallel work as appropriate. The algorithms used
  18329. internally are parameterized based on the type of data in the partitions; e.g.
  18330. if an order preserved stream is found, the merge will automatically use an
  18331. order preserving merge, and so forth.
  18332. </summary>
  18333. <typeparam name="TInputOutput"></typeparam>
  18334. </member>
  18335. <member name="T:System.Linq.Parallel.OrderPreservingMergeHelper`2">
  18336. <summary>
  18337. The order preserving merge helper guarantees the output stream is in a specific order. This is done
  18338. by comparing keys from a set of already-sorted input partitions, and coalescing output data using
  18339. incremental key comparisons.
  18340. </summary>
  18341. <typeparam name="TInputOutput"></typeparam>
  18342. <typeparam name="TKey"></typeparam>
  18343. </member>
  18344. <member name="T:System.Linq.Parallel.OrderPreservingPipeliningMergeHelper`1">
  18345. <summary>
  18346. A merge helper that yields results in a streaming fashion, while still ensuring correct output
  18347. ordering. This merge only works if each producer task generates outputs in the correct order,
  18348. i.e. with an Increasing (or Correct) order index.
  18349. The merge creates DOP producer tasks, each of which will be writing results into a separate
  18350. buffer.
  18351. The consumer always waits until each producer buffer contains at least one element. If we don't
  18352. have one element from each producer, we cannot yield the next element. (If the order index is
  18353. Correct, or in some special cases with the Increasing order, we could yield sooner. The
  18354. current algorithm does not take advantage of this.)
  18355. The consumer maintains a producer heap, and uses it to decide which producer should yield the next output
  18356. result. After yielding an element from a particular producer, the consumer will take another element
  18357. from the same producer. However, if the producer buffer exceeded a particular threshold, the consumer
  18358. will take the entire buffer, and give the producer an empty buffer to fill.
  18359. Finally, if the producer notices that its buffer has exceeded an even greater threshold, it will
  18360. go to sleep and wait until the consumer takes the entire buffer.
  18361. </summary>
  18362. </member>
  18363. <member name="F:System.Linq.Parallel.OrderPreservingPipeliningMergeHelper`1.INITIAL_BUFFER_SIZE">
  18364. <summary>
  18365. The initial capacity of the buffer queue. The value was chosen experimentally.
  18366. </summary>
  18367. </member>
  18368. <member name="F:System.Linq.Parallel.OrderPreservingPipeliningMergeHelper`1.STEAL_BUFFER_SIZE">
  18369. <summary>
  18370. If the consumer notices that the queue reached this limit, it will take the entire buffer from
  18371. the producer, instead of just popping off one result. The value was chosen experimentally.
  18372. </summary>
  18373. </member>
  18374. <member name="F:System.Linq.Parallel.OrderPreservingPipeliningMergeHelper`1.MAX_BUFFER_SIZE">
  18375. <summary>
  18376. If the producer notices that the queue reached this limit, it will go to sleep until woken up
  18377. by the consumer. Chosen experimentally.
  18378. </summary>
  18379. </member>
  18380. <member name="F:System.Linq.Parallel.OrderPreservingPipeliningMergeHelper`1.m_autoBuffered">
  18381. <summary>
  18382. Whether the producer is allowed to buffer up elements before handing a chunk to the consumer.
  18383. If false, the producer will make each result available to the consumer immediately after it is
  18384. produced.
  18385. </summary>
  18386. </member>
  18387. <member name="F:System.Linq.Parallel.OrderPreservingPipeliningMergeHelper`1.m_buffers">
  18388. <summary>
  18389. Buffers for the results. Each buffer has elements added by one producer, and removed
  18390. by the consumer.
  18391. </summary>
  18392. </member>
  18393. <member name="F:System.Linq.Parallel.OrderPreservingPipeliningMergeHelper`1.m_producerDone">
  18394. <summary>
  18395. Whether each producer is done producing. Set to true by individual producers, read by consumer.
  18396. </summary>
  18397. </member>
  18398. <member name="F:System.Linq.Parallel.OrderPreservingPipeliningMergeHelper`1.m_producerWaiting">
  18399. <summary>
  18400. Whether a particular producer is waiting on the consumer. Read by the consumer, set to true
  18401. by producers, set to false by the consumer.
  18402. </summary>
  18403. </member>
  18404. <member name="F:System.Linq.Parallel.OrderPreservingPipeliningMergeHelper`1.m_consumerWaiting">
  18405. <summary>
  18406. Whether the consumer is waiting on a particular producer. Read by producers, set to true
  18407. by consumer, set to false by producer.
  18408. </summary>
  18409. </member>
  18410. <member name="F:System.Linq.Parallel.OrderPreservingPipeliningMergeHelper`1.m_bufferLocks">
  18411. <summary>
  18412. Each object is a lock protecting the corresponding elements in m_buffers, m_producerDone,
  18413. m_producerWaiting and m_consumerWaiting.
  18414. </summary>
  18415. </member>
  18416. <member name="F:System.Linq.Parallel.OrderPreservingPipeliningMergeHelper`1.s_producerComparer">
  18417. <summary>
  18418. A singleton instance of the comparer used by the producer heap. Eager allocation is OK
  18419. because if the static constructor runs, we will be using this merge.
  18420. </summary>
  18421. </member>
  18422. <member name="T:System.Linq.Parallel.OrderPreservingPipeliningMergeHelper`1.Producer">
  18423. <summary>
  18424. A structure to represent a producer in the producer heap.
  18425. </summary>
  18426. </member>
  18427. <member name="T:System.Linq.Parallel.OrderPreservingPipeliningMergeHelper`1.ProducerComparer">
  18428. <summary>
  18429. A comparer used by FixedMaxHeap(Of Producer)
  18430. This comparer will be used by max-heap. We want the producer with the smallest MaxKey to
  18431. end up in the root of the heap.
  18432. x.MaxKey GREATER_THAN y.MaxKey => x LESS_THAN y => return -
  18433. x.MaxKey EQUALS y.MaxKey => x EQUALS y => return 0
  18434. x.MaxKey LESS_THAN y.MaxKey => x GREATER_THAN y => return +
  18435. </summary>
  18436. </member>
  18437. <member name="T:System.Linq.Parallel.OrderPreservingPipeliningMergeHelper`1.OrderedPipeliningMergeEnumerator">
  18438. <summary>
  18439. Enumerator over the results of an order-preserving pipelining merge.
  18440. </summary>
  18441. </member>
  18442. <member name="F:System.Linq.Parallel.OrderPreservingPipeliningMergeHelper`1.OrderedPipeliningMergeEnumerator.m_mergeHelper">
  18443. <summary>
  18444. Merge helper associated with this enumerator
  18445. </summary>
  18446. </member>
  18447. <member name="F:System.Linq.Parallel.OrderPreservingPipeliningMergeHelper`1.OrderedPipeliningMergeEnumerator.m_producerHeap">
  18448. <summary>
  18449. Heap used to efficiently locate the producer whose result should be consumed next.
  18450. For each producer, stores the order index for the next element to be yielded.
  18451. Read and written by the consumer only.
  18452. </summary>
  18453. </member>
  18454. <member name="F:System.Linq.Parallel.OrderPreservingPipeliningMergeHelper`1.OrderedPipeliningMergeEnumerator.m_producerNextElement">
  18455. <summary>
  18456. Stores the next element to be yielded from each producer. We use a separate array
  18457. rather than storing this information in the producer heap to keep the Producer struct
  18458. small.
  18459. Read and written by the consumer only.
  18460. </summary>
  18461. </member>
  18462. <member name="F:System.Linq.Parallel.OrderPreservingPipeliningMergeHelper`1.OrderedPipeliningMergeEnumerator.m_privateBuffer">
  18463. <summary>
  18464. A private buffer for the consumer. When the size of a producer buffer exceeds a threshold
  18465. (STEAL_BUFFER_SIZE), the consumer will take ownership of the entire buffer, and give the
  18466. producer a new empty buffer to place results into.
  18467. Read and written by the consumer only.
  18468. </summary>
  18469. </member>
  18470. <member name="F:System.Linq.Parallel.OrderPreservingPipeliningMergeHelper`1.OrderedPipeliningMergeEnumerator.m_initialized">
  18471. <summary>
  18472. Tracks whether MoveNext() has already been called previously.
  18473. </summary>
  18474. </member>
  18475. <member name="M:System.Linq.Parallel.OrderPreservingPipeliningMergeHelper`1.OrderedPipeliningMergeEnumerator.#ctor(System.Linq.Parallel.OrderPreservingPipeliningMergeHelper{`0})">
  18476. <summary>
  18477. Constructor
  18478. </summary>
  18479. </member>
  18480. <member name="M:System.Linq.Parallel.OrderPreservingPipeliningMergeHelper`1.OrderedPipeliningMergeEnumerator.MoveNext">
  18481. <summary>
  18482. Moves the enumerator to the next result, or returns false if there are no more results to yield.
  18483. </summary>
  18484. </member>
  18485. <member name="M:System.Linq.Parallel.OrderPreservingPipeliningMergeHelper`1.OrderedPipeliningMergeEnumerator.ThrowIfInTearDown">
  18486. <summary>
  18487. If the cancellation of the query has been initiated (because one or more producers
  18488. encountered exceptions, or because external cancellation token has been set), the method
  18489. will tear down the query and rethrow the exception.
  18490. </summary>
  18491. </member>
  18492. <member name="M:System.Linq.Parallel.OrderPreservingPipeliningMergeHelper`1.OrderedPipeliningMergeEnumerator.TryWaitForElement(System.Int32,System.Linq.Parallel.Pair{System.Int32,`0}@)">
  18493. <summary>
  18494. Wait until a producer's buffer is non-empty, or until that producer is done.
  18495. </summary>
  18496. <returns>false if there is no element to yield because the producer is done, true otherwise</returns>
  18497. </member>
  18498. <member name="M:System.Linq.Parallel.OrderPreservingPipeliningMergeHelper`1.OrderedPipeliningMergeEnumerator.TryGetPrivateElement(System.Int32,System.Linq.Parallel.Pair{System.Int32,`0}@)">
  18499. <summary>
  18500. Looks for an element from a particular producer in the consumer's private buffer.
  18501. </summary>
  18502. </member>
  18503. <member name="P:System.Linq.Parallel.OrderPreservingPipeliningMergeHelper`1.OrderedPipeliningMergeEnumerator.Current">
  18504. <summary>
  18505. Returns the current result
  18506. </summary>
  18507. </member>
  18508. <member name="T:System.Linq.Parallel.SynchronousChannelMergeEnumerator`1">
  18509. <summary>
  18510. This enumerator merges multiple input channels into a single output stream. The merging process just
  18511. goes from left-to-right, enumerating each channel in succession in its entirety.
  18512. Assumptions:
  18513. Before enumerating this object, all producers for all channels must have finished enqueueing new
  18514. elements.
  18515. </summary>
  18516. <typeparam name="T"></typeparam>
  18517. </member>
  18518. <member name="T:System.Linq.Parallel.HashRepartitionEnumerator`3">
  18519. <summary>
  18520. This enumerator handles the actual coordination among partitions required to
  18521. accomplish the repartitioning operation, as explained above.
  18522. </summary>
  18523. <typeparam name="TInputOutput">The kind of elements.</typeparam>
  18524. <typeparam name="THashKey">The key used to distribute elements.</typeparam>
  18525. <typeparam name="TIgnoreKey">The kind of keys found in the source (ignored).</typeparam>
  18526. </member>
  18527. <member name="T:System.Linq.Parallel.HashRepartitionStream`3">
  18528. <summary>
  18529. A repartitioning stream must take input data that has already been partitioned and
  18530. redistribute its contents based on a new partitioning algorithm. This is accomplished
  18531. by making each partition p responsible for redistributing its input data to the
  18532. correct destination partition. Some input elements may remain in p, but many will now
  18533. belong to a different partition and will need to move. This requires a great deal of
  18534. synchronization, but allows threads to repartition data incrementally and in parallel.
  18535. Each partition will "pull" data on-demand instead of partitions "pushing" data, which
  18536. allows us to reduce some amount of synchronization overhead.
  18537. We currently only offer one form of reparitioning via hashing. This used to be an
  18538. abstract base class, but we have eliminated that to get rid of some virtual calls on
  18539. hot code paths. Uses a key selection algorithm with mod'ding to determine destination.
  18540. @TODO: @BUG#519: consider adding a bound to the buffers. Unfortunately this can quite easily
  18541. lead to deadlock when multiple repartitions are involved. Need a solution.
  18542. @TODO: @BUG#504: consider amortizing synchronization overhead by enqueueing/dequeueing in chunks
  18543. rather than single elements. Also need to be careful not to introduce deadlock.
  18544. </summary>
  18545. <typeparam name="TInputOutput"></typeparam>
  18546. <typeparam name="THashKey"></typeparam>
  18547. <typeparam name="TOrderKey"></typeparam>
  18548. </member>
  18549. <member name="T:System.Linq.Parallel.PartitionedStream`2">
  18550. <summary>
  18551. A partitioned stream just partitions some data source using an extensible
  18552. partitioning algorithm and exposes a set of N enumerators that are consumed by
  18553. their ordinal index [0..N). It is used to build up a set of streaming computations.
  18554. At instantiation time, the actual data source to be partitioned is supplied; and
  18555. then the caller will layer on top additional enumerators to represent phases in the
  18556. computation. Eventually, a merge can then schedule enumeration of all of the
  18557. individual partitions in parallel by obtaining references to the individual
  18558. partition streams.
  18559. This type has a set of subclasses which implement different partitioning algorithms,
  18560. allowing us to easily plug in different partitioning techniques as needed. The type
  18561. supports wrapping IEnumerables and IEnumerators alike, with some preference for the
  18562. former as many partitioning algorithms are more intelligent for certain data types.
  18563. </summary>
  18564. <typeparam name="TElement"></typeparam>
  18565. <typeparam name="TKey"></typeparam>
  18566. </member>
  18567. <member name="T:System.Linq.Parallel.IPartitionedStreamRecipient`1">
  18568. <summary>
  18569. IPartitionedStreamRecipient is essentially a generic action on a partitioned stream,
  18570. whose generic type parameter is the type of the order keys in the partitioned stream.
  18571. </summary>
  18572. <typeparam name="TElement"></typeparam>
  18573. </member>
  18574. <member name="T:System.Linq.Parallel.OrderedHashRepartitionEnumerator`3">
  18575. <summary>
  18576. This enumerator handles the actual coordination among partitions required to
  18577. accomplish the repartitioning operation, as explained above. In addition to that,
  18578. it tracks order keys so that order preservation can flow through the enumerator.
  18579. </summary>
  18580. <typeparam name="TInputOutput">The kind of elements.</typeparam>
  18581. <typeparam name="THashKey">The key used to distribute elements.</typeparam>
  18582. <typeparam name="TOrderKey">The kind of keys found in the source.</typeparam>
  18583. </member>
  18584. <member name="T:System.Linq.Parallel.PartitionedDataSource`1">
  18585. <summary>
  18586. Contiguous range chunk partitioning attempts to improve data locality by keeping
  18587. data close together in the incoming data stream together in the outgoing partitions.
  18588. There are really three types of partitions that are used internally:
  18589. 1. If the data source is indexable--like an array or List_T--we can actually
  18590. just compute the range indexes and avoid doing any copying whatsoever. Each
  18591. "partition" is just an enumerator that will walk some subset of the data.
  18592. 2. If the data source has an index (different than being indexable!), we can
  18593. turn this into a range scan of the index. We can roughly estimate distribution
  18594. and ensure an evenly balanced set of partitions.
  18595. @TODO: @BUG#516: we don't have indexes today. We are considering it for the future.
  18596. 3. If we can't use 1 or 2, we instead partition "on demand" by chunking the contents
  18597. of the source enumerator as they are requested. The unfortunate thing is that
  18598. this requires synchronization, since consumers may be running in parallel. We
  18599. amortize the cost of this by giving chunks of items when requested instead of
  18600. one element at a time. Note that this approach also works for infinite streams.
  18601. In all cases, the caller can request that enumerators walk elements in striped
  18602. contiguous chunks. If striping is requested, then each partition j will yield elements
  18603. in the data source for which ((i / s)%p) == j, where i is the element's index, s is
  18604. a chunk size calculated by the system with the intent of aligning on cache lines, and
  18605. p is the number of partitions. If striping is not requested, we use the same algorith,
  18606. only, instead of aligning on cache lines, we use a chunk size of l / p, where l
  18607. is the length of the input and p is the number of partitions.
  18608. Notes:
  18609. This is used as the default partitioning strategy by much of the PLINQ infrastructure.
  18610. </summary>
  18611. <typeparam name="T"></typeparam>
  18612. </member>
  18613. <member name="T:System.Linq.Parallel.AssociativeAggregationOperator`3">
  18614. <summary>
  18615. The aggregation operator is a little unique, in that the enumerators it returns
  18616. yield intermediate results instead of the final results. That's because there is
  18617. one last Aggregate operation that must occur in order to perform the final reduction
  18618. over the intermediate streams. In other words, the intermediate enumerators produced
  18619. by this operator are never seen by other query operators or consumers directly.
  18620. An aggregation performs parallel prefixing internally. Given a binary operator O,
  18621. it will generate intermediate results by folding O across partitions; then it
  18622. performs a final reduction by folding O accross the intermediate results. The
  18623. analysis engine knows about associativity and commutativity, and will ensure the
  18624. style of partitioning inserted into the tree is compatable with the operator.
  18625. For instance, say O is + (meaning it is AC), our input is {1,2,...,8}, and we
  18626. use 4 partitions to calculate the aggregation. Sequentially this would look
  18627. like this O(O(O(1,2),...),8), in other words ((1+2)+...)+8. The parallel prefix
  18628. of this (w/ 4 partitions) instead calculates the intermediate aggregations, i.e.:
  18629. t1 = O(1,2), t2 = O(3,4), ... t4 = O(7,8), aka t1 = 1+2, t2 = 3+4, t4 = 7+8.
  18630. The final step is to aggregate O over these intermediaries, i.e.
  18631. O(O(O(t1,t2),t3),t4), or ((t1+t2)+t3)+t4. This generalizes to any binary operator.
  18632. Beause some aggregations use a different input, intermediate, and output types,
  18633. we support an even more generalized aggregation type. In this model, we have
  18634. three operators, an intermediate (used for the incremental aggregations), a
  18635. final (used for the final summary of intermediate results), and a result selector
  18636. (used to perform whatever transformation is needed on the final summary).
  18637. </summary>
  18638. <typeparam name="TInput"></typeparam>
  18639. <typeparam name="TIntermediate"></typeparam>
  18640. <typeparam name="TOutput"></typeparam>
  18641. </member>
  18642. <member name="T:System.Linq.Parallel.UnaryQueryOperator`2">
  18643. <summary>
  18644. The base class from which all binary query operators derive, that is, those that
  18645. have two child operators. This introduces some convenience methods for those
  18646. classes, as well as any state common to all subclasses.
  18647. </summary>
  18648. <typeparam name="TInput"></typeparam>
  18649. <typeparam name="TOutput"></typeparam>
  18650. </member>
  18651. <member name="T:System.Linq.Parallel.QueryOperator`1">
  18652. <summary>
  18653. This is the abstract base class for all query operators in the system. It
  18654. implements the ParallelQuery{T} type so that it can be bound as the source
  18655. of parallel queries and so that it can be returned as the result of parallel query
  18656. operations. Not much is in here, although it does serve as the "entry point" for
  18657. opening all query operators: it will lazily analyze and cache a plan the first
  18658. time the tree is opened, and will open the tree upon calls to GetEnumerator.
  18659. Notes:
  18660. This class implements ParallelQuery so that any parallel query operator
  18661. can bind to the parallel query provider overloads. This allows us to string
  18662. together operators w/out the user always specifying AsParallel, e.g.
  18663. Select(Where(..., ...), ...), and so forth.
  18664. </summary>
  18665. <typeparam name="TOutput"></typeparam>
  18666. </member>
  18667. <member name="T:System.Linq.Parallel.QueryResults`1">
  18668. <summary>
  18669. The QueryResults{T} is a class representing the results of the query. There may
  18670. be different ways the query results can be manipulated. Currently, two ways are
  18671. supported:
  18672. 1. Open the query results as a partitioned stream by calling GivePartitionedStream
  18673. and pass a generic action as an argument.
  18674. 2. Access individual elements of the results list by calling GetElement(index) and
  18675. ElementsCount. This method of accessing the query results is available only if
  18676. IsIndexible return true.
  18677. </summary>
  18678. <typeparam name="T"></typeparam>
  18679. </member>
  18680. <member name="T:System.Linq.Parallel.PartitionerQueryOperator`1">
  18681. <summary>
  18682. A QueryOperator that represents the output of the query partitioner.AsParallel().
  18683. </summary>
  18684. </member>
  18685. <member name="M:System.Linq.Parallel.PartitionerQueryOperator`1.GetOrdinalIndexState(System.Collections.Concurrent.Partitioner{`0})">
  18686. <summary>
  18687. Determines the OrdinalIndexState for a partitioner
  18688. </summary>
  18689. </member>
  18690. <member name="T:System.Linq.Parallel.PartitionerQueryOperator`1.PartitionerQueryOperatorResults">
  18691. <summary>
  18692. QueryResults for a PartitionerQueryOperator
  18693. </summary>
  18694. </member>
  18695. <member name="T:System.Linq.Parallel.PartitionerQueryOperator`1.OrderablePartitionerEnumerator">
  18696. <summary>
  18697. Enumerator that converts an enumerator over key-value pairs exposed by a partitioner
  18698. to a QueryOperatorEnumerator used by PLINQ internally.
  18699. </summary>
  18700. </member>
  18701. <member name="T:System.Linq.Parallel.PartitionerQueryOperator`1.PartitionerEnumerator">
  18702. <summary>
  18703. Enumerator that converts an enumerator over key-value pairs exposed by a partitioner
  18704. to a QueryOperatorEnumerator used by PLINQ internally.
  18705. </summary>
  18706. </member>
  18707. <member name="T:System.Linq.Parallel.ScanQueryOperator`1">
  18708. <summary>
  18709. A scan is just a simple operator that is positioned directly on top of some
  18710. real data source. It's really just a place holder used during execution and
  18711. analysis -- it should never actually get opened.
  18712. </summary>
  18713. <typeparam name="TElement"></typeparam>
  18714. </member>
  18715. <member name="T:System.Linq.Parallel.ExceptQueryOperator`1">
  18716. <summary>
  18717. Operator that yields the elements from the first data source that aren't in the second.
  18718. This is known as the set relative complement, i.e. left - right.
  18719. </summary>
  18720. <typeparam name="TInputOutput"></typeparam>
  18721. </member>
  18722. <member name="T:System.Linq.Parallel.BinaryQueryOperator`3">
  18723. <summary>
  18724. The base class from which all binary query operators derive, that is, those that
  18725. have two child operators. This introduces some convenience methods for those
  18726. classes, as well as any state common to all subclasses.
  18727. </summary>
  18728. <typeparam name="TLeftInput"></typeparam>
  18729. <typeparam name="TRightInput"></typeparam>
  18730. <typeparam name="TOutput"></typeparam>
  18731. </member>
  18732. <member name="T:System.Linq.Parallel.GroupJoinQueryOperator`4">
  18733. <summary>
  18734. A group join operator takes a left query tree and a right query tree, and then yields
  18735. the matching elements between the two. This can be used for outer joins, i.e. those
  18736. where an outer element has no matching inner elements -- the result is just an empty
  18737. list. As with the join algorithm above, we currently use a hash join algorithm.
  18738. </summary>
  18739. <typeparam name="TLeftInput"></typeparam>
  18740. <typeparam name="TRightInput"></typeparam>
  18741. <typeparam name="TKey"></typeparam>
  18742. <typeparam name="TOutput"></typeparam>
  18743. </member>
  18744. <member name="T:System.Linq.Parallel.HashJoinQueryOperatorEnumerator`5">
  18745. <summary>
  18746. This enumerator implements the hash-join algorithm as noted earlier.
  18747. Assumptions:
  18748. This enumerator type won't work properly at all if the analysis engine didn't
  18749. ensure a proper hash-partition. We expect inner and outer elements with equal
  18750. keys are ALWAYS in the same partition. If they aren't (e.g. if the analysis is
  18751. busted) we'll silently drop items on the floor. :(
  18752. This is the enumerator class for two operators:
  18753. - Join
  18754. - GroupJoin
  18755. </summary>
  18756. <typeparam name="TLeftInput"></typeparam>
  18757. <typeparam name="TLeftKey"></typeparam>
  18758. <typeparam name="TRightInput"></typeparam>
  18759. <typeparam name="THashKey"></typeparam>
  18760. <typeparam name="TOutput"></typeparam>
  18761. </member>
  18762. <member name="T:System.Linq.Parallel.IntersectQueryOperator`1">
  18763. <summary>
  18764. Operator that yields the intersection of two data sources.
  18765. </summary>
  18766. <typeparam name="TInputOutput"></typeparam>
  18767. </member>
  18768. <member name="T:System.Linq.Parallel.JoinQueryOperator`4">
  18769. <summary>
  18770. A join operator takes a left query tree and a right query tree, and then yields the
  18771. matching pairs between the two. LINQ supports equi-key-based joins. Hence, a key-
  18772. selection function for the left and right data types will yield keys of the same
  18773. type for both. We then merely have to match elements from the left with elements from
  18774. the right that have the same exact key. Note that this is an inner join. In other
  18775. words, outer elements with no matching inner elements do not appear in the output.
  18776. @TODO: @BUG#528: Currently we implement only a hash-join algorithm. Furthermore, we always
  18777. choose the inner data source for the hash-table creation. There is room for
  18778. optimization and different algorithm choices eventually.
  18779. Hash-joins work in two phases:
  18780. (1) Building - we build a hash-table from one of the data sources. In the case
  18781. of this specific operator, the table is built from the hash-codes of
  18782. keys selected via the key selector function. Because elements may share
  18783. the same key, the table must support one-key-to-many-values.
  18784. (2) Probing - for each element in the data source not used for building, we
  18785. use its key to look into the hash-table. If we find elements under this
  18786. key, we just enumerate all of them, yielding them as join matches.
  18787. Because hash-tables exhibit on average O(1) lookup, we turn what would have been
  18788. an O(n*m) algorithm -- in the case of nested loops joins -- into an O(n) algorithm.
  18789. We of course require some additional storage to do so, but in general this pays.
  18790. </summary>
  18791. <typeparam name="TLeftInput"></typeparam>
  18792. <typeparam name="TRightInput"></typeparam>
  18793. <typeparam name="TKey"></typeparam>
  18794. <typeparam name="TOutput"></typeparam>
  18795. </member>
  18796. <member name="T:System.Linq.Parallel.UnionQueryOperator`1">
  18797. <summary>
  18798. Operator that yields the union of two data sources.
  18799. </summary>
  18800. <typeparam name="TInputOutput"></typeparam>
  18801. </member>
  18802. <member name="T:System.Linq.Parallel.ZipQueryOperator`3">
  18803. <summary>
  18804. A Zip operator combines two input data sources into a single output stream,
  18805. using a pairwise element matching algorithm. For example, the result of zipping
  18806. two vectors a = {0, 1, 2, 3} and b = {9, 8, 7, 6} is the vector of pairs,
  18807. c = {(0,9), (1,8), (2,7), (3,6)}. Because the expectation is that each element
  18808. is matched with the element in the other data source at the same ordinal
  18809. position, the zip operator requires order preservation.
  18810. </summary>
  18811. <typeparam name="TLeftInput"></typeparam>
  18812. <typeparam name="TRightInput"></typeparam>
  18813. <typeparam name="TOutput"></typeparam>
  18814. </member>
  18815. <member name="T:System.Linq.Parallel.PartitionedStreamMerger`1">
  18816. <summary>
  18817. Partitioned stream recipient that will merge the results.
  18818. </summary>
  18819. </member>
  18820. <member name="T:System.Linq.Parallel.QueryOpeningEnumerator`1">
  18821. <summary>
  18822. A wrapper enumerator that just opens the query operator when MoveNext() is called for the
  18823. first time. We use QueryOpeningEnumerator to call QueryOperator.GetOpenedEnumerator()
  18824. lazily because once GetOpenedEnumerator() is called, PLINQ starts precomputing the
  18825. results of the query.
  18826. </summary>
  18827. </member>
  18828. <member name="M:System.Linq.Parallel.QueryOpeningEnumerator`1.OpenQuery">
  18829. <summary>
  18830. Opens the query and initializes m_openedQueryEnumerator and m_querySettings.
  18831. Called from the first MoveNext call.
  18832. </summary>
  18833. </member>
  18834. <member name="T:System.Linq.Parallel.CountAggregationOperator`1">
  18835. <summary>
  18836. An inlined count aggregation and its enumerator.
  18837. </summary>
  18838. <typeparam name="TSource"></typeparam>
  18839. </member>
  18840. <member name="T:System.Linq.Parallel.InlinedAggregationOperator`3">
  18841. <summary>
  18842. This class is common to all of the "inlined" versions of various aggregations. The
  18843. inlined operators ensure that real MSIL instructions are used to perform elementary
  18844. operations versus general purpose delegate-based binary operators. For obvious reasons
  18845. this is a quite bit more efficient, although it does lead to a fair bit of unfortunate
  18846. code duplication.
  18847. </summary>
  18848. <typeparam name="TSource"></typeparam>
  18849. <typeparam name="TIntermediate"></typeparam>
  18850. <typeparam name="TResult"></typeparam>
  18851. </member>
  18852. <member name="T:System.Linq.Parallel.InlinedAggregationOperatorEnumerator`1">
  18853. <summary>
  18854. A class with some shared implementation between all aggregation enumerators.
  18855. </summary>
  18856. <typeparam name="TIntermediate"></typeparam>
  18857. </member>
  18858. <member name="T:System.Linq.Parallel.DecimalAverageAggregationOperator">
  18859. <summary>
  18860. An inlined average aggregation operator and its enumerator, for decimals.
  18861. </summary>
  18862. </member>
  18863. <member name="T:System.Linq.Parallel.DecimalMinMaxAggregationOperator">
  18864. <summary>
  18865. An inlined min/max aggregation and its enumerator, for decimals.
  18866. </summary>
  18867. </member>
  18868. <member name="T:System.Linq.Parallel.DecimalSumAggregationOperator">
  18869. <summary>
  18870. An inlined sum aggregation and its enumerator, for decimals.
  18871. </summary>
  18872. </member>
  18873. <member name="T:System.Linq.Parallel.DoubleAverageAggregationOperator">
  18874. <summary>
  18875. An inlined average aggregation operator and its enumerator, for doubles.
  18876. </summary>
  18877. </member>
  18878. <member name="T:System.Linq.Parallel.DoubleMinMaxAggregationOperator">
  18879. <summary>
  18880. An inlined min/max aggregation and its enumerator, for doubles.
  18881. Notes:
  18882. Note that normally double.NaN &lt; anything is false, as is anything &lt; NaN. This would
  18883. lead to some strangeness in Min and Max, e.g. Min({ NaN, 5.0 } == NaN, yet
  18884. Min({ 5.0, NaN }) == 5.0! We impose a total ordering so that NaN is smaller than
  18885. everything, including -infinity, which is consistent with Comparer_T.
  18886. </summary>
  18887. </member>
  18888. <member name="T:System.Linq.Parallel.DoubleSumAggregationOperator">
  18889. <summary>
  18890. An inlined sum aggregation and its enumerator, for doubles.
  18891. </summary>
  18892. </member>
  18893. <member name="T:System.Linq.Parallel.FloatAverageAggregationOperator">
  18894. <summary>
  18895. An inlined average aggregation operator and its enumerator, for floats.
  18896. </summary>
  18897. </member>
  18898. <member name="T:System.Linq.Parallel.FloatMinMaxAggregationOperator">
  18899. <summary>
  18900. An inlined min/max aggregation and its enumerator, for floats.
  18901. </summary>
  18902. </member>
  18903. <member name="T:System.Linq.Parallel.FloatSumAggregationOperator">
  18904. <summary>
  18905. An inlined sum aggregation and its enumerator, for floats.
  18906. </summary>
  18907. </member>
  18908. <member name="T:System.Linq.Parallel.IntAverageAggregationOperator">
  18909. <summary>
  18910. An inlined average aggregation operator and its enumerator, for ints.
  18911. </summary>
  18912. </member>
  18913. <member name="T:System.Linq.Parallel.IntMinMaxAggregationOperator">
  18914. <summary>
  18915. An inlined min/max aggregation and its enumerator, for ints.
  18916. </summary>
  18917. </member>
  18918. <member name="T:System.Linq.Parallel.IntSumAggregationOperator">
  18919. <summary>
  18920. Inlined aggregations for summing up primitives (int, long, float, double, decimal), as
  18921. well as the nullable versions of each (int?, long?, float?, double?, decimal?).
  18922. </summary>
  18923. </member>
  18924. <member name="T:System.Linq.Parallel.LongAverageAggregationOperator">
  18925. <summary>
  18926. An inlined average aggregation operator and its enumerator, for longs.
  18927. </summary>
  18928. </member>
  18929. <member name="T:System.Linq.Parallel.LongCountAggregationOperator`1">
  18930. <summary>
  18931. An inlined count aggregation and its enumerator.
  18932. </summary>
  18933. <typeparam name="TSource"></typeparam>
  18934. </member>
  18935. <member name="T:System.Linq.Parallel.LongMinMaxAggregationOperator">
  18936. <summary>
  18937. An inlined min/max aggregation and its enumerator, for longs.
  18938. </summary>
  18939. </member>
  18940. <member name="T:System.Linq.Parallel.LongSumAggregationOperator">
  18941. <summary>
  18942. An inlined sum aggregation and its enumerator, for longs.
  18943. </summary>
  18944. </member>
  18945. <member name="T:System.Linq.Parallel.NullableDecimalAverageAggregationOperator">
  18946. <summary>
  18947. An inlined average aggregation operator and its enumerator, for Nullable decimals.
  18948. </summary>
  18949. </member>
  18950. <member name="T:System.Linq.Parallel.NullableDecimalMinMaxAggregationOperator">
  18951. <summary>
  18952. An inlined min/max aggregation and its enumerator, for Nullable decimals.
  18953. </summary>
  18954. </member>
  18955. <member name="T:System.Linq.Parallel.NullableDecimalSumAggregationOperator">
  18956. <summary>
  18957. An inlined sum aggregation and its enumerator, for nullable decimals.
  18958. </summary>
  18959. </member>
  18960. <member name="T:System.Linq.Parallel.NullableDoubleAverageAggregationOperator">
  18961. <summary>
  18962. An inlined average aggregation operator and its enumerator, for Nullable doubles.
  18963. </summary>
  18964. </member>
  18965. <member name="T:System.Linq.Parallel.NullableDoubleMinMaxAggregationOperator">
  18966. <summary>
  18967. An inlined min/max aggregation and its enumerator, for Nullable{Double}s.
  18968. Notes:
  18969. Note that normally double.NaN &lt; anything is false, as is anything &lt; NaN. This would
  18970. lead to some strangeness in Min and Max, e.g. Min({ NaN, 5.0 } == NaN, yet
  18971. Min({ 5.0, NaN }) == 5.0! We impose a total ordering so that NaN is smaller than
  18972. everything, including -infinity, which is consistent with Comparer_T.
  18973. </summary>
  18974. </member>
  18975. <member name="T:System.Linq.Parallel.NullableDoubleSumAggregationOperator">
  18976. <summary>
  18977. An inlined sum aggregation and its enumerator, for nullable doubles.
  18978. </summary>
  18979. </member>
  18980. <member name="T:System.Linq.Parallel.NullableFloatAverageAggregationOperator">
  18981. <summary>
  18982. An inlined average aggregation operator and its enumerator, for Nullable floats.
  18983. </summary>
  18984. </member>
  18985. <member name="T:System.Linq.Parallel.NullableFloatMinMaxAggregationOperator">
  18986. <summary>
  18987. An inlined min/max aggregation and its enumerator, for Nullable floats.
  18988. Notes:
  18989. Note that normally float.NaN &lt; anything is false, as is anything &lt; NaN. This would
  18990. lead to some strangeness in Min and Max, e.g. Min({ NaN, 5.0 } == NaN, yet
  18991. Min({ 5.0, NaN }) == 5.0! We impose a total ordering so that NaN is smaller than
  18992. everything, including -infinity, which is consistent with Comparer_T.
  18993. </summary>
  18994. </member>
  18995. <member name="T:System.Linq.Parallel.NullableFloatSumAggregationOperator">
  18996. <summary>
  18997. An inlined sum aggregation and its enumerator, for Nullable floats.
  18998. </summary>
  18999. </member>
  19000. <member name="T:System.Linq.Parallel.NullableIntAverageAggregationOperator">
  19001. <summary>
  19002. An inlined average aggregation operator and its enumerator, for Nullable ints.
  19003. </summary>
  19004. </member>
  19005. <member name="T:System.Linq.Parallel.NullableIntMinMaxAggregationOperator">
  19006. <summary>
  19007. An inlined min/max aggregation and its enumerator, for Nullable ints.
  19008. </summary>
  19009. </member>
  19010. <member name="T:System.Linq.Parallel.NullableIntSumAggregationOperator">
  19011. <summary>
  19012. An inlined sum aggregation and its enumerator, for Nullable ints.
  19013. </summary>
  19014. </member>
  19015. <member name="T:System.Linq.Parallel.NullableLongAverageAggregationOperator">
  19016. <summary>
  19017. An inlined average aggregation operator and its enumerator, for Nullable longs.
  19018. </summary>
  19019. </member>
  19020. <member name="T:System.Linq.Parallel.NullableLongMinMaxAggregationOperator">
  19021. <summary>
  19022. An inlined min/max aggregation and its enumerator, for Nullable{Int64}s.
  19023. </summary>
  19024. </member>
  19025. <member name="T:System.Linq.Parallel.NullableLongSumAggregationOperator">
  19026. <summary>
  19027. An inlined sum aggregation and its enumerator, for Nullable longs.
  19028. </summary>
  19029. </member>
  19030. <member name="T:System.Linq.Parallel.ListQueryResults`1">
  19031. <summary>
  19032. Class to represent an IList{T} as QueryResults{T}
  19033. </summary>
  19034. <typeparam name="T"></typeparam>
  19035. </member>
  19036. <member name="T:System.Linq.Parallel.OrdinalIndexState">
  19037. <summary>
  19038. Describes the state of order preservation index associated with an enumerator.
  19039. </summary>
  19040. </member>
  19041. <member name="T:System.Linq.Parallel.QuerySettings">
  19042. <summary>
  19043. This type contains query execution options specified by the user.
  19044. QuerySettings are used as follows:
  19045. - in the query construction phase, some settings may be uninitialized.
  19046. - at the start of the query opening phase, the WithDefaults method
  19047. is used to initialize all uninitialized settings.
  19048. - in the rest of the query opening phase, we assume that all settings
  19049. have been initialized.
  19050. </summary>
  19051. </member>
  19052. <member name="T:System.Linq.Parallel.OrderingQueryOperator`1">
  19053. <summary>
  19054. Represents operators AsOrdered and AsUnordered. In the current implementation, it
  19055. simply turns on preservation globally in the query.
  19056. </summary>
  19057. <typeparam name="TSource"></typeparam>
  19058. </member>
  19059. <member name="T:System.Linq.Parallel.QueryExecutionOption`1">
  19060. <summary>
  19061. Represents operators that set various query execution options.
  19062. </summary>
  19063. <typeparam name="TSource"></typeparam>
  19064. </member>
  19065. <member name="T:System.Linq.Parallel.AnyAllSearchOperator`1">
  19066. <summary>
  19067. The any/all operators work the same way. They search for the occurrence of a predicate
  19068. value in the data source, and upon the first occurrence of such a value, yield a
  19069. particular value. Specifically:
  19070. - Any returns true if the predicate for any element evaluates to true.
  19071. - All returns false if the predicate for any element evaluates to false.
  19072. This uniformity is used to apply a general purpose algorithm. Both sentences above
  19073. take the form of "returns XXX if the predicate for any element evaluates to XXX."
  19074. Therefore, we just parameterize on XXX, called the qualifciation below, and if we
  19075. ever find an occurrence of XXX in the input data source, we also return XXX. Otherwise,
  19076. we return !XXX. Obviously, XXX in this case is a bool.
  19077. This is a search algorithm. So once any single partition finds an element, it will
  19078. return so that execution can stop. This is done with a "cancelation" flag that is
  19079. polled by all parallel workers. The first worker to find an answer sets it, and all
  19080. other workers notice it and quit as quickly as possible.
  19081. </summary>
  19082. <typeparam name="TInput"></typeparam>
  19083. </member>
  19084. <member name="T:System.Linq.Parallel.ConcatQueryOperator`1">
  19085. <summary>
  19086. Concatenates one data source with another. Order preservation is used to ensure
  19087. the output is actually a concatenation -- i.e. one after the other. The only
  19088. special synchronization required is to find the largest index N in the first data
  19089. source so that the indices of elements in the second data source can be offset
  19090. by adding N+1. This makes it appear to the order preservation infrastructure as
  19091. though all elements in the second came after all elements in the first, which is
  19092. precisely what we want.
  19093. </summary>
  19094. <typeparam name="TSource"></typeparam>
  19095. </member>
  19096. <member name="T:System.Linq.Parallel.ContainsSearchOperator`1">
  19097. <summary>
  19098. Contains is quite similar to the any/all operator above. Each partition searches a
  19099. subset of elements for a match, and the first one to find a match signals to the rest
  19100. of the partititons to stop searching.
  19101. </summary>
  19102. <typeparam name="TInput"></typeparam>
  19103. </member>
  19104. <member name="T:System.Linq.Parallel.DefaultIfEmptyQueryOperator`1">
  19105. <summary>
  19106. This operator just exposes elements directly from the underlying data source, if
  19107. it's not empty, or yields a single default element if the data source is empty.
  19108. There is a minimal amount of synchronization at the beginning, until all partitions
  19109. have registered whether their stream is empty or not. Once the 0th partition knows
  19110. that at least one other partition is non-empty, it may proceed. Otherwise, it is
  19111. the 0th partition which yields the default value.
  19112. </summary>
  19113. <typeparam name="TSource"></typeparam>
  19114. </member>
  19115. <member name="T:System.Linq.Parallel.DistinctQueryOperator`1">
  19116. <summary>
  19117. This operator yields all of the distinct elements in a single data set. It works quite
  19118. like the above set operations, with the obvious difference being that it only accepts
  19119. a single data source as input.
  19120. </summary>
  19121. <typeparam name="TInputOutput"></typeparam>
  19122. </member>
  19123. <member name="T:System.Linq.Parallel.ElementAtQueryOperator`1">
  19124. <summary>
  19125. ElementAt just retrieves an element at a specific index. There is some cross-partition
  19126. coordination to force partitions to stop looking once a partition has found the
  19127. sought-after element.
  19128. </summary>
  19129. <typeparam name="TSource"></typeparam>
  19130. </member>
  19131. <member name="M:System.Linq.Parallel.ElementAtQueryOperator`1.Aggregate(`0@,System.Boolean)">
  19132. <summary>
  19133. Executes the query, either sequentially or in parallel, depending on the query execution mode and
  19134. whether a premature merge was inserted by this ElementAt operator.
  19135. </summary>
  19136. <param name="result">result</param>
  19137. <param name="withDefaultValue">withDefaultValue</param>
  19138. <returns>whether an element with this index exists</returns>
  19139. </member>
  19140. <member name="T:System.Linq.Parallel.FirstQueryOperator`1">
  19141. <summary>
  19142. First tries to discover the first element in the source, optionally matching a
  19143. predicate. All partitions search in parallel, publish the lowest index for a
  19144. candidate match, and reach a barrier. Only the partition that "wins" the race,
  19145. i.e. who found the candidate with the smallest index, will yield an element.
  19146. </summary>
  19147. <typeparam name="TSource"></typeparam>
  19148. </member>
  19149. <member name="T:System.Linq.Parallel.ForAllOperator`1">
  19150. <summary>
  19151. A forall operator just enables an action to be placed at the "top" of a query tree
  19152. instead of yielding an enumerator that some consumer can walk. We execute the
  19153. query for effect instead of yielding a data result.
  19154. </summary>
  19155. <typeparam name="TInput"></typeparam>
  19156. </member>
  19157. <member name="T:System.Linq.Parallel.GroupByQueryOperator`3">
  19158. <summary>
  19159. The operator type for GroupBy statements. This operator groups the input based on
  19160. a key-selection routine, yielding one-to-many values of key-to-elements. The
  19161. implementation is very much like the hash join operator, in which we first build
  19162. a big hashtable of the input; then we just iterate over each unique key in the
  19163. hashtable, yielding it plus all of the elements with the same key.
  19164. </summary>
  19165. <typeparam name="TSource"></typeparam>
  19166. <typeparam name="TGroupKey"></typeparam>
  19167. <typeparam name="TElement"></typeparam>
  19168. </member>
  19169. <member name="T:System.Linq.Parallel.OrderedGroupByGrouping`3">
  19170. <summary>
  19171. An ordered version of the grouping data structure. Represents an ordered group of elements that
  19172. have the same grouping key.
  19173. </summary>
  19174. </member>
  19175. <member name="M:System.Linq.Parallel.OrderedGroupByGrouping`3.#ctor(`0,System.Collections.Generic.IComparer{`1})">
  19176. <summary>
  19177. Constructs a new grouping
  19178. </summary>
  19179. </member>
  19180. <member name="M:System.Linq.Parallel.OrderedGroupByGrouping`3.Add(`2,`1)">
  19181. <summary>
  19182. Add an element
  19183. </summary>
  19184. </member>
  19185. <member name="M:System.Linq.Parallel.OrderedGroupByGrouping`3.DoneAdding">
  19186. <summary>
  19187. No more elements will be added, so we can sort the group now.
  19188. </summary>
  19189. </member>
  19190. <member name="P:System.Linq.Parallel.OrderedGroupByGrouping`3.System#Linq#IGrouping{TGroupKey@TElement}#Key">
  19191. <summary>
  19192. The key this grouping represents.
  19193. </summary>
  19194. </member>
  19195. <member name="T:System.Linq.Parallel.IndexedSelectQueryOperator`2">
  19196. <summary>
  19197. A variant of the Select operator that supplies element index while performing the
  19198. projection operation. This requires cooperation with partitioning and merging to
  19199. guarantee ordering is preserved.
  19200. @TODO: @PERF: @BUG#527: as an optimization, we strictly don't need order to be preserved
  19201. all the way until the merge. If ordering is only kept for THIS operator, we
  19202. can subsequently get rid of order preservation after executing.
  19203. </summary>
  19204. <typeparam name="TInput"></typeparam>
  19205. <typeparam name="TOutput"></typeparam>
  19206. </member>
  19207. <member name="T:System.Linq.Parallel.IndexedWhereQueryOperator`1">
  19208. <summary>
  19209. A variant of the Where operator that supplies element index while performing the
  19210. filtering operation. This requires cooperation with partitioning and merging to
  19211. guarantee ordering is preserved.
  19212. @TODO: @PERF: @BUG#527: as an optimization, we strictly don't need order to be preserved
  19213. all the way until the merge. If ordering is only kept for THIS operator, we
  19214. can subsequently get rid of order preservation after executing.
  19215. </summary>
  19216. <typeparam name="TInputOutput"></typeparam>
  19217. </member>
  19218. <member name="T:System.Linq.Parallel.LastQueryOperator`1">
  19219. <summary>
  19220. Last tries to discover the last element in the source, optionally matching a
  19221. predicate. All partitions search in parallel, publish the greatest index for a
  19222. candidate match, and reach a barrier. Only the partition that "wins" the race,
  19223. i.e. who found the candidate with the largest index, will yield an element.
  19224. @TODO: @PERF: @BUG#414: this traverses the data source in forward-order. In the future, we
  19225. will want to traverse in reverse order, since this allows partitions to stop
  19226. the search sooner (by watching if the current index passes below the current best).
  19227. </summary>
  19228. <typeparam name="TSource"></typeparam>
  19229. </member>
  19230. <member name="T:System.Linq.Parallel.ReverseQueryOperator`1">
  19231. <summary>
  19232. Reverse imposes ordinal order preservation. There are normally two phases to this
  19233. operator's execution. Each partition first builds a buffer containing all of its
  19234. elements, and then proceeds to yielding the elements in reverse. There is a
  19235. 'barrier' (but not a blocking barrier) in between these two steps, at which point the largest index becomes
  19236. known. This is necessary so that when elements from the buffer are yielded, the
  19237. CurrentIndex can be reported as the largest index minus the original index (thereby
  19238. reversing the indices as well as the elements themselves). If the largest index is
  19239. known a priori, because we have an array for example, we can avoid the barrier in
  19240. between the steps.
  19241. </summary>
  19242. <typeparam name="TSource"></typeparam>
  19243. </member>
  19244. <member name="T:System.Linq.Parallel.SelectManyQueryOperator`3">
  19245. <summary>
  19246. SelectMany is effectively a nested loops join. It is given two data sources, an
  19247. outer and an inner -- actually, the inner is sometimes calculated by invoking a
  19248. function for each outer element -- and we walk the outer, walking the entire
  19249. inner enumerator for each outer element. There is an optional result selector
  19250. function which can transform the output before yielding it as a result element.
  19251. Notes:
  19252. Although select many takes two enumerable objects as input, it appears to the
  19253. query analysis infrastructure as a unary operator. That's because it works a
  19254. little differently than the other binary operators: it has to re-open the right
  19255. child every time an outer element is walked. The right child is NOT partitioned.
  19256. </summary>
  19257. <typeparam name="TLeftInput"></typeparam>
  19258. <typeparam name="TRightInput"></typeparam>
  19259. <typeparam name="TOutput"></typeparam>
  19260. </member>
  19261. <member name="M:System.Linq.Parallel.SelectManyQueryOperator`3.WrapPartitionedStreamNotIndexed``1(System.Linq.Parallel.PartitionedStream{`0,``0},System.Linq.Parallel.IPartitionedStreamRecipient{`2},System.Linq.Parallel.QuerySettings)">
  19262. <summary>
  19263. A helper method for WrapPartitionedStream. We use the helper to reuse a block of code twice, but with
  19264. a different order key type. (If premature merge occured, the order key type will be "int". Otherwise,
  19265. it will be the same type as "TLeftKey" in WrapPartitionedStream.)
  19266. </summary>
  19267. </member>
  19268. <member name="M:System.Linq.Parallel.SelectManyQueryOperator`3.WrapPartitionedStreamIndexed(System.Linq.Parallel.PartitionedStream{`0,System.Int32},System.Linq.Parallel.IPartitionedStreamRecipient{`2},System.Linq.Parallel.QuerySettings)">
  19269. <summary>
  19270. Similar helper method to WrapPartitionedStreamNotIndexed, except that this one is for the indexed variant
  19271. of SelectMany (i.e., the SelectMany that passes indices into the user sequence-generating delegate)
  19272. </summary>
  19273. </member>
  19274. <member name="T:System.Linq.Parallel.SelectQueryOperator`2">
  19275. <summary>
  19276. The operator type for Select statements. This operator transforms elements as it
  19277. enumerates them through the use of a selector delegate.
  19278. </summary>
  19279. <typeparam name="TInput"></typeparam>
  19280. <typeparam name="TOutput"></typeparam>
  19281. </member>
  19282. <member name="T:System.Linq.Parallel.SingleQueryOperator`1">
  19283. <summary>
  19284. Single searches the input to find the sole element that satisfies the (optional)
  19285. predicate. If multiple such elements are found, the caller is responsible for
  19286. producing an error. There is some degree of cross-partition synchronization to
  19287. proactively hault the search if we ever determine there are multiple elements
  19288. satisfying the search in the input.
  19289. </summary>
  19290. <typeparam name="TSource"></typeparam>
  19291. </member>
  19292. <member name="T:System.Linq.Parallel.SortQueryOperator`2">
  19293. <summary>
  19294. The query operator for OrderBy and ThenBy.
  19295. </summary>
  19296. <typeparam name="TInputOutput"></typeparam>
  19297. <typeparam name="TSortKey"></typeparam>
  19298. </member>
  19299. <member name="T:System.Linq.Parallel.TakeOrSkipQueryOperator`1">
  19300. <summary>
  19301. Take and Skip either take or skip a specified number of elements, captured in the
  19302. count argument. These will work a little bit like TakeWhile and SkipWhile: there
  19303. are two phases, (1) Search and (2) Yield. In the search phase, our goal is to
  19304. find the 'count'th index from the input. We do this in parallel by sharing a count-
  19305. sized array. Each thread races to populate the array with indices in ascending
  19306. order. This requires synchronization for inserts. We use a simple heap, for decent
  19307. worst case performance. After a thread has scanned ‘count’ elements, or its current
  19308. index is greater than or equal to the maximum index in the array (and the array is
  19309. fully populated), the thread can stop searching. All threads issue a barrier before
  19310. moving to the Yield phase. When the Yield phase is entered, the count-1th element
  19311. of the array contains: in the case of Take, the maximum index (exclusive) to be
  19312. returned; or in the case of Skip, the minimum index (inclusive) to be returned. The
  19313. Yield phase simply consists of yielding these elements as output.
  19314. </summary>
  19315. <typeparam name="TResult"></typeparam>
  19316. </member>
  19317. <member name="M:System.Linq.Parallel.TakeOrSkipQueryOperator`1.OutputOrdinalIndexState">
  19318. <summary>
  19319. Determines the order index state for the output operator
  19320. </summary>
  19321. </member>
  19322. <member name="T:System.Linq.Parallel.TakeOrSkipWhileQueryOperator`1">
  19323. <summary>
  19324. Take- and SkipWhile work similarly. Execution is broken into two phases: Search
  19325. and Yield.
  19326. During the Search phase, many partitions at once search for the first occurrence
  19327. of a false element. As they search, any time a partition finds a false element
  19328. whose index is lesser than the current lowest-known false element, the new index
  19329. will be published, so other partitions can stop the search. The search stops
  19330. as soon as (1) a partition exhausts its input, (2) the predicate yields false for
  19331. one of the partition's elements, or (3) its input index passes the current lowest-
  19332. known index (sufficient since a given partition's indices are always strictly
  19333. incrementing -- asserted below). Elements are buffered during this process.
  19334. Partitions use a barrier after Search and before moving on to Yield. Once all
  19335. have passed the barrier, Yielding begins. At this point, the lowest-known false
  19336. index will be accurate for the entire set, since all partitions have finished
  19337. scanning. This is where TakeWhile and SkipWhile differ. TakeWhile will start at
  19338. the beginning of its buffer and yield all elements whose indices are less than
  19339. the lowest-known false index. SkipWhile, on the other hand, will skipp any such
  19340. elements in the buffer, yielding those whose index is greater than or equal to
  19341. the lowest-known false index, and then finish yielding any remaining elements in
  19342. its data source (since it may have stopped prematurely due to (3) above).
  19343. </summary>
  19344. <typeparam name="TResult"></typeparam>
  19345. </member>
  19346. <member name="M:System.Linq.Parallel.TakeOrSkipWhileQueryOperator`1.OutputOrderIndexState">
  19347. <summary>
  19348. Determines the order index state for the output operator
  19349. </summary>
  19350. </member>
  19351. <member name="T:System.Linq.Parallel.WhereQueryOperator`1">
  19352. <summary>
  19353. The operator type for Where statements. This operator filters out elements that
  19354. don't match a filter function (supplied at instantiation time).
  19355. </summary>
  19356. <typeparam name="TInputOutput"></typeparam>
  19357. </member>
  19358. <member name="F:System.Linq.Parallel.CancellationState.POLL_INTERVAL">
  19359. <summary>
  19360. Poll frequency (number of loops per cancellation check) for situations where per-1-loop testing is too high an overhead.
  19361. </summary>
  19362. </member>
  19363. <member name="M:System.Linq.Parallel.CancellationState.ThrowIfCanceled(System.Threading.CancellationToken)">
  19364. <summary>
  19365. Throws an OCE if the merged token has been canceled.
  19366. </summary>
  19367. <param name="token">A token to check for cancelation.</param>
  19368. </member>
  19369. <member name="T:System.Linq.Parallel.SpoolingTaskBase">
  19370. <summary>
  19371. A spooling task handles marshaling data from a producer to a consumer. It simply
  19372. takes data from a producer and hands it off to a consumer. This class is the base
  19373. class from which other concrete spooling tasks derive, encapsulating some common
  19374. logic (such as capturing exceptions).
  19375. </summary>
  19376. </member>
  19377. <member name="T:System.Linq.Parallel.QueryTask">
  19378. <summary>
  19379. Simple abstract task representation, allowing either synchronous and asynchronous
  19380. execution. Subclasses override the Work API to implement the logic.
  19381. </summary>
  19382. </member>
  19383. <member name="F:System.Linq.Parallel.OrderPreservingPipeliningSpoolingTask`1.PRODUCER_BUFFER_AUTO_SIZE">
  19384. <summary>
  19385. The number of elements to accumulate on the producer before copying the elements to the
  19386. producer-consumer buffer. This constant is only used in the AutoBuffered mode.
  19387. Experimentally, 16 appears to be sufficient buffer size to compensate for the synchronization
  19388. cost.
  19389. </summary>
  19390. </member>
  19391. <member name="F:System.Linq.Parallel.OrderPreservingPipeliningSpoolingTask`1.m_autoBuffered">
  19392. <summary>
  19393. Whether the producer is allowed to buffer up elements before handing a chunk to the consumer.
  19394. If false, the producer will make each result available to the consumer immediately after it is
  19395. produced.
  19396. </summary>
  19397. </member>
  19398. <member name="M:System.Linq.Parallel.OrderPreservingPipeliningSpoolingTask`1.#ctor(System.Linq.Parallel.QueryOperatorEnumerator{`0,System.Int32},System.Linq.Parallel.QueryTaskGroupState,System.Boolean[],System.Boolean[],System.Boolean[],System.Int32,System.Collections.Generic.Queue{System.Linq.Parallel.Pair{System.Int32,`0}}[],System.Object,System.Threading.Tasks.TaskScheduler,System.Boolean)">
  19399. <summary>
  19400. Constructor
  19401. </summary>
  19402. </member>
  19403. <member name="M:System.Linq.Parallel.OrderPreservingPipeliningSpoolingTask`1.SpoolingWork">
  19404. <summary>
  19405. This method is responsible for enumerating results and enqueueing them to
  19406. the output buffer as appropriate. Each base class implements its own.
  19407. </summary>
  19408. </member>
  19409. <member name="M:System.Linq.Parallel.OrderPreservingPipeliningSpoolingTask`1.Spool(System.Linq.Parallel.QueryTaskGroupState,System.Linq.Parallel.PartitionedStream{`0,System.Int32},System.Boolean[],System.Boolean[],System.Boolean[],System.Collections.Generic.Queue{System.Linq.Parallel.Pair{System.Int32,`0}}[],System.Object[],System.Threading.Tasks.TaskScheduler,System.Boolean)">
  19410. <summary>
  19411. Creates and begins execution of a new set of spooling tasks.
  19412. </summary>
  19413. </member>
  19414. <member name="M:System.Linq.Parallel.OrderPreservingPipeliningSpoolingTask`1.SpoolingFinally">
  19415. <summary>
  19416. Dispose the underlying enumerator and wake up the consumer if necessary.
  19417. </summary>
  19418. </member>
  19419. <member name="T:System.Linq.Parallel.OrderPreservingSpoolingTask`2">
  19420. <summary>
  19421. A spooling task handles marshaling data from a producer to a consumer. It's given
  19422. a single enumerator object that contains all of the production algorithms, a single
  19423. destination channel from which consumers draw results, and (optionally) a
  19424. synchronization primitive using which to notify asynchronous consumers. This
  19425. particular task variant preserves sort order in the final data.
  19426. </summary>
  19427. <typeparam name="TInputOutput"></typeparam>
  19428. <typeparam name="TKey"></typeparam>
  19429. </member>
  19430. <member name="T:System.Linq.Parallel.QueryTaskGroupState">
  19431. <summary>
  19432. A collection of tasks used by a single query instance. This type also offers some
  19433. convenient methods for tracing significant ETW events, waiting on tasks, propagating
  19434. exceptions, and performing cancellation activities.
  19435. </summary>
  19436. </member>
  19437. <member name="T:System.Linq.Parallel.SpoolingTask">
  19438. <summary>
  19439. A factory class to execute spooling logic.
  19440. </summary>
  19441. </member>
  19442. <member name="T:System.Linq.Parallel.StopAndGoSpoolingTask`2">
  19443. <summary>
  19444. A spooling task handles marshaling data from a producer to a consumer. It's given
  19445. a single enumerator object that contains all of the production algorithms, a single
  19446. destination channel from which consumers draw results, and (optionally) a
  19447. synchronization primitive using which to notify asynchronous consumers.
  19448. </summary>
  19449. <typeparam name="TInputOutput"></typeparam>
  19450. <typeparam name="TIgnoreKey"></typeparam>
  19451. </member>
  19452. <member name="T:System.Linq.Parallel.PipelineSpoolingTask`2">
  19453. <summary>
  19454. A spooling task handles marshaling data from a producer to a consumer. It's given
  19455. a single enumerator object that contains all of the production algorithms, a single
  19456. destination channel from which consumers draw results, and (optionally) a
  19457. synchronization primitive using which to notify asynchronous consumers.
  19458. </summary>
  19459. <typeparam name="TInputOutput"></typeparam>
  19460. <typeparam name="TIgnoreKey"></typeparam>
  19461. </member>
  19462. <member name="T:System.Linq.Parallel.ForAllSpoolingTask`2">
  19463. <summary>
  19464. A spooling task handles marshaling data from a producer to a consumer. It's given
  19465. a single enumerator object that contains all of the production algorithms, a single
  19466. destination channel from which consumers draw results, and (optionally) a
  19467. synchronization primitive using which to notify asynchronous consumers.
  19468. </summary>
  19469. <typeparam name="TInputOutput"></typeparam>
  19470. <typeparam name="TIgnoreKey"></typeparam>
  19471. </member>
  19472. <member name="M:System.Linq.Parallel.CancellableEnumerable.Wrap``1(System.Collections.Generic.IEnumerable{``0},System.Threading.CancellationToken)">
  19473. <summary>
  19474. Wraps an enumerable with a cancellation checker. The enumerator handed out by the source enumerable
  19475. will be wrapped by an object that periodically checks whether a particular cancellation token has
  19476. been cancelled. If so, the next call to MoveNext() will throw an OperationCancelledException.
  19477. </summary>
  19478. </member>
  19479. <member name="M:System.Linq.Parallel.ExceptionAggregator.WrapEnumerable``1(System.Collections.Generic.IEnumerable{``0},System.Linq.Parallel.CancellationState)">
  19480. <summary>
  19481. WrapEnumerable.ExceptionAggregator wraps the enumerable with another enumerator that will
  19482. catch exceptions, and wrap each with an AggregateException.
  19483. If PLINQ decides to execute a query sequentially, we will reuse LINQ-to-objects
  19484. implementations for the different operators. However, we still need to throw
  19485. AggregateException in the cases when parallel execution would have thrown an
  19486. AggregateException. Thus, we introduce a wrapper enumerator that catches exceptions
  19487. and wraps them with an AggregateException.
  19488. </summary>
  19489. </member>
  19490. <member name="M:System.Linq.Parallel.ExceptionAggregator.WrapQueryEnumerator``2(System.Linq.Parallel.QueryOperatorEnumerator{``0,``1},System.Linq.Parallel.CancellationState)">
  19491. <summary>
  19492. A variant of WrapEnumerable that accepts a QueryOperatorEnumerator{,} instead of an IEnumerable{}.
  19493. The code duplication is necessary to avoid extra virtual method calls that would otherwise be needed to
  19494. convert the QueryOperatorEnumerator{,} to an IEnumerator{}.
  19495. </summary>
  19496. </member>
  19497. <member name="M:System.Linq.Parallel.ExceptionAggregator.ThrowOCEorAggregateException(System.Exception,System.Linq.Parallel.CancellationState)">
  19498. <summary>
  19499. Accepts an exception, wraps it as if it was crossing the parallel->sequential boundary, and throws the
  19500. wrapped exception. In sequential fallback cases, we use this method to throw exceptions that are consistent
  19501. with exceptions thrown by PLINQ when the query is executed by worker tasks.
  19502. The exception will be wrapped into an AggregateException, except for the case when the query is being
  19503. legitimately cancelled, in which case we will propagate the CancellationException with the appropriate
  19504. token.
  19505. </summary>
  19506. </member>
  19507. <member name="M:System.Linq.Parallel.ExceptionAggregator.WrapFunc``2(System.Func{``0,``1},System.Linq.Parallel.CancellationState)">
  19508. <summary>
  19509. Wraps a function with a try/catch that morphs all exceptions into AggregateException.
  19510. </summary>
  19511. <typeparam name="T">The input argument type.</typeparam>
  19512. <typeparam name="U">The return value type.</typeparam>
  19513. <param name="f">A function to use internally.</param>
  19514. <param name="cancellationState">The cancellation state to use.</param>
  19515. <returns>A new function containing exception wrapping logic.</returns>
  19516. </member>
  19517. <member name="T:System.Linq.Parallel.ExchangeUtilities">
  19518. <summary>
  19519. ExchangeUtilities is a static class that contains helper functions to partition and merge
  19520. streams.
  19521. </summary>
  19522. </member>
  19523. <member name="T:System.Linq.Parallel.NoKeyMemoizationRequired">
  19524. <summary>
  19525. Used during hash partitioning, when the keys being memoized are not used for anything.
  19526. </summary>
  19527. </member>
  19528. <member name="T:System.Linq.Parallel.FixedMaxHeap`1">
  19529. <summary>
  19530. Very simple heap data structure, of fixed size.
  19531. </summary>
  19532. <typeparam name="TElement"></typeparam>
  19533. </member>
  19534. <member name="T:System.Linq.Parallel.GrowingArray`1">
  19535. <summary>
  19536. A growing array. Unlike List{T}, it makes the internal array available to its user.
  19537. </summary>
  19538. <typeparam name="T"></typeparam>
  19539. </member>
  19540. <member name="T:System.Linq.Parallel.HashLookup`2">
  19541. <summary>
  19542. A simple hash map data structure, derived from the LINQ set we also use.
  19543. </summary>
  19544. <typeparam name="TKey">The kind of keys contained within.</typeparam>
  19545. <typeparam name="TValue">The kind of values contained within.</typeparam>
  19546. </member>
  19547. <member name="T:System.Linq.Parallel.ListChunk`1">
  19548. <summary>
  19549. A linked list of array chunks. Allows direct access to its arrays.
  19550. </summary>
  19551. <typeparam name="TInputOutput">The elements held within.</typeparam>
  19552. </member>
  19553. <member name="M:System.Linq.Parallel.ListChunk`1.#ctor(System.Int32)">
  19554. <summary>
  19555. Allocates a new root chunk of a particular size.
  19556. </summary>
  19557. </member>
  19558. <member name="M:System.Linq.Parallel.ListChunk`1.Add(`0)">
  19559. <summary>
  19560. Adds an element to this chunk. Only ever called on the root.
  19561. </summary>
  19562. <param name="e">The new element.</param>
  19563. </member>
  19564. <member name="M:System.Linq.Parallel.ListChunk`1.GetEnumerator">
  19565. <summary>
  19566. Fetches an enumerator to walk the elements in all chunks rooted from this one.
  19567. </summary>
  19568. </member>
  19569. <member name="P:System.Linq.Parallel.ListChunk`1.Next">
  19570. <summary>
  19571. The next chunk in the linked chain.
  19572. </summary>
  19573. </member>
  19574. <member name="P:System.Linq.Parallel.ListChunk`1.Count">
  19575. <summary>
  19576. The number of elements contained within this particular chunk.
  19577. </summary>
  19578. </member>
  19579. <member name="T:System.Linq.Parallel.Lookup`2">
  19580. <summary>
  19581. Lookup class implements the ILookup interface. Lookup is very similar to a dictionary
  19582. except multiple values are allowed to map to the same key, and null keys are supported.
  19583. Support for null keys adds an issue because the Dictionary class Lookup uses for
  19584. storage does not support null keys. So, we need to treat null keys separately.
  19585. Unfortunately, since TKey may be a value type, we cannot test whether the key is null
  19586. using the user-specified equality comparer.
  19587. C# does allow us to compare the key against null using the == operator, but there is a
  19588. possibility that the user's equality comparer considers null to be equal to other values.
  19589. Now, MSDN documentation specifies that if IEqualityComparer.Equals(x,y) returns true, it
  19590. must be the case that x and y have the same hash code, and null has no hash code. Despite
  19591. that, we might as well support the use case, even if it is bad practice.
  19592. The solution the Lookup class uses is to treat the key default(TKey) as a special case,
  19593. and hold its associated grouping - if any - in a special field instead of inserting it
  19594. into a dictionary.
  19595. </summary>
  19596. <typeparam name="TKey"></typeparam>
  19597. <typeparam name="TElement"></typeparam>
  19598. </member>
  19599. <member name="T:System.Linq.Parallel.Pair`2">
  19600. <summary>
  19601. A pair just wraps two bits of data into a single addressable unit. This is a
  19602. value type to ensure it remains very lightweight, since it is frequently used
  19603. with other primitive data types as well.
  19604. </summary>
  19605. <typeparam name="T"></typeparam>
  19606. <typeparam name="U"></typeparam>
  19607. </member>
  19608. <member name="T:System.Linq.Parallel.PairComparer`2">
  19609. <summary>
  19610. PairComparer compares pairs by the first element, and breaks ties by the second
  19611. element.
  19612. </summary>
  19613. <typeparam name="T"></typeparam>
  19614. <typeparam name="U"></typeparam>
  19615. </member>
  19616. <member name="T:System.Linq.Parallel.ReverseComparer`1">
  19617. <summary>
  19618. Comparer that wraps another comparer, and flips the result of each comparison to the
  19619. opposite answer.
  19620. </summary>
  19621. <typeparam name="T"></typeparam>
  19622. </member>
  19623. <member name="T:System.Linq.Parallel.Set`1">
  19624. <summary>
  19625. A set for various operations. Shamelessly stolen from LINQ's source code.
  19626. @TODO: can the Linq one be used directly now that we are in System.Core
  19627. </summary>
  19628. <typeparam name="TElement">The kind of elements contained within.</typeparam>
  19629. </member>
  19630. <member name="T:System.Linq.Parallel.Shared`1">
  19631. <summary>
  19632. A very simple primitive that allows us to share a value across multiple threads.
  19633. </summary>
  19634. <typeparam name="T"></typeparam>
  19635. </member>
  19636. <member name="T:System.Linq.Parallel.Util">
  19637. <summary>
  19638. Common miscellaneous utility methods used throughout the code-base.
  19639. </summary>
  19640. </member>
  19641. <member name="T:System.Linq.Parallel.Wrapper`1">
  19642. <summary>
  19643. A struct to wrap any arbitrary object reference or struct. Used for situations
  19644. where we can't tolerate null values (like keys for hashtables).
  19645. </summary>
  19646. <typeparam name="T"></typeparam>
  19647. </member>
  19648. <member name="T:System.Linq.Parallel.WrapperEqualityComparer`1">
  19649. <summary>
  19650. Compares two wrapped structs of the same underlying type for equality. Simply
  19651. wraps the actual comparer for the type being wrapped.
  19652. </summary>
  19653. <typeparam name="T"></typeparam>
  19654. </member>
  19655. <member name="T:System.Linq.OrderedParallelQuery`1">
  19656. <summary>
  19657. Represents a sorted, parallel sequence.
  19658. </summary>
  19659. </member>
  19660. <member name="M:System.Linq.OrderedParallelQuery`1.GetEnumerator">
  19661. <summary>
  19662. Returns an enumerator that iterates through the sequence.
  19663. </summary>
  19664. <returns>An enumerator that iterates through the sequence.</returns>
  19665. </member>
  19666. <member name="T:System.Linq.ParallelExecutionMode">
  19667. <summary>
  19668. The query execution mode is a hint that specifies how the system should handle
  19669. performance trade-offs when parallelizing queries.
  19670. </summary>
  19671. </member>
  19672. <member name="F:System.Linq.ParallelExecutionMode.Default">
  19673. <summary>
  19674. By default, the system will use algorithms for queries
  19675. that are ripe for parallelism and will avoid algorithms with high
  19676. overheads that will likely result in slow downs for parallel execution.
  19677. </summary>
  19678. </member>
  19679. <member name="F:System.Linq.ParallelExecutionMode.ForceParallelism">
  19680. <summary>
  19681. Parallelize the entire query, even if that means using high-overhead algorithms.
  19682. </summary>
  19683. </member>
  19684. <member name="T:System.Threading.Tasks.TaskExtensions">
  19685. <summary>
  19686. Provides a set of static (Shared in Visual Basic) methods for working with specific kinds of
  19687. <see cref="T:System.Threading.Tasks.Task"/> instances.
  19688. </summary>
  19689. </member>
  19690. <member name="M:System.Threading.Tasks.TaskExtensions.Unwrap(System.Threading.Tasks.Task{System.Threading.Tasks.Task})">
  19691. <summary>
  19692. Creates a proxy <see cref="T:System.Threading.Tasks.Task">Task</see> that represents the
  19693. asynchronous operation of a Task{Task}.
  19694. </summary>
  19695. <remarks>
  19696. It is often useful to be able to return a Task from a <see cref="T:System.Threading.Tasks.Task`1">
  19697. Task{TResult}</see>, where the inner Task represents work done as part of the outer Task{TResult}. However,
  19698. doing so results in a Task{Task}, which, if not dealt with carefully, could produce unexpected behavior. Unwrap
  19699. solves this problem by creating a proxy Task that represents the entire asynchronous operation of such a Task{Task}.
  19700. </remarks>
  19701. <param name="task">The Task{Task} to unwrap.</param>
  19702. <exception cref="T:System.ArgumentNullException">The exception that is thrown if the
  19703. <paramref name="task"/> argument is null.</exception>
  19704. <returns>A Task that represents the asynchronous operation of the provided Task{Task}.</returns>
  19705. </member>
  19706. <member name="M:System.Threading.Tasks.TaskExtensions.Unwrap``1(System.Threading.Tasks.Task{System.Threading.Tasks.Task{``0}})">
  19707. <summary>
  19708. Creates a proxy <see cref="T:System.Threading.Tasks.Task`1">Task{TResult}</see> that represents the
  19709. asynchronous operation of a Task{Task{TResult}}.
  19710. </summary>
  19711. <remarks>
  19712. It is often useful to be able to return a Task{TResult} from a Task{TResult}, where the inner Task{TResult}
  19713. represents work done as part of the outer Task{TResult}. However, doing so results in a Task{Task{TResult}},
  19714. which, if not dealt with carefully, could produce unexpected behavior. Unwrap solves this problem by
  19715. creating a proxy Task{TResult} that represents the entire asynchronous operation of such a Task{Task{TResult}}.
  19716. </remarks>
  19717. <param name="task">The Task{Task{TResult}} to unwrap.</param>
  19718. <exception cref="T:System.ArgumentNullException">The exception that is thrown if the
  19719. <paramref name="task"/> argument is null.</exception>
  19720. <returns>A Task{TResult} that represents the asynchronous operation of the provided Task{Task{TResult}}.</returns> /// <summary>Unwraps a Task that returns another Task.</summary>
  19721. </member>
  19722. </members>
  19723. </doc>