package Ġworld . ph ant asm al . ps ol ib . cursor Ċ Ċ import Ġworld . ph ant asm al . ps ol ib . En di ann ess Ċ import Ġworld . ph ant asm al . ps ol ib . buffer . Buffer Ċ Ċ /** Ċ Ġ* ĠA Ġcursor Ġfor Ġreading Ġbinary Ġdata . Ċ Ġ*/ Ċ interface ĠCursor Ġ{ ĊĠĠĠ Ġval Ġsize : ĠInt ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġposition Ġfrom Ġwhere Ġbytes Ġwill Ġbe Ġread Ġor Ġwritten . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġposition : ĠInt ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠByte Ġorder Ġmode . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġvar Ġend i ann ess : ĠEn di ann ess ĊĊĠĠĠ Ġval Ġbytes Left : ĠInt ĊĊĠĠĠ Ġfun Ġhas Bytes Left (): ĠBoolean ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSeek Ġforward Ġor Ġbackward Ġby Ġa Ġnumber Ġof Ġbytes . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġoffset Ġif Ġpositive , Ġsee ks Ġforward Ġby Ġoffset Ġbytes , Ġotherwise Ġsee ks Ġbackward Ġby Ġ- offset ĊĠĠĠĠ Ġ* Ġbytes . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġseek ( offset : ĠInt ): ĠCursor ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSeek Ġforward Ġfrom Ġthe Ġstart Ġof Ġthe Ġcursor Ġby Ġa Ġnumber Ġof Ġbytes . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġoffset Ġgreater Ġor Ġequal Ġto Ġ 0 Ġand Ġsmaller Ġthan Ġsize ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġseek Start ( offset : ĠInt ): ĠCursor ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSeek Ġbackward Ġfrom Ġthe Ġend Ġof Ġthe Ġcursor Ġby Ġa Ġnumber Ġof Ġbytes . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġoffset Ġgreater Ġor Ġequal Ġto Ġ 0 Ġand Ġsmaller Ġthan Ġsize ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġseek End ( offset : ĠInt ): ĠCursor ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReads Ġan Ġunsigned Ġ 8 - bit Ġinteger Ġand Ġincre ments Ġposition Ġby Ġ 1 . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġu Byte (): ĠU Byte ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReads Ġan Ġunsigned Ġ 1 6 - bit Ġinteger Ġand Ġincre ments Ġposition Ġby Ġ 2 . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġu Short (): ĠU Short ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReads Ġan Ġunsigned Ġ 3 2 - bit Ġinteger Ġand Ġincre ments Ġposition Ġby Ġ 4 . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġu Int (): ĠUInt ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReads Ġan Ġsigned Ġ 8 - bit Ġinteger Ġand Ġincre ments Ġposition Ġby Ġ 1 . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġbyte (): ĠByte ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReads Ġa Ġsigned Ġ 1 6 - bit Ġinteger Ġand Ġincre ments Ġposition Ġby Ġ 2 . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġshort (): ĠShort ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReads Ġa Ġsigned Ġ 3 2 - bit Ġinteger Ġand Ġincre ments Ġposition Ġby Ġ 4 . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġint (): ĠInt ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReads Ġa Ġ 3 2 - bit Ġfloating Ġpoint Ġnumber Ġand Ġincre ments Ġposition Ġby Ġ 4 . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġfloat (): ĠFloat ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReads Ġ[ n ] Ġunsigned Ġ 8 - bit Ġintegers Ġand Ġincre ments Ġposition Ġby Ġ[ n ]. ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġu ByteArray ( n : ĠInt ): ĠU ByteArray ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReads Ġ[ n ] Ġunsigned Ġ 1 6 - bit Ġintegers Ġand Ġincre ments Ġposition Ġby Ġ 2 [ n ]. ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġu Short Array ( n : ĠInt ): ĠU Short Array ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReads Ġ[ n ] Ġunsigned Ġ 3 2 - bit Ġintegers Ġand Ġincre ments Ġposition Ġby Ġ 4 [ n ]. ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġu IntArray ( n : ĠInt ): ĠUInt Array ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReads Ġ[ n ] Ġsigned Ġ 8 - bit Ġintegers Ġand Ġincre ments Ġposition Ġby Ġ[ n ]. ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun ĠbyteArray ( n : ĠInt ): ĠByteArray ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReads Ġ[ n ] Ġsigned Ġ 3 2 - bit Ġintegers Ġand Ġincre ments Ġposition Ġby Ġ 4 [ n ]. ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun ĠintArray ( n : ĠInt ): ĠInt Array ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCons umes Ġa Ġvariable Ġnumber Ġof Ġbytes . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġsize Ġthe Ġamount Ġbytes Ġto Ġconsume . ĊĠĠĠĠ Ġ* Ġ@ return Ġa Ġview Ġcontaining Ġsize Ġbytes . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġtake ( size : ĠInt ): ĠCursor ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCons umes Ġup Ġto Ġ[ max Byte Length ] Ġbytes . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġstring Ascii ( ĊĠĠĠĠĠĠĠ Ġmax Byte Length : ĠInt , ĊĠĠĠĠĠĠĠ Ġnull Terminated : ĠBoolean Ġ= Ġtrue , ĊĠĠĠĠĠĠĠ Ġdrop Remaining : ĠBoolean Ġ= Ġtrue , ĊĠĠĠ Ġ): ĠString ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCons umes Ġup Ġto Ġ[ max Byte Length ] Ġbytes . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġstring Utf 1 6 ( ĊĠĠĠĠĠĠĠ Ġmax Byte Length : ĠInt , ĊĠĠĠĠĠĠĠ Ġnull Terminated : ĠBoolean Ġ= Ġtrue , ĊĠĠĠĠĠĠĠ Ġdrop Remaining : ĠBoolean Ġ= Ġtrue , ĊĠĠĠ Ġ): ĠString ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġa Ġbuffer Ġwith Ġa Ġcopy Ġof Ġ[ size ] Ġbytes Ġat Ġ[ position ]. ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġbuffer ( size : ĠInt Ġ= Ġbytes Left ): ĠBuffer Ċ } Ċ