ocaml-containers/src/core/containers.ml
2016-04-22 23:01:37 +02:00

91 lines
1.9 KiB
OCaml

(* This file is free software, part of containers. See file "license" for more details. *)
(** {1 Drop-In replacement to Stdlib}
This module is meant to be opened if one doesn't want to use both, say,
[List] and [CCList]. Instead, [List] is now an alias to
{[struct
include List
include CCList
end
]}
@since 0.4
Changed [Opt] to [Option] to better reflect that this module is about the
['a option] type, with [module Option = CCOpt].
@since 0.5
Renamed from [CCPervasives] in [containers.pervasives], to [Containers]
in the core library [containers]
@since 0.10
*)
module Array = struct
include Array
include CCArray
end
module Bool = CCBool
module Error = CCError
module Float = CCFloat
module Format = struct
include Format
include CCFormat
end
module Fun = CCFun
module Hash = CCHash
module Int = CCInt
(** @since 0.14 *)
module Hashtbl = struct
include (Hashtbl : module type of Hashtbl
with type statistics = Hashtbl.statistics
and module Make = Hashtbl.Make
and type ('a,'b) t = ('a,'b) Hashtbl.t
)
(* still unable to include CCHashtbl itself, for the polymorphic functions *)
module type S' = CCHashtbl.S
module Make' = CCHashtbl.Make
module Counter = CCHashtbl.MakeCounter
module MakeDefault = CCHashtbl.MakeDefault
end
module List = struct
include List
include CCList
end
module Map = struct
module type OrderedType = Map.OrderedType
include CCMap
end
module Option = CCOpt
module Pair = CCPair
module Random = struct
include Random
include CCRandom
end
module Ref = CCRef
module Set = struct
module type OrderedType = Set.OrderedType
include CCSet
end
module String = struct
include String
include CCString
end
module Vector = CCVector
module Int64 = CCInt64
(** @since 0.13 *)
module Char = struct
include Char
include (CCChar : module type of CCChar with type t := t)
end
(** @since 0.17 *)
module Result = CCResult
(** @since 0.17 *)