package Ġgod ot . core Ċ Ċ import Ġgd native . godot _ error Ċ import Ġgd native . godot _ pool _ string _ array Ċ import Ġkotlinx . c interop .* Ċ Ċ class ĠPool String Array ( ĊĠ Ġvalue : ĠC Value < godot _ pool _ string _ array > Ċ ) Ġ: ĠCore Type < godot _ pool _ string _ array >( value ), ĠIterable < String > Ġ{ ĊĠ Ġfun Ġappend ( string : ĠString ) Ġ{ ĊĠĠĠ Ġ_ value Ġ= Ġmem Scoped Ġ{ ĊĠĠĠĠĠ Ġval Ġptr Ġ= Ġ_ value . ptr ĊĠĠĠĠĠ ĠG D String . from ( string ) Ġ{ ĊĠĠĠĠĠĠĠ ĠcheckNotNull ( God ot . gd native . godot _ pool _ string _ array _ append )( ptr , Ġit ._ value . ptr ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġptr . point ed . readValue () ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġfun Ġappend ( array : ĠPool String Array ) Ġ{ ĊĠĠĠ Ġ_ value Ġ= Ġmem Scoped Ġ{ ĊĠĠĠĠĠ Ġval Ġptr Ġ= Ġ_ value . ptr ĊĠĠĠĠĠ ĠcheckNotNull ( God ot . gd native . godot _ pool _ string _ array _ append _ array )( ptr , Ġarray ._ value . ptr ) ĊĠĠĠĠĠ Ġptr . point ed . readValue () ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġfun Ġdestroy () Ġ{ ĊĠĠĠ Ġreturn Ġmem Scoped Ġ{ ĊĠĠĠĠĠ ĠcheckNotNull ( God ot . gd native . godot _ pool _ string _ array _ destroy ) (_ value . ptr ) ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġfun Ġinsert ( index : ĠInt , Ġstring : ĠString ): Ġgod ot _ error Ġ{ ĊĠĠĠ Ġlateinit Ġvar Ġret : Ġgod ot _ error ĊĠĠĠ Ġ_ value Ġ= Ġmem Scoped Ġ{ ĊĠĠĠĠĠ Ġval Ġptr Ġ= Ġ_ value . ptr ĊĠĠĠĠĠ ĠG D String . from ( string ) Ġ{ ĊĠĠĠĠĠĠĠ Ġret Ġ= ĠcheckNotNull ( God ot . gd native . godot _ pool _ string _ array _ insert )( ptr , Ġindex , Ġit ._ value . ptr ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġptr . point ed . readValue () ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġret ĊĠ Ġ} ĊĊĠ Ġfun Ġinvert () Ġ{ ĊĠĠĠ Ġ_ value Ġ= Ġmem Scoped Ġ{ ĊĠĠĠĠĠ Ġval Ġptr Ġ= Ġ_ value . ptr ĊĠĠĠĠĠ ĠcheckNotNull ( God ot . gd native . godot _ pool _ string _ array _ invert )( ptr ) ĊĠĠĠĠĠ Ġptr . point ed . readValue () ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġfun Ġremove ( index : ĠInt ) Ġ{ ĊĠĠĠ Ġ_ value Ġ= Ġmem Scoped Ġ{ ĊĠĠĠĠĠ Ġval Ġptr Ġ= Ġ_ value . ptr ĊĠĠĠĠĠ ĠcheckNotNull ( God ot . gd native . godot _ pool _ string _ array _ remove )( ptr , Ġindex ) ĊĠĠĠĠĠ Ġptr . point ed . readValue () ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġfun Ġresize ( size : ĠInt ) Ġ{ ĊĠĠĠ Ġ_ value Ġ= Ġmem Scoped Ġ{ ĊĠĠĠĠĠ Ġval Ġptr Ġ= Ġ_ value . ptr ĊĠĠĠĠĠ ĠcheckNotNull ( God ot . gd native . godot _ pool _ string _ array _ resize )( ptr , Ġsize ) ĊĠĠĠĠĠ Ġptr . point ed . readValue () ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġoperator Ġfun Ġset ( index : ĠInt , Ġstring : ĠString ) Ġ{ ĊĠĠĠ Ġ_ value Ġ= Ġmem Scoped Ġ{ ĊĠĠĠĠĠ Ġval Ġptr Ġ= Ġ_ value . ptr ĊĠĠĠĠĠ ĠG D String . from ( string ) Ġ{ ĊĠĠĠĠĠĠĠ ĠcheckNotNull ( God ot . gd native . godot _ pool _ string _ array _ set )( ptr , Ġindex , Ġit ._ value . ptr ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġptr . point ed . readValue () ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġoperator Ġfun Ġget ( index : ĠInt ): ĠString Ġ{ ĊĠĠĠ Ġreturn Ġmem Scoped Ġ{ ĊĠĠĠĠĠ Ġval Ġgd String Ġ= ĠG D String ( ĊĠĠĠĠĠĠĠ ĠcheckNotNull ( God ot . gd native . godot _ pool _ string _ array _ get ) (_ value . ptr , Ġindex ) ĊĠĠĠĠĠ Ġ) ĊĠĠĠĠĠ Ġval Ġret Ġ= Ġgd String . to K String () ĊĠĠĠĠĠ Ġgd String . destroy () ĊĠĠĠĠĠ Ġret ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġfun Ġsize (): ĠInt Ġ{ ĊĠĠĠ Ġreturn Ġmem Scoped Ġ{ ĊĠĠĠĠĠ ĠcheckNotNull ( God ot . gd native . godot _ pool _ string _ array _ size ) (_ value . ptr ) ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġto Variant (): ĠVariant Ġ{ ĊĠĠĠ Ġreturn ĠVariant . new ( this ) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġto GD String (): ĠG D String Ġ{ ĊĠĠĠ Ġreturn ĠG D String . new (" Pool String Array (${ size () }) ") ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġiterator (): ĠIterator < String > Ġ{ ĊĠĠĠ Ġreturn ĠIndexed Iterator ( size (), Ġthis :: get ) ĊĠ Ġ} ĊĠĠĊĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠ Ġfun Ġnew (): ĠPool String Array Ġ{ ĊĠĠĠĠĠ Ġreturn Ġalloc Type (:: Pool String Array ) Ġ{ ĊĠĠĠĠĠĠĠ ĠcheckNotNull ( God ot . gd native . godot _ pool _ string _ array _ new )( it ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġnew ( from : ĠVariant Array ): ĠPool String Array Ġ{ ĊĠĠĠĠĠ Ġreturn Ġalloc Type (:: Pool String Array ) Ġ{ ĊĠĠĠĠĠĠĠ ĠcheckNotNull ( God ot . gd native . godot _ pool _ string _ array _ new _ with _ array )( it , Ġfrom ._ value . ptr ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ } Ċ