Currently, Fenix data subsets cover the range [begin, end], while most programming constructs operate with an exclusive end: [begin, end)
In other Fenix functions paramaters, we use an exclusive end like normal. For example, the length value passed in to Fenix_Data_member_store is exclusive - we will not try to store a value at buffer[length]. However, to make the equivalent data subset a value of length-1 must be passed.
This is an easy source of memory access errors, so we should be more consistent and use exclusive endpoints for data subsets
Currently, Fenix data subsets cover the range [begin, end], while most programming constructs operate with an exclusive end: [begin, end)
In other Fenix functions paramaters, we use an exclusive end like normal. For example, the length value passed in to Fenix_Data_member_store is exclusive - we will not try to store a value at buffer[length]. However, to make the equivalent data subset a value of length-1 must be passed.
This is an easy source of memory access errors, so we should be more consistent and use exclusive endpoints for data subsets