Lucifers,

Let's discuss the public API of VArray. The following methods look OK to me and should be public:

* Push
* Push_VArray
* Pop
* Unshift
* Shift
* Grow
* Fetch
* Store
* Delete
* Shallow_Copy
* Clone
* Sort
* Clear
* Get_Size
* Slice
* Equals

Regarding the Gather method: I think VA_Gather_Test_t could need an additional "elem" parameter. If we want to make Gather public, we should also think about adding other functional style methods like Map. But these methods don't map to C very well, so I'd suggest to leave them out for now.

Regarding Excise: I think VArray is missing a "splice"-like method. We could either augment Excise to make it work like splice in Perl, or add an extra method to insert elements at a certain location (maybe two methods for inserting single elements and other VArrays).

Regarding out-of-bounds offsets and lengths: This already came up when discussing the String API. I think the consensus was that out-of-bounds offsets should be clamped to the start or end of the VArray instead of throwing an error.

Using uint32_t instead of size_t for array ticks is OK, but I don't have a strong opinion on this.

Nick

Reply via email to