/* Ċ Ġ* ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠMIT Ġlicense Ġthat Ġcan Ġbe Ċ Ġ* Ġfound Ġin Ġthe ĠLICENSE Ġfile . Ċ Ġ*/ Ċ Ċ package Ġorg . rust . st dex t Ċ Ċ import Ġcom . intellij . openapi . util . io . File Util Ċ import Ġcom . intellij . util . io . Data Input Output Util Ċ import Ġjava . io .* Ċ Ċ @ Throws ( IOException :: class ) Ċ fun ĠData Input . read Var Int (): ĠInt Ġ= ĊĠĠĠ ĠData Input Output Util . read INT ( this ) Ċ Ċ @ Throws ( IOException :: class ) Ċ fun ĠData Output . write Var Int ( value : ĠInt ): ĠUnit Ġ= ĊĠĠĠ ĠData Input Output Util . write INT ( this , Ġvalue ) Ċ Ċ @ Throws ( IOException :: class ) Ċ fun ĠOutputStream . write Stream ( input : ĠInputStream ): ĠUnit Ġ= ĊĠĠĠ ĠFile Util . copy ( input , Ġthis ) Ċ Ċ @ Throws ( IOException :: class ) Ċ fun Ġ< E Ġ: ĠEnum < E >> ĠData Output . write Enum ( e : ĠE ) Ġ= Ġwrite Byte ( e . ordinal ) Ċ Ċ @ Throws ( IOException :: class ) Ċ inline Ġfun Ġ< re ified ĠE Ġ: ĠEnum < E >> ĠData Input . read Enum (): ĠE Ġ= Ġenum Values < E >() [ read Unsigned Byte ()] Ċ Ċ @ Throws ( IOException :: class ) Ċ fun Ġ< T , ĠE > ĠData Input . read Rs Result ( ĊĠĠĠ Ġok Reader : ĠData Input . () Ġ-> ĠT , ĊĠĠĠ Ġerr Reader : ĠData Input . () Ġ-> ĠE Ċ ): ĠRs Result < T , ĠE > Ġ= Ġwhen Ġ( read Boolean ()) Ġ{ ĊĠĠĠ Ġtrue Ġ-> ĠRs Result . Ok ( ok Reader ()) ĊĠĠĠ Ġfalse Ġ-> ĠRs Result . Err ( err Reader ()) Ċ } Ċ Ċ @ Throws ( IOException :: class ) Ċ fun Ġ< T , ĠE > ĠData Output . write Rs Result ( ĊĠĠĠ Ġvalue : ĠRs Result < T , ĠE >, ĊĠĠĠ Ġok Writer : ĠData Output .( T ) Ġ-> ĠUnit , ĊĠĠĠ Ġerr Writer : ĠData Output .( E ) Ġ-> ĠUnit Ċ ): ĠUnit Ġ= Ġwhen Ġ( value ) Ġ{ ĊĠĠĠ Ġis ĠRs Result . Ok Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ Ġwrite Boolean ( true ) ĊĠĠĠĠĠĠĠ Ġok Writer ( value . ok ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġis ĠRs Result . Err Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ Ġwrite Boolean ( false ) ĊĠĠĠĠĠĠĠ Ġerr Writer ( value . err ) ĊĠĠĠ Ġ} Ċ } Ċ