package accessor_base

  1. Overview
  2. Docs

Module Accessor_base.MapSource

See also: Accessor_core.Map

Sourceval at : 'key -> (_, 'data Base.option, ('key, 'data, _) Base.Map.t, [< Accessor_base__.Import.field ]) Accessor.t

If key maps to some data in the map being accessed, at key accesses Some data, otherwise it accesses None. You can use at key to determine or control whether there is a mapping for key at all. For example, Accessor.set (at key) map None removes any mapping for key in map.

Sourceval ati : 'key -> ('key * _, 'data Base.option, ('key, 'data, _) Base.Map.t, [< Accessor_base__.Import.field ]) Accessor.Indexed.t

ati is the indexed version of at. The index is simply whatever key was supplied as an argument.

Sourceval found : 'key -> (_, 'data, ('key, 'data, _) Base.Map.t, [< Accessor_base__.Import.optional ]) Accessor.t

found key is like at key, but it does not give any control over whether key exists in the map. It either accesses the data or it doesn't, depending on whether it exists.

Sourceval foundi : 'key -> ('key * _, 'data, ('key, 'data, _) Base.Map.t, [< Accessor_base__.Import.optional ]) Accessor.Indexed.t

foundi is the indexed version of found. The index is simply whatever key was supplied as an argument.

Sourceval each : ('i -> 'a -> 'b, 'i -> ('k, 'a, 'cmp) Base.Map.t -> ('k, 'b, 'cmp) Base.Map.t, [< Accessor_base__.Import.many ]) Accessor.General.t

each accesses each datum in the map.

