mirror of
https://github.com/c-cube/ocaml-containers.git
synced 2025-12-06 19:25:28 -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_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 =
|
||||
assert (start >= 0 && len >= 0);
|
||||
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_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)
|
||||
(** Vector as an array slice. By doing it we expose the internal array, so
|
||||
be careful! *)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue