mirror of
https://github.com/c-cube/ocaml-containers.git
synced 2025-12-07 11:45:31 -05:00
add CCVector.to_seq_rev
This commit is contained in:
parent
05fc100be2
commit
6e99f1c8e8
2 changed files with 15 additions and 0 deletions
|
|
@ -531,6 +531,16 @@ let of_seq ?(init=create ()) seq =
|
||||||
|
|
||||||
let to_seq v k = iter k v
|
let to_seq v k = iter k v
|
||||||
|
|
||||||
|
let to_seq_rev v k =
|
||||||
|
for i = v.size - 1 downto 0 do
|
||||||
|
k (Array.unsafe_get v.vec i)
|
||||||
|
done
|
||||||
|
|
||||||
|
(*$Q
|
||||||
|
Q.(list int) (fun l -> \
|
||||||
|
let v= of_list l in v |> to_seq_rev |> Sequence.to_rev_list = l)
|
||||||
|
*)
|
||||||
|
|
||||||
let slice_seq v start len =
|
let slice_seq v start len =
|
||||||
assert (start >= 0 && len >= 0);
|
assert (start >= 0 && len >= 0);
|
||||||
fun k ->
|
fun k ->
|
||||||
|
|
|
||||||
|
|
@ -225,6 +225,11 @@ val of_seq : ?init:('a,rw) t -> 'a sequence -> ('a, rw) t
|
||||||
|
|
||||||
val to_seq : ('a,_) t -> 'a sequence
|
val to_seq : ('a,_) t -> 'a sequence
|
||||||
|
|
||||||
|
val to_seq_rev : ('a, _) t -> 'a sequence
|
||||||
|
(** [to_seq_rev v] returns the sequence of elements of [v] in reverse order,
|
||||||
|
that is, the last elements of [v] are iterated on first.
|
||||||
|
@since NEXT_RELEASE *)
|
||||||
|
|
||||||
val slice : ('a,rw) t -> ('a array * int * int)
|
val slice : ('a,rw) t -> ('a array * int * int)
|
||||||
(** Vector as an array slice. By doing it we expose the internal array, so
|
(** Vector as an array slice. By doing it we expose the internal array, so
|
||||||
be careful! *)
|
be careful! *)
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue