package Ġspace . k science . k math . structures Ċ Ċ /** Ċ Ġ* ĠSpecial ized Ġ[ Mutable Buffer ] Ġimplementation Ġover Ġ[ Short Array ]. Ċ Ġ* Ċ Ġ* Ġ@ property Ġarray Ġthe Ġunderlying Ġarray . Ċ Ġ*/ Ċ public Ġinline Ġclass ĠShort Buffer ( public Ġval Ġarray : ĠShort Array ) Ġ: ĠMutable Buffer < Short > Ġ{ ĊĠĠĠ Ġpublic Ġoverride Ġval Ġsize : ĠInt Ġget () Ġ= Ġarray . size ĊĊĠĠĠ Ġpublic Ġoverride Ġoperator Ġfun Ġget ( index : ĠInt ): ĠShort Ġ= Ġarray [ index ] ĊĊĠĠĠ Ġpublic Ġoverride Ġoperator Ġfun Ġset ( index : ĠInt , Ġvalue : ĠShort ) Ġ{ ĊĠĠĠĠĠĠĠ Ġarray [ index ] Ġ= Ġvalue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġpublic Ġoverride Ġoperator Ġfun Ġiterator (): ĠShort Iterator Ġ= Ġarray . iterator () ĊĠĠĠ Ġpublic Ġoverride Ġfun Ġcopy (): ĠMutable Buffer < Short > Ġ= ĠShort Buffer ( array . copyOf ()) Ċ } Ċ Ċ /** Ċ Ġ* ĠCreates Ġa Ġnew Ġ[ Short Buffer ] Ġwith Ġthe Ġspecified Ġ[ size ], Ġwhere Ġeach Ġelement Ġis Ġcalculated Ġby Ġcalling Ġthe Ġspecified Ċ Ġ* Ġ[ init ] Ġfunction . Ċ Ġ* Ċ Ġ* ĠThe Ġfunction Ġ[ init ] Ġis Ġcalled Ġfor Ġeach Ġarray Ġelement Ġse quent ially Ġstarting Ġfrom Ġthe Ġfirst Ġone . Ċ Ġ* ĠIt Ġshould Ġreturn Ġthe Ġvalue Ġfor Ġan Ġbuffer Ġelement Ġgiven Ġits Ġindex . Ċ Ġ*/ Ċ public Ġinline Ġfun ĠShort Buffer ( size : ĠInt , Ġinit : Ġ( Int ) Ġ-> ĠShort ): ĠShort Buffer Ġ= ĠShort Buffer ( Short Array ( size ) Ġ{ Ġinit ( it ) Ġ}) Ċ Ċ /** Ċ Ġ* ĠReturns Ġa Ġnew Ġ[ Short Buffer ] Ġof Ġgiven Ġelements . Ċ Ġ*/ Ċ public Ġfun ĠShort Buffer ( var arg Ġshort s : ĠShort ): ĠShort Buffer Ġ= ĠShort Buffer ( shorts ) Ċ Ċ /** Ċ Ġ* ĠReturns Ġa Ġ[ Short Array ] Ġcontaining Ġall Ġof Ġthe Ġelements Ġof Ġthis Ġ[ Mutable Buffer ]. Ċ Ġ*/ Ċ public Ġval ĠMutable Buffer < out ĠShort >. array : ĠShort Array ĊĠĠĠ Ġget () Ġ= Ġ( if Ġ( this Ġis ĠShort Buffer ) Ġarray Ġelse ĠShort Array ( size ) Ġ{ Ġget ( it ) Ġ}) Ċ Ċ /** Ċ Ġ* ĠReturns Ġ[ Short Buffer ] Ġover Ġthis Ġarray . Ċ Ġ* Ċ Ġ* Ġ@ receiver Ġthe Ġarray . Ċ Ġ* Ġ@ return Ġthe Ġnew Ġbuffer . Ċ Ġ*/ Ċ public Ġfun ĠShort Array . as Buffer (): ĠShort Buffer Ġ= ĠShort Buffer ( this ) Ċ