Sourceval eachi : (('k * 'i) -> 'a -> 'b, 'i -> ('k, 'a, 'cmp) Base.Map.t -> ('k, 'b, 'cmp) Base.Map.t, [< Accessor_base__.Import.many ]) Accessor.General.t

eachi is the indexed version of each. The indices are the keys that map to the data being accessed.

Sourceval each_in_subrange : lower_bound:'k Base.Maybe_bound.t -> upper_bound:'k Base.Maybe_bound.t -> (_, 'a, ('k, 'a, _) Base.Map.t, [< Accessor_base__.Import.many ]) Accessor.t

Like each, but only accesses data within the specified subrange of keys.

Sourceval each_in_subrangei : lower_bound:'k Base.Maybe_bound.t -> upper_bound:'k Base.Maybe_bound.t -> ('k * _, 'a, ('k, 'a, _) Base.Map.t, [< Accessor_base__.Import.many ]) Accessor.Indexed.t

Like eachi, but only accesses data within the specified subrange of keys.

Sourceval empty_default : ('k1, 'cmp1) Base.Comparator.Module.t -> ('i -> ('k1, 'a, 'cmp1) Base.Map.t -> ('k2, 'b, 'cmp2) Base.Map.t, 'i -> ('k1, 'a, 'cmp1) Base.Map.t Base.option -> ('k2, 'b, 'cmp2) Base.Map.t Base.option, [< Accessor_base__.Import.isomorphism ]) Accessor.General.t

empty_default (module M) is an isomorphism between Map.t option and Map.t, treating None identically with Map.empty (module M). Note that this isn't well-behaved in general because it doesn't satisfy construct (get a) = a:

  construct (get (Some (Map.empty (module M))))
  = construct (Map.empty (module M))
  = None
Sourceval of_accessor : ('k, 'cmp) Base.Comparator.Module.t -> ('i -> 'a -> _, Base.unit -> 'at -> _, [> Accessor_base__.Import.many_getter ]) Accessor.General.t -> 'at -> key_of_index:('i Accessor.Index.t -> 'k) -> [ `Duplicate_key of 'k | `Ok of ('k, 'a, 'cmp) Base.Map.t ]

of_accessor (module M) accessor x ~key_of_index is a M.Map.t created by traversing x with accessor, mapping each index to the data being accessed.

Sourceval of_accessor_exn : ('k, 'cmp) Base.Comparator.Module.t -> ('i -> 'a -> _, Base.unit -> 'at -> _, [> Accessor_base__.Import.many_getter ]) Accessor.General.t -> 'at -> key_of_index:('i Accessor.Index.t -> 'k) -> ('k, 'a, 'cmp) Base.Map.t

Raising version of of_accessor.

Sourceval of_accessor_or_error : ('k, 'cmp) Base.Comparator.Module.t -> ('i -> 'a -> _, Base.unit -> 'at -> _, [> Accessor_base__.Import.many_getter ]) Accessor.General.t -> 'at -> key_of_index:('i Accessor.Index.t -> 'k) -> ('k, 'a, 'cmp) Base.Map.t Base.Or_error.t

Or_error version of of_accessor.

Sourceval of_accessor_fold : ('k, 'cmp) Base.Comparator.Module.t -> ('i -> 'a -> _, Base.unit -> 'at -> _, [> Accessor_base__.Import.many_getter ]) Accessor.General.t -> 'at -> key_of_index:('i Accessor.Index.t -> 'k) -> init:'acc -> f:('acc -> 'a -> 'acc) -> ('k, 'acc, 'cmp) Base.Map.t

A version of of_accessor that allows you to accumulate multiple values per key with a function.

Sourceval of_accessor_multi : ('k, 'cmp) Base.Comparator.Module.t -> ('i -> 'a -> _, Base.unit -> 'at -> _, [> Accessor_base__.Import.many_getter ]) Accessor.General.t -> 'at -> key_of_index:('i Accessor.Index.t -> 'k) -> ('k, 'a Base.list, 'cmp) Base.Map.t

A version of of_accessor that allows you to collect multiple values per key into a list.

Sourceval of_accessor_reduce : ('k, 'cmp) Base.Comparator.Module.t -> ('i -> 'a -> _, Base.unit -> 'at -> _, [> Accessor_base__.Import.many_getter ]) Accessor.General.t -> 'at -> key_of_index:('i Accessor.Index.t -> 'k) -> f:('a -> 'a -> 'a) -> ('k, 'a, 'cmp) Base.Map.t

A version of of_accessor that allows you to combine multiple values per key with a function.

include Accessor.Applicative_without_return.S3 with type ('data, 'key, 'cmp) t := ('key, 'data, 'cmp) Base.Map.t
Sourceval map : (Base.unit -> 'a -> 'b, Base.unit -> 'at -> 'bt, [> Accessor.Subtyping.nonempty ]) Accessor.General.t -> 'at -> f:('a -> ('d, 'b, 'e) Base.Map.t) -> ('d, 'bt, 'e) Base.Map.t
Sourceval mapi : ('i -> 'a -> 'b, Base.unit -> 'at -> 'bt, [> Accessor.Subtyping.nonempty ]) Accessor.General.t -> 'at -> f:('i Accessor.Index.t -> 'a -> ('d, 'b, 'e) Base.Map.t) -> ('d, 'bt, 'e) Base.Map.t
Sourceval iter : (Base.unit -> 'a -> _, Base.unit -> 'at -> _, [> Accessor.Subtyping.nonempty_getter ]) Accessor.General.t -> 'at -> f:('a -> ('d, Base.unit, 'e) Base.Map.t) -> ('d, Base.unit, 'e) Base.Map.t
Sourceval iteri : ('i -> 'a -> _, Base.unit -> 'at -> _, [> Accessor.Subtyping.nonempty_getter ]) Accessor.General.t -> 'at -> f:('i Accessor.Index.t -> 'a -> ('d, Base.unit, 'e) Base.Map.t) -> ('d, Base.unit, 'e) Base.Map.t
Sourceval sum : (module Base.Container.Summable with type t = 'sum) -> (Base.unit -> 'a -> _, Base.unit -> 'at -> _, [> Accessor.Subtyping.nonempty_getter ]) Accessor.General.t -> 'at -> f:('a -> ('d, 'sum, 'e) Base.Map.t) -> ('d, 'sum, 'e) Base.Map.t
Sourceval sumi : (module Base.Container.Summable with type t = 'sum) -> ('i -> 'a -> _, Base.unit -> 'at -> _, [> Accessor.Subtyping.nonempty_getter ]) Accessor.General.t -> 'at -> f:('i Accessor.Index.t -> 'a -> ('d, 'sum, 'e) Base.Map.t) -> ('d, 'sum, 'e) Base.Map.t
Sourceval count : (Base.unit -> 'a -> _, Base.unit -> 'at -> _, [> Accessor.Subtyping.nonempty_getter ]) Accessor.General.t -> 'at -> f:('a -> ('d, Base.bool, 'e) Base.Map.t) -> ('d, Base.int, 'e) Base.Map.t
Sourceval counti : ('i -> 'a -> _, Base.unit -> 'at -> _, [> Accessor.Subtyping.nonempty_getter ]) Accessor.General.t -> 'at -> f:('i Accessor.Index.t -> 'a -> ('d, Base.bool, 'e) Base.Map.t) -> ('d, Base.int, 'e) Base.Map.t
Sourceval all : (Base.unit -> ('d, 'a, 'e) Base.Map.t -> 'a, Base.unit -> 'at -> 'bt, [> Accessor.Subtyping.nonempty ]) Accessor.General.t -> 'at -> ('d, 'bt, 'e) Base.Map.t
Sourceval all_unit : (Base.unit -> ('d, Base.unit, 'e) Base.Map.t -> _, Base.unit -> 'at -> _, [> Accessor.Subtyping.nonempty_getter ]) Accessor.General.t -> 'at -> ('d, Base.unit, 'e) Base.Map.t
Sourceval map_reduce_nonempty : (Base.unit -> 'a -> _, Base.unit -> 'at -> _, [> Accessor.Subtyping.nonempty_getter ]) Accessor.General.t -> 'at -> combine:('b -> 'b -> 'b) -> f:('a -> ('d, 'b, 'e) Base.Map.t) -> ('d, 'b, 'e) Base.Map.t
Sourceval map_reduce_nonemptyi : ('i -> 'a -> _, Base.unit -> 'at -> _, [> Accessor.Subtyping.nonempty_getter ]) Accessor.General.t -> 'at -> combine:('b -> 'b -> 'b) -> f:('i Accessor.Index.t -> 'a -> ('d, 'b, 'e) Base.Map.t) -> ('d, 'b, 'e) Base.Map.t
OCaml

Innovation. Community. Security.