Module CCVector
Growable, mutable vector
- type 'a sequence- = ('a -> unit) -> unit
- type 'a klist- = unit -> [ `Nil | `Cons of 'a * 'a klist ]
- type 'a gen- = unit -> 'a option
- type 'a equal- = 'a -> 'a -> bool
- type 'a ord- = 'a -> 'a -> int
- type 'a printer- = Stdlib.Format.formatter -> 'a -> unit
- val create_with : ?capacity:int -> 'a -> ('a, rw) t
- Create a new vector, using the given value as a filler. - parameter capacity
- the size of the underlying array. caution: the value will likely not be GC'd before the vector is. 
 
- val return : 'a -> ('a, 'mut) t
- Singleton vector. - since
- 0.14
 
- val make : int -> 'a -> ('a, 'mut) t
- make n xmakes a vector of size- n, filled with- x.
- val init : int -> (int -> 'a) -> ('a, 'mut) t
- Init the vector with the given function and size. 
- val ensure_with : init:'a -> ('a, rw) t -> int -> unit
- Hint to the vector that it should have at least the given capacity. - parameter init
- if - capacity v = 0, used as a filler element for the underlying array (see- create_with).
 - since
- 0.14
 
- val ensure : ('a, rw) t -> int -> unit
- Hint to the vector that it should have at least the given capacity. Just a hint, will not be enforced if the vector is empty and - initis not provided.
- val is_empty : ('a, _) t -> bool
- Is the vector empty? 
- val equal : 'a equal -> ('a, _) t equal
- val compare : 'a ord -> ('a, _) t ord
- Total ordering on vectors. Lexicographic comparison. 
- val pop_exn : ('a, rw) t -> 'a
- Remove last element, or raise a Failure if empty. - raises Empty
- on an empty vector. 
 
- val top : ('a, _) t -> 'a option
- Top element, if present. - since
- 0.6
 
- val top_exn : ('a, _) t -> 'a
- Top element, if present. - raises Empty
- on an empty vector. 
 - since
- 0.6
 
- val shrink : ('a, rw) t -> int -> unit
- Shrink to the given size (remove elements above this size). Does nothing if the parameter is bigger than the current size. 
- val member : eq:('a -> 'a -> bool) -> 'a -> ('a, _) t -> bool
- Is the element a member of the vector? 
- val sort : ('a -> 'a -> int) -> ('a, _) t -> ('a, 'mut) t
- Sort the vector, returning a copy of it that is sorted w.r.t the given ordering. The vector itself is unchanged. 
- val uniq_sort : ('a -> 'a -> int) -> ('a, rw) t -> unit
- Sort the array and remove duplicates, in place (e.g. modifying the vector itself). 
- val iter : ('a -> unit) -> ('a, _) t -> unit
- Iterate on the vector's content. 
- val iteri : (int -> 'a -> unit) -> ('a, _) t -> unit
- Iterate on the vector, with indexes. 
- val map_in_place : ('a -> 'a) -> ('a, _) t -> unit
- Map elements of the vector in place - since
- 2.3
 
- val filter : ('a -> bool) -> ('a, _) t -> ('a, 'mut) t
- Filter elements from the vector. - filter p vleaves- vunchanged but returns a new vector that only contains elements of- vsatisfying- p.
- val fold : ('b -> 'a -> 'b) -> 'b -> ('a, _) t -> 'b
- Fold on elements of the vector 
- val exists : ('a -> bool) -> ('a, _) t -> bool
- Existential test (is there an element that satisfies the predicate?). 
- val for_all : ('a -> bool) -> ('a, _) t -> bool
- Universal test (do all the elements satisfy the predicate?). 
- val find : ('a -> bool) -> ('a, _) t -> 'a option
- Find an element that satisfies the predicate. 
- val find_exn : ('a -> bool) -> ('a, _) t -> 'a
- Find an element that satisfies the predicate, or - raises Not_found
- if no element does. 
 
- val find_map : ('a -> 'b option) -> ('a, _) t -> 'b option
- find_map f vreturns the first- Some y = f xfor- xin- v, or- Noneif- f x = Nonefor each- xin- v.- since
- 0.14
 
- val filter_map : ('a -> 'b option) -> ('a, _) t -> ('b, 'mut) t
- Map elements with a function, possibly filtering some of them out. 
- val filter_map_in_place : ('a -> 'a option) -> ('a, _) t -> unit
- Filter-map elements of the vector in place - since
- 2.3
 
- val flat_map_seq : ('a -> 'b sequence) -> ('a, _) t -> ('b, 'mut) t
- Like - flat_map, but using- sequencefor intermediate collections.- since
- 0.14
 
- val flat_map_list : ('a -> 'b list) -> ('a, _) t -> ('b, 'mut) t
- Like - flat_map, but using- listfor intermediate collections.- since
- 0.14
 
- val get : ('a, _) t -> int -> 'a
- Access element by its index, or - raises Invalid_argument
- if bad index. 
 
- val set : ('a, rw) t -> int -> 'a -> unit
- Modify element at given index, or - raises Invalid_argument
- if bad index. 
 
- val remove : ('a, rw) t -> int -> unit
- Remove the - n-thelement of the vector. Does NOT preserve the order of the elements (might swap with the last element).
- val rev_iter : ('a -> unit) -> ('a, _) t -> unit
- rev_iter f ais the same as- iter f (rev a), only more efficient.- since
- 0.14
 
- val size : ('a, _) t -> int
- Number of elements in the vector. 
- val capacity : (_, _) t -> int
- Number of elements the vector can contain without being resized. 
- val unsafe_get_array : ('a, rw) t -> 'a array
- Access the underlying shared array (do not modify!). - unsafe_get_array vis longer than- size v, but elements at higher index than- size vare undefined (do not access!).
- val (--) : int -> int -> (int, 'mut) t
- Range of integers, either ascending or descending (both included, therefore the result is never empty). Example: - 1 -- 10returns the vector- [1;2;3;4;5;6;7;8;9;10].
- val (--^) : int -> int -> (int, 'mut) t
- Range of integers, either ascending or descending, but excluding right. Example: - 1 --^ 10returns the vector- [1;2;3;4;5;6;7;8;9].- since
- 0.17
 
- val of_array : 'a array -> ('a, 'mut) t
- of_array areturns a vector corresponding to the array- a. Operates in- O(n)time.
- val of_list : 'a list -> ('a, 'mut) t
- val to_array : ('a, _) t -> 'a array
- to_array vreturns an array corresponding to the vector- v.
- val to_list : ('a, _) t -> 'a list
- Return a list with the elements contained in the vector. 
- val of_seq : ?init:('a, rw) t -> 'a sequence -> ('a, rw) t
- val to_seq : ('a, _) t -> 'a sequence
- Return a - sequencewith the elements contained in the vector.
- val to_seq_rev : ('a, _) t -> 'a sequence
- to_seq_rev vreturns the sequence of elements of- vin reverse order, that is, the last elements of- vare iterated on first.- since
- 0.14
 
- val slice : ('a, rw) t -> 'a array * int * int
- Vector as an array slice. By doing it we expose the internal array, so be careful!. 
- val slice_seq : ('a, _) t -> int -> int -> 'a sequence
- slice_seq v start lenis the sequence of elements from- v.(start)to- v.(start+len-1).
- val fill_empty_slots_with : ('a, _) t -> 'a -> unit
- fill_empty_slots_with v xputs- xin the slots of- v's underlying array that are not used (ie in the last- capacity v - length vslots). This is useful if you removed some elements from the vector and want to be sure they can be GC'd by erasing them from the vector.- since
- 2.4