mirror of
https://github.com/c-cube/ocaml-containers.git
synced 2025-12-11 13:38:32 -05:00
add CCVector.rev_iter
This commit is contained in:
parent
da188ec911
commit
526cda8ecb
2 changed files with 19 additions and 0 deletions
|
|
@ -586,6 +586,21 @@ let rev v =
|
||||||
rev (create ()) |> to_list = []
|
rev (create ()) |> to_list = []
|
||||||
*)
|
*)
|
||||||
|
|
||||||
|
let rev_iter f v =
|
||||||
|
for i = v.size-1 downto 0 do
|
||||||
|
f v.vec.(i)
|
||||||
|
done
|
||||||
|
|
||||||
|
(*$T
|
||||||
|
let v = of_list [1;2;3] in (fun f->rev_iter f v) |> Sequence.to_list = [3;2;1]
|
||||||
|
*)
|
||||||
|
|
||||||
|
(*$Q
|
||||||
|
Q.(list int) (fun l -> \
|
||||||
|
let v = of_list l in \
|
||||||
|
(fun f->rev_iter f v) |> Sequence.to_list = List.rev l)
|
||||||
|
*)
|
||||||
|
|
||||||
let size v = v.size
|
let size v = v.size
|
||||||
|
|
||||||
let length v = v.size
|
let length v = v.size
|
||||||
|
|
|
||||||
|
|
@ -228,6 +228,10 @@ val rev : ('a,_) t -> ('a, 'mut) t
|
||||||
val rev' : ('a, rw) t -> unit
|
val rev' : ('a, rw) t -> unit
|
||||||
(** Reverse the vector in place *)
|
(** Reverse the vector in place *)
|
||||||
|
|
||||||
|
val rev_iter : ('a -> unit) -> ('a,_) t -> unit
|
||||||
|
(** [rev_iter f a] is the same as [iter f (rev a)], only more efficient.
|
||||||
|
@since NEXT_RELEASE *)
|
||||||
|
|
||||||
val size : ('a,_) t -> int
|
val size : ('a,_) t -> int
|
||||||
(** number of elements in vector *)
|
(** number of elements in vector *)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue