Res.MakeBufferSourceFunctor that creates resizable buffers (=string arrays) from reallocation strategies.
module S : sig ... endIncludes all functions that exist in non-parameterized arrays.
Type of reallocation strategy
Type of resizable arrays
Type of the elements in the resizable array
set_strategy ra s sets the reallocation strategy of resizable array ra to s, possibly causing an immediate reallocation.
put_strategy ra s sets the reallocation strategy of resizable array ra to s. Reallocation is only done at later changes in size.
enforce_strategy ra forces a reallocation if necessary (e.g. after a put_strategy).
fill ra ofs len el fills resizable array ra from offset ofs with len elements el, possibly adding elements at the end. Raises Invalid_argument if offset ofs is larger than the length of the array.
blit ra1 ofs1 ra2 ofs2 len blits resizable array ra1 onto ra2 reading len elements from offset ofs1 and writing them to ofs2, possibly adding elements at the end of ra2. Raises Invalid_argument if ofs1 and len do not designate a valid subarray of ra1 or if ofs2 is larger than the length of ra2.
add_one ra el adds element el to resizable array ra, possibly causing a reallocation.
remove_one ra removes the last element of resizable array ra, possibly causing a reallocation.
remove_n ra n removes the last n elements of resizable array ra, possibly causing a reallocation.
remove_range ra ofs len removes len elements from resizable array ra starting at ofs and possibly causing a reallocation.
clear ra removes all elements from resizable array ra, possibly causing a reallocation.
swap_in_last ra n swaps the last element with the one at position n.
sof_array s ar converts a standard array to a resizable one, using strategy s.
of_array ar converts a standard array to a resizable one using the default strategy.
sof_list s l creates a resizable array using strategy s and the elements in list l.
of_list l creates a resizable array using the default strategy and the elements in list l.
iter f ra applies the unit-function f to each element in resizable array ra.
iteri f ra applies the unit-function f to each index and element in resizable array ra.
fold_left f a ra left-folds values in resizable array ra using function f and start accumulator a.
fold_right f a ra right-folds values in resizable array ra using function f and start accumulator a.
filter_in_place p ra as filter, but filters in place.
sof_string s ar converts a string to a resizable buffer using strategy s.
of_string ar converts a string to a resizable buffer using the default strategy.
Buffer-moduleNote that the function create n ignores the parameter n and uses the default strategy instead. You can supply a different strategy with creates s n as described above.
add_char b c appends the character c at the end of the buffer b.
add_string b s appends the string s at the end of the buffer b.
add_substring b s ofs len takes len characters from offset ofs in string s and appends them at the end of the buffer b.
add_buffer b1 b2 appends the current contents of buffer b2 at the end of buffer b1. b2 is not modified.
add_channel b ic n reads exactly n character from the input channel ic and stores them at the end of buffer b.
output_buffer oc b writes the current contents of buffer b on the output channel oc.