| ( * ) [CCInt64] | |
| ( *** ) [CCPair] | 
Map on both sides of a tuple
 
 | 
| ( *> ) [CCParse.Infix] | |
| ( *> ) [CCParse] | a *> b parses a, then parses b into x, and returns x.
 | 
| ( <* ) [CCParse.Infix] | |
| ( <* ) [CCParse] | a <* b parses a into x, parses b and ignores its result,
    and returns x
 | 
| (%) [CCFun] | 
Mathematical composition
 
 | 
| (%>) [CCFun] | 
Alias to  
compose
 | 
| (&&&) [CCPair] | f &&& g is fun x -> f x, g x.
 | 
| (+) [CCInt64] | |
| (-) [CCInt64] | |
| (--) [CCRAL.Infix] | 
Alias to  
CCRAL.range
 | 
| (--) [CCFQueue] | a -- b is the integer range from a to b, both included.
 | 
| (--) [CCKList.Infix] | |
| (--) [CCKList] | a -- b is the range of integers containing
    a and b (therefore, never empty)
 | 
| (--) [CCArrayLabels] | 
Range array
 
 | 
| (--) [CCListLabels.Infix] | |
| (--) [CCListLabels] | 
Infix alias for  
range
 | 
| (--) [CCArray] | 
Range array
 
 | 
| (--) [CCInt.Infix] | 
Alias to  
CCInt.range
 | 
| (--) [CCList.Infix] | |
| (--) [CCList] | 
Infix alias for  
range
 | 
| (--) [CCVector] | 
Range of integers, either ascending or descending (both included,
    therefore the result is never empty).
 
 | 
| (--^) [CCRAL.Infix] | a -- b is the integer range from a to b, where b is excluded.
 | 
| (--^) [CCFQueue] | a -- b is the integer range from a to b, where b is excluded.
 | 
| (--^) [CCKList.Infix] | |
| (--^) [CCKList] | a -- b is the integer range from a to b, where b is excluded.
 | 
| (--^) [CCArrayLabels] | 
Range array, excluding right bound
 
 | 
| (--^) [CCListLabels.Infix] | |
| (--^) [CCListLabels] | 
Infix alias for  
range'
 | 
| (--^) [CCArray] | 
Range array, excluding right bound
 
 | 
| (--^) [CCInt.Infix] | 
Alias to  
CCInt.range'
 | 
| (--^) [CCList.Infix] | |
| (--^) [CCList] | 
Infix alias for  
range'
 | 
| (--^) [CCVector] | 
Range of integers, either ascending or descending, but excluding right.,
    Example:  
1 --^ 10 returns the vector [1;2;3;4;5;6;7;8;9]
 | 
| (/) [CCInt64] | |
| (<$>) [CCListLabels.Infix] | |
| (<$>) [CCListLabels] | |
| (<$>) [CCOpt.Infix] | |
| (<$>) [CCOpt] | |
| (<$>) [CCList.Infix] | |
| (<$>) [CCList] | |
| (<) [CCFloat.Infix] | |
| (<) [CCInt.Infix] | |
| (<*>) [CCPool.Make.Fut.Infix] | |
| (<*>) [CCPool.Make.Fut] | 
Alias to  
CCPool.Make.Fut.app
 | 
| (<*>) [CCRAL.Infix] | 
Alias to  
CCRAL.app
 | 
| (<*>) [CCKList.Infix] | |
| (<*>) [CCKList] | |
| (<*>) [CCListLabels.Infix] | |
| (<*>) [CCListLabels] | |
| (<*>) [CCParse.Infix] | |
| (<*>) [CCParse] | 
Applicative
 
 | 
| (<*>) [CCResult.Infix] | |
| (<*>) [CCResult] | a <*> b evaluates a and b, and, in case of success, returns
    Ok (a b).
 | 
| (<*>) [CCRandom] | |
| (<*>) [CCOpt.Infix] | |
| (<*>) [CCOpt] | |
| (<*>) [CCList.Infix] | |
| (<*>) [CCList] | |
| (<+>) [CCOpt.Infix] | |
| (<+>) [CCOpt] | a <+> b is a if a is Some _, b otherwise
 | 
| (<.>) [CCKList.Infix] | |
| (<.>) [CCKList] | 
Infix version of  
CCKList.fair_app
 | 
| (<<<) [CCPair] | 
Map on the left side of the tuple
 
 | 
| (<=) [CCFloat.Infix] | |
| (<=) [CCInt.Infix] | |
| (<>) [CCFloat.Infix] | |
| (<>) [CCInt.Infix] | |
| (<?>) [CCParse.Infix] | |
| (<?>) [CCParse] | a <?> msg behaves like a, but if a fails without
    consuming any input, it fails with msg
    instead.
 | 
| (<?>) [CCRandom] | a <?> b is a choice operator.
 | 
| (<?>) [CCOrd.Infix] | |
| (<?>) [CCOrd] | c1 <?> (ord, x, y) returns the same as c1 if c1 is not 0;
    otherwise it uses ord to compare the two values x and y,
    of type 'a.
 | 
| (<|>) [CCParse.Infix] | |
| (<|>) [CCParse] | a <|> b tries to parse a, and if a fails without
    consuming any input, backtracks and tries
    to parse b, otherwise it fails as a.
 | 
| (=) [CCFloat.Infix] | |
| (=) [CCInt.Infix] | |
| (>) [CCFloat.Infix] | |
| (>) [CCInt.Infix] | |
| (>=) [CCFloat.Infix] | |
| (>=) [CCInt.Infix] | |
| (>>) [CCPool.Make.Fut.Infix] | |
| (>>) [CCPool.Make.Fut] | |
| (>>-) [CCKList.Infix] | |
| (>>-) [CCKList] | 
Infix version of  
CCKList.fair_flat_map
 | 
| (>>=) [CCPool.Make.Fut.Infix] | |
| (>>=) [CCPool.Make.Fut] | |
| (>>=) [CCRAL.Infix] | 
Alias to  
CCRAL.flat_map
 | 
| (>>=) [CCGraph.Seq] | |
| (>>=) [CCLazy_list.Infix] | |
| (>>=) [CCKList.MONAD] | |
| (>>=) [CCKList.Infix] | |
| (>>=) [CCKList] | |
| (>>=) [CCArrayLabels] | 
Infix version of  
CCArrayLabels.flat_map
 | 
| (>>=) [CCListLabels.MONAD] | |
| (>>=) [CCListLabels.Infix] | |
| (>>=) [CCListLabels] | |
| (>>=) [CCParse.Infix] | |
| (>>=) [CCParse] | 
Monadic bind
 
 | 
| (>>=) [CCResult.MONAD] | |
| (>>=) [CCResult.Infix] | |
| (>>=) [CCResult] | |
| (>>=) [CCRandom] | |
| (>>=) [CCArray] | 
Infix version of  
CCArray.flat_map
 | 
| (>>=) [CCFun.Monad] | |
| (>>=) [CCOpt.Infix] | |
| (>>=) [CCOpt] | 
Monadic bind
 
 | 
| (>>=) [CCList.MONAD] | |
| (>>=) [CCList.Infix] | |
| (>>=) [CCList] | |
| (>>=) [CCVector] | 
Infix version of  
CCVector.flat_map
 | 
| (>>>) [CCPair] | 
Map on the right side of the tuple
 
 | 
| (>>|) [CCArrayLabels] | 
Infix version of  
CCArrayLabels.map
 | 
| (>>|) [CCArray] | 
Infix version of  
CCArray.map
 | 
| (>|=) [CCPool.Make.Fut.Infix] | |
| (>|=) [CCPool.Make.Fut] | 
Alias to  
CCPool.Make.Fut.map
 | 
| (>|=) [CCRAL.Infix] | 
Alias to  
CCRAL.map
 | 
| (>|=) [CCFQueue] | 
Synonym to  
CCFQueue.map
 | 
| (>|=) [CCLazy_list.Infix] | |
| (>|=) [CCKList.Infix] | |
| (>|=) [CCKList] | |
| (>|=) [CCKTree] | |
| (>|=) [CCEqual.Infix] | |
| (>|=) [CCEqual] | 
Infix equivalent of  
CCEqual.map
 | 
| (>|=) [CCArrayLabels] | 
Infix version of  
CCArrayLabels.map
 | 
| (>|=) [CCListLabels.Infix] | |
| (>|=) [CCListLabels] | 
Infix version of  
map with reversed arguments
 | 
| (>|=) [CCParse.Infix] | |
| (>|=) [CCParse] | 
Map
 
 | 
| (>|=) [CCResult.Infix] | |
| (>|=) [CCResult] | |
| (>|=) [CCRandom] | |
| (>|=) [CCOrd.Infix] | |
| (>|=) [CCOrd] | 
Infix equivalent of  
CCOrd.map
 | 
| (>|=) [CCArray] | 
Infix version of  
CCArray.map
 | 
| (>|=) [CCFun.Monad] | |
| (>|=) [CCOpt.Infix] | |
| (>|=) [CCOpt] | 
Infix version of  
CCOpt.map
 | 
| (>|=) [CCList.Infix] | |
| (>|=) [CCList] | 
Infix version of  
map with reversed arguments
 | 
| (>|=) [CCVector] | 
Infix version of  
CCVector.map
 | 
| (@) [CCListLabels.Infix] | |
| (@) [CCListLabels] | |
| (@) [CCList.Infix] | |
| (@) [CCList] | |
| (@+) [CCRAL.Infix] | 
Cons (alias to  
CCRAL.cons)
 | 
| (@@) [CCFun] | f @@ x is the same as f x, but right-associative.
 | 
| (asr) [CCInt64] | |
| (land) [CCInt64] | |
| (lor) [CCInt64] | |
| (lsl) [CCInt64] | |
| (lsr) [CCInt64] | |
| (lxor) [CCInt64] | |
| (mod) [CCInt64] | |
| (|>) [CCFun] | 
Pipeline.
 
 | 
| (~-) [CCInt64] | |
| ?| [CCUnix.Infix] | 
Infix version of  
CCUnix.call
 | 
| ?|& [CCUnix.Infix] | 
Infix version of  
CCUnix.async_call
 | 
| __ocaml_lex_tables [CCSexp_lex] | |
| __ocaml_lex_token_rec [CCSexp_lex] | |
A  | |
| above [CCTrie.S] | 
All bindings whose key is bigger or equal to the given key, in
      ascending order
 
 | 
| abs [CCInt64] | |
| abs [CCFloat] | |
| acquire [CCSemaphore] | acquire n s blocks until get s >= n, then atomically
    sets s := !s - n
 | 
| activate [CCThread.Barrier] | activate b unblocks all threads that were waiting on b
 | 
| activated [CCThread.Barrier] | activated b returns true iff activate b was called, and reset b
      was not called since.
 | 
| active [CCTimer] | 
Returns  
true until stop t has been called.
 | 
| active [CCPool.Make] | active () is true as long as stop() has not been called yet
 | 
| active [CCHashTrie.Transient] | active i is not (frozen i)
 | 
| add [CCHet.Map] | |
| add [CCHet.Tbl] | |
| add [CCWBTree.S] | |
| add [CCHashTrie.S] | |
| add [CCGraph.MAP] | 
Add a vertex, possibly with no outgoing edge
 
 | 
| add [CCIntMap] | |
| add [CCMixmap.S] | 
Bind the key to the value, using  
inj
 | 
| add [CCPersistentHashtbl.S] | 
Add the binding to the table, returning a new table.
 
 | 
| add [CCFlatHashtbl.S] | add tbl k v adds k -> v to tbl, possibly replacing the old
      value associated with k.
 | 
| add [CCTrie.S] | 
Add a binding to the trie (possibly erasing the previous one)
 
 | 
| add [CCMultiSet.S] | |
| add [CCMultiMap.BIDIR] | 
Add a binding (left,right)
 
 | 
| add [CCMultiMap.S] | 
Add a key/value binding
 
 | 
| add [CCFloat] | |
| add [CCHeap.S] | 
Synonym to  
CCHeap.S.insert
 | 
| add_array [CCRAL] | |
| add_ctx [CCResult] | add_ctx msg leaves Ok x untouched, but transforms
    Error s into Error s' where s' contains the additional
    context given by msg
 | 
| add_ctxf [CCResult] | add_ctxf format_message is similar to CCResult.add_ctx but with
    Format for printing the message (eagerly).
 | 
| add_edge [CCGraph.MAP] | |
| add_gen [CCRAL] | |
| add_gen [CCWBTree.S] | |
| add_gen [CCHashTrie.S] | |
| add_gen [CCIntMap] | |
| add_gen [CCHeap.S] | |
| add_gen_mut [CCHashTrie.S] | |
| add_klist [CCIntMap] | |
| add_klist [CCHeap.S] | |
| add_list [CCHet.Map] | |
| add_list [CCHet.Tbl] | |
| add_list [CCRAL] | |
| add_list [CCWBTree.S] | |
| add_list [CCHashTrie.S] | |
| add_list [CCGraph.MAP] | |
| add_list [CCIntMap] | |
| add_list [CCPersistentHashtbl.S] | |
| add_list [CCMap.S] | |
| add_list [CCHashtbl.S] | add_list tbl x y adds y to the list x is bound to.
 | 
| add_list [CCHashtbl.Poly] | add_list tbl x y adds y to the list x is bound to.
 | 
| add_list [CCSet.S] | |
| add_list [CCHeap.S] | 
Add the elements of the list to the heap.
 
 | 
| add_list_mut [CCHashTrie.S] | |
| add_mult [CCMultiSet.S] | add_mult set x n adds n occurrences of x to set
 | 
| add_mut [CCHashTrie.S] | add_mut ~id k v m behaves like add k v m, except it will mutate
      in place whenever possible.
 | 
| add_nodup [CCListLabels] | add_nodup x set adds x to set if it was not already present.
 | 
| add_nodup [CCList] | add_nodup x set adds x to set if it was not already present.
 | 
| add_pairs [CCMultiMap.BIDIR] | 
Add pairs
 
 | 
| add_seq [CCHet.Map] | |
| add_seq [CCHet.Tbl] | |
| add_seq [CCRAL] | |
| add_seq [CCWBTree.S] | |
| add_seq [CCHashTrie.S] | |
| add_seq [CCHashSet.S] | |
| add_seq [CCGraph.MAP] | |
| add_seq [CCIntMap] | |
| add_seq [CCPersistentHashtbl.S] | |
| add_seq [CCMap.S] | |
| add_seq [CCHashtbl.S] | 
Add the corresponding pairs to the table, using  
Hashtbl.add.
 | 
| add_seq [CCHashtbl.Poly] | 
Add the corresponding pairs to the table, using  
Hashtbl.add.
 | 
| add_seq [CCSet.S] | |
| add_seq [CCHeap.S] | |
| add_seq_back [CCFQueue] | |
| add_seq_back [CCDeque] | add_seq_back q seq adds elements of seq into the back of q,
    in order.
 | 
| add_seq_count [CCHashtbl.S] | |
| add_seq_count [CCHashtbl.Poly] | |
| add_seq_front [CCFQueue] | |
| add_seq_front [CCDeque] | add_seq_front q seq adds elements of seq into the front of q,
    in reverse order.
 | 
| add_seq_mut [CCHashTrie.S] | |
| after [CCTimer] | 
Call the callback  
f after the given number of seconds.
 | 
| and_then [CCPool.Make.Fut] | 
Wait for the first future to succeed, then launch the second
 
 | 
| app [CCPool.Make.Fut] | app f x applies the result of f to the result of x
 | 
| app [CCRAL] | |
| app_async [CCPool.Make.Fut] | app f x applies the result of f to the result of x, in
        a separated job scheduled in the pool
 | 
| append [CCImmutArray] | |
| append [CCRAL] | |
| append [CCPersistentArray] | 
Append the two arrays
 
 | 
| append [CCRingBuffer.S] | append b ~into copies all data from b and adds it at the
      end of into
 | 
| append [CCFQueue] | 
Append two queues.
 
 | 
| append [CCLazy_list] | 
Lazy concatenation
 
 | 
| append [CCKList] | |
| append [CCListLabels] | 
Safe version of append
 
 | 
| append [CCIO.File] | 
Append the given string into the given file
 
 | 
| append [CCList] | 
Safe version of append
 
 | 
| append [CCVector] | append a b adds all elements of b to a
 | 
| append_array [CCVector] | 
Same as append, with an array
 
 | 
| append_back [CCDeque] | append_back ~into q adds all elements of q at the back of into.
 | 
| append_exn [CCIO.File] | 
Append the given string into the given file, possibly raising
 
 | 
| append_front [CCDeque] | append_front ~into q adds all elements of q at the front
    of into
    O(length q) in time
 | 
| append_gen [CCVector] | 
Append content of generator
 
 | 
| append_list [CCVector] | 
Append content of list
 
 | 
| append_seq [CCVector] | 
Append content of sequence
 
 | 
| array [CCEqual] | |
| array [CCFormat.Dump] | |
| array [CCFormat] | |
| array [CCOrd] | |
| array [CCHash] | |
| array_comm [CCHash] | 
Commutative version of  
CCHash.array.
 | 
| arrayi [CCFormat] | |
| as_graph [CCGraph.MAP] | 
Graph view of the map
 
 | 
| as_tree [CCHashTrie.S] | 
For debugging purpose: explore the structure of the tree,
      with  
`L (h,l) being a leaf (with shared hash h)
      and `N an inner node
 | 
| as_tree [CCIntMap] | |
| async_call [CCUnix] | 
Spawns a subprocess, like  
CCUnix.call, but the subprocess's channels are
    line generators and line sinks (for stdin).
 | 
| at [CCTimer] | 
Create a future that evaluates to  
() at the given Unix timestamp
 | 
| atom [CCSexp] | 
Build an atom directly from a string
 
 | 
B  | |
| below [CCTrie.S] | 
All bindings whose key is smaller or equal to the given key,
      in decreasing order
 
 | 
| bfs [CCGraph.Traverse] | |
| bfs [CCKTree] | 
Breadth-first traversal of the tree
 
 | 
| bfs_tag [CCGraph.Traverse] | |
| bindings [CCMixmap.S] | 
Iterate on all bindings
 
 | 
| bindings [CCMixtbl] | 
Iterate on all bindings
 
 | 
| bindings_of [CCMixmap.S] | 
All the bindings that come from the corresponding injection
 
 | 
| bindings_of [CCMixtbl] | 
All the bindings that come from the corresponding injection
 
 | 
| blit [CCRingBuffer.Array.S] | blit t s arr i len copies len elements from arr starting at i
        to position s from t
 | 
| blit [CCArrayLabels] | blit from i into j len copies len elements from the first array
    to the second.
 | 
| blit [CCArray_slice] | blit from i into j len copies len elements from the first array
    to the second.
 | 
| blit [CCString.S] | 
Similar to  
String.blit.
 | 
| blit [CCArray] | blit from i into j len copies len elements from the first array
    to the second.
 | 
| blit_from [CCRingBuffer.S] | blit_from buf from_buf o len copies the slice o, ... o + len - 1 from
      a input buffer from_buf to the end of the buffer.
 | 
| blit_into [CCRingBuffer.S] | blit_into buf to_buf o len copies at most len elements from buf
      into to_buf starting at offset o in s.
 | 
| bool [CCEqual] | |
| bool [CCFormat.Dump] | |
| bool [CCFormat] | |
| bool [CCOrd] | |
| bool [CCHash] | |
| both [CCResult] | both a b, in case of success, returns Ok (o, o') with the ok values
    of a and b.
 | 
| bsearch [CCArrayLabels] | bsearch ?cmp key arr finds the index of the object key in the array arr,
    provided arr is sorted using cmp.
 | 
| bsearch [CCArray_slice] | bsearch ?cmp x arr finds the index of the object x in the array arr,
    provided arr is sorted using cmp.
 | 
| bsearch [CCArray] | bsearch ?cmp x arr finds the index of the object x in the array arr,
    provided arr is sorted using cmp.
 | 
C  | |
| call [CCUnix] | call cmd is similar to call_full cmd but returns
    a tuple stdout, stderr, errcode instead of an object.
 | 
| call_full [CCUnix] | call_full cmd wraps the result of Unix.open_process_full cmd into an
    object.
 | 
| call_stdout [CCUnix] | |
| capacity [CCBlockingQueue] | 
Number of values the queue can hold
 
 | 
| capacity [CCRingBuffer.S] | 
Length of the inner buffer.
 
 | 
| capacity [CCBV] | 
The number of bits this bitvector can store without resizing.
 
 | 
| capacity [CCVector] | 
Number of elements the vector can contain without being resized
 
 | 
| capitalize_ascii [CCString] | 
See  
String.
 | 
| cardinal [CCHet.Map] | |
| cardinal [CCWBTree.S] | |
| cardinal [CCHashTrie.S] | |
| cardinal [CCHashSet.S] | cardinal s returns the number of elements in s
 | 
| cardinal [CCMixset] | 
Number of mappings
 
 | 
| cardinal [CCIntMap] | 
Number of bindings in the map.
 
 | 
| cardinal [CCMixmap.S] | 
Number of bindings
 
 | 
| cardinal [CCBV] | 
Number of bits set to one, seen as a set of bits.
 
 | 
| cardinal [CCMultiSet.S] | 
Number of distinct elements
 
 | 
| cardinal_left [CCMultiMap.BIDIR] | 
Number of distinct left keys
 
 | 
| cardinal_right [CCMultiMap.BIDIR] | 
Number of distinct right keys
 
 | 
| cartesian_product [CCList] | 
For example:
     
    invariant: cartesian_product l = map_product id l.
 | 
| catch [CCResult] | catch e ~ok ~err calls either ok or err depending on
    the value of e.
 | 
| char [CCParse] | char c parses the char c and nothing else
 | 
| char [CCFormat.Dump] | |
| char [CCFormat] | |
| char [CCHash] | |
| char_if [CCParse] | char_if f parses a character c if f c = true
 | 
| chars1_if [CCParse] | 
Same as  
CCParse.chars_if, but only non-empty strings
 | 
| chars_if [CCParse] | chars_if f parses a string of chars that satisfy f
 | 
| choice [CCOpt] | choice returns the first non-None element of the list, or None
 | 
| choice_seq [CCOpt] | choice_seq s is similar to CCOpt.choice, but works on sequences.
 | 
| choose [CCWBTree.S] | |
| choose [CCHashTrie.S] | |
| choose [CCIntMap] | |
| choose [CCResult] | choose l selects a member of l that is a Ok _ value,
    or returns Error l otherwise, where l is the list of errors.
 | 
| choose [CCRandom] | 
Choose a generator within the list.
 
 | 
| choose_a [CCPool.Make.Fut] | 
Choose among those futures (the first to terminate).
 
 | 
| choose_array [CCRandom] | |
| choose_exn [CCWBTree.S] | |
| choose_exn [CCHashTrie.S] | |
| choose_exn [CCIntMap] | |
| choose_exn [CCRandom] | 
Same as  
CCRandom.choose but without option.
 | 
| choose_l [CCPool.Make.Fut] | 
Choose among those futures (the first to terminate).
 
 | 
| choose_return [CCRandom] | 
Choose among the list
 
 | 
| chop_prefix [CCString] | chop_pref ~pre s removes pre from s if pre really is a prefix
    of s, returns None otherwise
 | 
| chop_suffix [CCString] | chop_suffix ~suf s removes suf from s if suf really is a suffix
    of s, returns None otherwise
 | 
| classify [CCFloat] | |
| clear [CCHashSet.S] | clear s removes all elements from s
 | 
| clear [CCRingBuffer.S] | 
Clear the content of the buffer.
 
 | 
| clear [CCMixtbl] | 
Clear content of the hashtable
 
 | 
| clear [CCBV] | 
Set every bit to 0
 
 | 
| clear [CCDeque] | 
Remove all elements
 
 | 
| clear [CCCache] | 
Clear the content of the cache
 
 | 
| clear [CCListLabels.Ref] | 
Remove all elements
 
 | 
| clear [CCList.Ref] | 
Remove all elements
 
 | 
| clear [CCVector] | 
Clear the content of the vector
 
 | 
| combine [CCHash] | |
| combine [CCList] | 
Similar to  
List.combine but tail-recursive.
 | 
| combine2 [CCHash] | |
| combine3 [CCHash] | |
| combine4 [CCHash] | |
| combine_gen [CCList] | 
Lazy version of  
CCList.combine.
 | 
| compare [CCSexp] | |
| compare [CCRAL] | 
Lexicographic comparison
 
 | 
| compare [CCWBTree.ORD] | |
| compare [CCIntMap] | 
Total order between maps; the precise order is unspecified .
 
 | 
| compare [CCMixmap.ORD] | |
| compare [CCDeque] | compare a b compares lexicographically a and b
 | 
| compare [CCTrie.ORDERED] | |
| compare [CCTrie.WORD] | |
| compare [CCMultiSet.S] | |
| compare [CCMultiMap.OrderedType] | |
| compare [CCMultiMap.S] | 
Total order on multimaps
 
 | 
| compare [CCKList] | 
Lexicographic comparison.
 
 | 
| compare [CCArrayLabels] | |
| compare [CCListLabels] | |
| compare [CCArray_slice] | |
| compare [CCResult] | |
| compare [CCChar] | |
| compare [CCInt64] | |
| compare [CCString] | |
| compare [CCOrd] | 
Polymorphic "magic" comparison
 
 | 
| compare [CCRef] | |
| compare [CCArray] | |
| compare [CCFloat] | |
| compare [CCBool] | 
Total ordering on booleans, similar to  
Pervasives.compare
 | 
| compare [CCInt] | |
| compare [CCPair] | |
| compare [CCOpt] | |
| compare [CCList] | |
| compare [CCVector] | 
Total ordering on vectors.
 
 | 
| compare_versions [CCString] | compare_versions a b compares version strings a and b,
    considering that numbers are above text.
 | 
| compile [CCString.Find] | |
| compose [CCFun] | 
Composition
 
 | 
| compose_binop [CCFun] | compose_binop f g is fun x y -> g (f x) (f y)
    Example (partial order):
      List.sort (compose_binop fst CCInt.compare) [1, true; 2, false; 1, false]
 | 
| concat_gen [CCString] | concat_gen ~sep g concatenates all strings of g, separated with sep.
 | 
| cons [CCRAL] | 
Add an element at the front of the list
 
 | 
| cons [CCFQueue] | 
Push element at the front of the queue
 
 | 
| cons [CCLazy_list] | |
| cons [CCKList] | |
| cons [CCListLabels] | cons x l is x::l
 | 
| cons [CCList] | cons x l is x::l
 | 
| cons_maybe [CCListLabels] | cons_maybe (Some x) l is x :: l
    cons_maybe None l is l
 | 
| cons_maybe [CCList] | cons_maybe (Some x) l is x :: l
    cons_maybe None l is l
 | 
| const [CCFormat] | const pp x is a unit printer that uses pp on x
 | 
| const [CCHash] | return h hashes any value into h.
 | 
| const [CCFun] | const x y = x for any y
 | 
| contains [CCMultiSet.S] | contains a x = (count m x > 0)
 | 
| copy [CCHashSet.S] | 
Fresh copy
 
 | 
| copy [CCPersistentArray] | copy a returns a fresh copy of a.
 | 
| copy [CCRingBuffer.S] | 
Make a fresh copy of the buffer.
 
 | 
| copy [CCRingBuffer.Array.S] | copy t makes a fresh copy of the array t
 | 
| copy [CCMixtbl] | 
Copy of the table
 
 | 
| copy [CCBV] | 
Copy of bitvector
 
 | 
| copy [CCDeque] | 
Fresh copy, O(n) in time
 
 | 
| copy [CCPersistentHashtbl.S] | 
Fresh copy of the table; the underlying structure is not shared
      anymore, so using both tables alternatively will be efficient
 
 | 
| copy [CCArray_slice] | 
Copy into a new array
 
 | 
| copy [CCString.Sub] | 
Make a copy of the substring
 
 | 
| copy [CCVector] | 
Shallow copy (may give an immutable or mutable vector)
 
 | 
| copy_into [CCHashSet.S] | copy_into ~into s copies all elements of s into into
 | 
| count [CCMultiSet.S] | |
| count [CCMultiMap.S] | 
Number of bindings for this key
 
 | 
| create [CCTimer] | 
A new timer.
 
 | 
| create [CCBlockingQueue] | 
Create a new queue of size  
n.
 | 
| create [CCThread.Barrier] | 
Create a barrier
 
 | 
| create [CCSemaphore] | create n creates a semaphore with initial value n
 | 
| create [CCLock] | 
Create a new protected value
 
 | 
| create [CCHet.Tbl] | |
| create [CCHet.Key] | |
| create [CCHashTrie.Transient] | 
Create a new, active ID
 
 | 
| create [CCHashSet.S] | create n makes a new set with the given capacity n
 | 
| create [CCRingBuffer.S] | create ?bounded size creates a new buffer with given size.
 | 
| create [CCMixtbl] | create n creates a hash table of initial size n.
 | 
| create [CCBV] | 
Create a bitvector of given size, with given default value
 
 | 
| create [CCDeque] | 
New deque
 
 | 
| create [CCPersistentHashtbl.S] | 
Create a new hashtable, with the given initial capacity
 
 | 
| create [CCFlatHashtbl.S] | 
Create a new table of the given initial capacity
 
 | 
| create [CCListLabels.Ref] | 
Create a new list reference
 
 | 
| create [CCRef] | 
Alias to  
ref
 | 
| create [CCList.Ref] | 
Create a new list reference
 
 | 
| create [CCVector] | 
Create a new, empty vector
 
 | 
| create_inj [CCMixmap] | 
Return a value that works for a given type of values.
 
 | 
| create_inj [CCMixtbl] | 
Return a value that works for a given type of values.
 
 | 
| create_with [CCVector] | 
Create a new vector, using the given value as a filler.
 
 | 
| curry [CCFun] | |
| cut_depth [CCKTree] | 
Cut the tree at the given depth, so it becomes finite.
 
 | 
| cycle [CCKList] | 
Cycle through the iterator infinitely.
 
 | 
D  | |
| decr [CCLock] | 
Atomically decrement the value
 
 | 
| decr [CCHashtbl.S] | 
Same as  
CCHashtbl.S.incr but substract 1 (or the value of by).
 | 
| decr [CCHashtbl.Poly] | 
Same as  
CCHashtbl.Poly.incr but substract 1 (or the value of by).
 | 
| decr_then_get [CCLock] | decr_then_get x decrements x, and return its new value
 | 
| delay [CCRandom] | 
Delay evaluation.
 
 | 
| detach [CCThread] | detach f is the same as ignore (spawn f)
 | 
| dfs [CCGraph.Traverse.Event] | 
Full version of DFS.
 
 | 
| dfs [CCGraph.Traverse] | |
| dfs [CCKTree] | 
Depth-first traversal of the tree
 
 | 
| dfs_tag [CCGraph.Traverse.Event] | 
Full version of DFS using integer tags
 
 | 
| dfs_tag [CCGraph.Traverse] | |
| diagonal [CCListLabels] | 
All pairs of distinct positions of the list.
 
 | 
| diagonal [CCList] | 
All pairs of distinct positions of the list.
 
 | 
| diff [CCHashSet.S] | diff a b returns a - b
 | 
| diff [CCBV] | diff t1 t2 Return those bits found t1 but not in t2.
 | 
| diff [CCMultiSet.S] | 
MultiSet difference.
 
 | 
| diff [CCMultiMap.S] | 
Difference of maps, ie bindings of the first that are not
      in the second
 
 | 
| diff_into [CCBV] | diff ~into t Modify into with only the bits set but not in t.
 | 
| dijkstra [CCGraph.Traverse] | 
Dijkstra algorithm, traverses a graph in increasing distance order.
 
 | 
| dijkstra_tag [CCGraph.Traverse] | |
| divisors_graph [CCGraph] | n points to all its strict divisors
 | 
| doubleton [CCImmutArray] | |
| doubleton [CCIntMap] | |
| doubleton [CCFQueue] | |
| drop [CCRAL] | |
| drop [CCKList] | |
| drop [CCListLabels] | 
Drop the  
n first elements, keep the rest
 | 
| drop [CCString] | drop n s removes the n first chars of s
 | 
| drop [CCList] | 
Drop the  
n first elements, keep the rest
 | 
| drop_after [CCZipper] | 
Drop every element on the "right" (calling  
CCZipper.right then will do nothing),
    keeping the focused element, if any.
 | 
| drop_after_and_focused [CCZipper] | 
Drop every element on the "right" (calling  
CCZipper.right then will do nothing),
    including the focused element if it is present.
 | 
| drop_before [CCZipper] | 
Drop every element on the "left" (calling  
CCZipper.left then will do nothing).
 | 
| drop_while [CCRAL] | |
| drop_while [CCKList] | |
| drop_while [CCListLabels] | |
| drop_while [CCList] | |
| dummy [CCCache] | 
Dummy cache, never stores any value
 
 | 
| dup [CCPair] | dup x = (x,x) (duplicate the value)
 | 
| dup_map [CCPair] | dup_map f x = (x, f x).
 | 
E  | |
| edit_distance [CCString] | 
Edition distance between two strings.
 
 | 
| elements [CCHashSet.S] | 
List of elements
 
 | 
| empty [CCZipper] | 
Empty zipper
 
 | 
| empty [CCHet.Map] | |
| empty [CCImmutArray] | |
| empty [CCRAL] | 
Empty list
 
 | 
| empty [CCWBTree.S] | |
| empty [CCHashTrie.S] | |
| empty [CCBitField.S] | 
Empty bitfields (all bits 0)
 
 | 
| empty [CCGraph.MAP] | |
| empty [CCMixset] | 
Empty set
 
 | 
| empty [CCIntMap] | |
| empty [CCRingBuffer.Array.S] | 
The empty array
 
 | 
| empty [CCMixmap.S] | 
Empty map
 
 | 
| empty [CCBV] | 
Empty bitvector
 
 | 
| empty [CCFQueue] | |
| empty [CCPersistentHashtbl.S] | 
Empty table.
 
 | 
| empty [CCTrie.S] | |
| empty [CCMultiSet.S] | |
| empty [CCMultiMap.BIDIR] | |
| empty [CCMultiMap.S] | 
Empty multimap
 
 | 
| empty [CCLazy_list] | 
Empty list
 
 | 
| empty [CCKList] | |
| empty [CCKTree] | |
| empty [CCArrayLabels] | |
| empty [CCListLabels] | |
| empty [CCArray_slice] | |
| empty [CCArray] | |
| empty [CCList] | |
| empty [CCHeap.S] | 
Empty heap
 
 | 
| endline [CCParse] | 
Parses '\n'
 
 | 
| ensure [CCVector] | 
Hint to the vector that it should have at least the given capacity.
 
 | 
| ensure_with [CCVector] | 
Hint to the vector that it should have at least the given capacity.
 
 | 
| eoi [CCParse] | 
Expect the end of input, fails otherwise
 
 | 
| epsilon [CCFloat] | |
| equal [CCSexp] | |
| equal [CCHet.Key] | 
Compare two keys that have compatible types
 
 | 
| equal [CCRAL] | |
| equal [CCHashTrie.KEY] | |
| equal [CCHashTrie.Transient] | 
Equality between IDs
 
 | 
| equal [CCHashSet.ELEMENT] | |
| equal [CCHashSet.S] | equal a b is extensional equality (a and b have the same elements)
 | 
| equal [CCIntMap] | equal ~eq a b checks whether a and b have the same set of pairs
    (key, value), comparing values with eq
 | 
| equal [CCFQueue] | |
| equal [CCDeque] | equal a b checks whether a and b contain the same sequence of
    elements.
 | 
| equal [CCPersistentHashtbl.HashedType] | |
| equal [CCPersistentHashtbl.S] | |
| equal [CCFlatHashtbl.HASHABLE] | |
| equal [CCMultiSet.S] | |
| equal [CCMultiMap.S] | 
Same multimap
 
 | 
| equal [CCKList] | 
Equality step by step.
 
 | 
| equal [CCArrayLabels] | |
| equal [CCListLabels] | |
| equal [CCArray_slice] | |
| equal [CCResult] | |
| equal [CCChar] | |
| equal [CCInt64] | |
| equal [CCString] | |
| equal [CCRef] | |
| equal [CCArray] | |
| equal [CCFloat] | |
| equal [CCBool] | |
| equal [CCInt] | |
| equal [CCPair] | |
| equal [CCOpt] | |
| equal [CCList] | |
| equal [CCVector] | |
| equal_caseless [CCString] | 
Comparison without respect to ascii lowercase.
 
 | 
| equal_precision [CCFloat] | 
Equality with allowed error up to a non negative epsilon value
 
 | 
| equiv [CCOrd] | 
Returns  
true iff the two comparison results are the same
 | 
| errcode [CCUnix] | |
| error [CCSexp_lex] | |
| escape_str [CCUnix] | 
Escape a string so it can be a shell argument.
 
 | 
| establish_server [CCUnix] | 
Listen on the address and calls the handler in a blocking fashion.
 
 | 
| every [CCTimer] | every timer n ~f calls f () every n seconds.
 | 
| except_idx [CCArrayLabels] | 
Remove given index, obtaining the list of the other elements
 
 | 
| except_idx [CCArray] | 
Remove given index, obtaining the list of the other elements
 
 | 
| exists [CCImmutArray] | |
| exists [CCHashSet.S] | |
| exists [CCPersistentHashtbl.S] | |
| exists [CCArrayLabels] | |
| exists [CCArray_slice] | |
| exists [CCIO.File] | |
| exists [CCString] | 
True for some char?
 
 | 
| exists [CCArray] | |
| exists [CCOpt] | |
| exists [CCVector] | 
Existential test (is there an element that satisfies the predicate?)
 
 | 
| exists2 [CCKList] | |
| exists2 [CCArrayLabels] | 
Exists on pairs of arrays.
 
 | 
| exists2 [CCArray_slice] | 
Exists on pairs of arrays.
 
 | 
| exists2 [CCString] | 
Exists a pair of chars?
 
 | 
| exists2 [CCArray] | 
Exists on pairs of arrays.
 
 | 
| extract_max [CCWBTree.S] | extract_max m returns k, v, m' where k,v is the pair with the
      highest key in m, and m' does not contain k.
 | 
| extract_min [CCWBTree.S] | extract_min m returns k, v, m' where k,v is the pair with the
      smallest key in m, and m' does not contain k.
 | 
F  | |
| fail [CCPool.Make.Fut] | 
Future that fails immediately
 
 | 
| fail [CCParse] | fail msg fails with the given message.
 | 
| fail [CCResult] | 
Fail with an error
 
 | 
| fail_fprintf [CCResult] | fail_printf format uses format to obtain an error message
    and then returns Error msg
 | 
| fail_printf [CCResult] | fail_printf format uses format to obtain an error message
    and then returns Error msg
 | 
| failf [CCParse] | Format.sprintf version of CCParse.fail
 | 
| fair_app [CCKList] | 
Fair version of  
CCKList.(<*>)
 | 
| fair_flat_map [CCKList] | 
Fair version of  
CCKList.flat_map.
 | 
| filter [CCRAL] | |
| filter [CCBV] | filter bv p only keeps the true bits of bv whose index
    satisfies p index
 | 
| filter [CCPersistentHashtbl.S] | |
| filter [CCLazy_list] | 
Filter values.
 
 | 
| filter [CCKList] | |
| filter [CCArrayLabels] | 
Filter elements out of the array.
 
 | 
| filter [CCListLabels] | 
Safe version of  
List.filter
 | 
| filter [CCString] | |
| filter [CCArray] | 
Filter elements out of the array.
 
 | 
| filter [CCOpt] | 
Filter on 0 or 1 element
 
 | 
| filter [CCList] | 
Safe version of  
List.filter
 | 
| filter [CCHeap.S] | 
Filter values, only retaining the ones that satisfy the predicate.
 
 | 
| filter [CCVector] | 
Filter elements from the vector.
 
 | 
| filter' [CCVector] | 
Filter elements in place.
 
 | 
| filter_map [CCRAL] | |
| filter_map [CCGraph.Seq] | |
| filter_map [CCPersistentHashtbl.S] | |
| filter_map [CCKList] | |
| filter_map [CCArrayLabels] | 
Map each element into another value, or discard it
 
 | 
| filter_map [CCListLabels] | 
Map and remove elements at the same time
 
 | 
| filter_map [CCString] | |
| filter_map [CCArray] | 
Map each element into another value, or discard it
 
 | 
| filter_map [CCList] | 
Map and remove elements at the same time
 
 | 
| filter_map [CCVector] | 
Map elements with a function, possibly filtering some of them out
 
 | 
| finally [CCFun] | finally h f calls f () and returns its result.
 | 
| finally1 [CCFun] | finally1 ~h f x is the same as f x, but after the computation,
    h () is called whether f x rose an exception or not.
 | 
| finally2 [CCFun] | finally2 ~h f x y is the same as f x y, but after the computation,
    h () is called whether f x y rose an exception or not.
 | 
| find [CCHet.Map] | |
| find [CCHet.Tbl] | |
| find [CCHashSet.S] | 
Safe version of  
CCHashSet.S.find_exn
 | 
| find [CCIntMap] | |
| find [CCMixmap.S] | 
Find the value for the given key, which must be of the right type.
 
 | 
| find [CCMixtbl] | 
Find the value for the given key, which must be of the right type.
 
 | 
| find [CCPersistentHashtbl.S] | 
Find the value for this key, or fails
 
 | 
| find [CCFlatHashtbl.S] | |
| find [CCTrie.S] | 
Find the value associated with the key, if any
 
 | 
| find [CCMultiMap.S] | 
List of values for this key
 
 | 
| find [CCKTree] | 
Look for an element that maps to  
Some _
 | 
| find [CCArrayLabels] | find f a returns Some y if there is an element x such
    that f x = Some y, else it returns None
 | 
| find [CCArray_slice] | find f a returns Some y if there is an element x such
    that f x = Some y, else it returns None
 | 
| find [CCString.Find] | 
Search for  
pattern in the string, left-to-right
 | 
| find [CCString] | 
Find  
sub in string, returns its first index or -1.
 | 
| find [CCArray] | find f a returns Some y if there is an element x such
    that f x = Some y, else it returns None
 | 
| find [CCVector] | 
Find an element that satisfies the predicate
 
 | 
| find1_left [CCMultiMap.BIDIR] | 
like  
CCMultiMap.BIDIR.find_left but returns at most one value
 | 
| find1_right [CCMultiMap.BIDIR] | 
like  
CCMultiMap.BIDIR.find_right but returns at most one value
 | 
| find_all [CCString] | find_all ~sub s finds all occurrences of sub in s, even overlapping
    instances.
 | 
| find_all_l [CCString] | find_all ~sub s finds all occurrences of sub in s and returns
    them in a list
 | 
| find_exn [CCHet.Map] | |
| find_exn [CCHet.Tbl] | |
| find_exn [CCHashSet.S] | find_exn s x returns y if x and y are equal, and mem s y.
 | 
| find_exn [CCIntMap] | 
Same as  
CCIntMap.find but unsafe
 | 
| find_exn [CCFlatHashtbl.S] | |
| find_exn [CCTrie.S] | 
Same as  
CCTrie.S.find but can fail.
 | 
| find_exn [CCVector] | 
Find an element that satisfies the predicate, or
 
 | 
| find_idx [CCArrayLabels] | find_idx p x returns Some (i,x) where x is the i-th element of l,
    and p x holds.
 | 
| find_idx [CCListLabels] | find_idx p x returns Some (i,x) where x is the i-th element of l,
    and p x holds.
 | 
| find_idx [CCArray_slice] | find_idx p x returns Some (i,x) where x is the i-th element of l,
    and p x holds.
 | 
| find_idx [CCArray] | find_idx p x returns Some (i,x) where x is the i-th element of l,
    and p x holds.
 | 
| find_idx [CCList] | find_idx p x returns Some (i,x) where x is the i-th element of l,
    and p x holds.
 | 
| find_iter [CCMultiMap.S] | 
Iterate on bindings for this key
 
 | 
| find_left [CCMultiMap.BIDIR] | 
Find all bindings for this given left-key
 
 | 
| find_map [CCListLabels] | find_map f l traverses l, applying f to each element.
 | 
| find_map [CCList] | find_map f l traverses l, applying f to each element.
 | 
| find_map [CCVector] | find_map f v returns the first Some y = f x for x in v,
    or None if f x = None for each x in v
 | 
| find_mapi [CCListLabels] | 
Like  
CCListLabels.find_map, but also pass the index to the predicate function.
 | 
| find_mapi [CCList] | 
Like  
CCList.find_map, but also pass the index to the predicate function.
 | 
| find_min [CCHeap.S] | 
Find minimal element
 
 | 
| find_min_exn [CCHeap.S] | 
Same as  
CCHeap.S.find_min but can fail
 | 
| find_pred [CCListLabels] | find_pred p l finds the first element of l that satisfies p,
    or returns None if no element satisfies p
 | 
| find_pred [CCList] | find_pred p l finds the first element of l that satisfies p,
    or returns None if no element satisfies p
 | 
| find_pred_exn [CCListLabels] | 
Unsafe version of  
CCListLabels.find_pred
 | 
| find_pred_exn [CCList] | 
Unsafe version of  
CCList.find_pred
 | 
| find_right [CCMultiMap.BIDIR] | 
Find all bindings for this given right-key
 
 | 
| findi [CCArrayLabels] | 
Like  
CCArrayLabels.find, but also pass the index to the predicate function.
 | 
| findi [CCArray_slice] | 
Like  
CCArray_slice.find, but also pass the index to the predicate function.
 | 
| findi [CCArray] | 
Like  
CCArray.find, but also pass the index to the predicate function.
 | 
| first [CCBV] | 
First set bit, or return None.
 
 | 
| first [CCFQueue] | 
First element of the queue
 
 | 
| first_exn [CCBV] | 
First set bit, or
 
 | 
| first_exn [CCFQueue] | 
Same as  
CCFQueue.first but
 | 
| fix [CCParse] | 
Fixpoint combinator
 
 | 
| fix [CCRandom] | 
Recursion combinators, for building recursive values.
 
 | 
| fix_memo [CCParse] | 
Same as  
CCParse.fix, but the fixpoint is memoized.
 | 
| flat_map [CCPool.Make.Fut] | 
Monadic combination of futures
 
 | 
| flat_map [CCRAL] | |
| flat_map [CCPersistentArray] | 
Flat map (map + concatenation)
 
 | 
| flat_map [CCLazy_list] | 
Monadic flatten + map
 
 | 
| flat_map [CCKList] | |
| flat_map [CCArrayLabels] | 
Transform each element into an array, then flatten
 
 | 
| flat_map [CCListLabels] | 
Map and flatten at the same time (safe).
 
 | 
| flat_map [CCResult] | |
| flat_map [CCString] | 
Map each chars to a string, then concatenates them all
 
 | 
| flat_map [CCRandom] | |
| flat_map [CCArray] | 
Transform each element into an array, then flatten
 
 | 
| flat_map [CCOpt] | 
Flip version of  
>>=
 | 
| flat_map [CCList] | 
Map and flatten at the same time (safe).
 
 | 
| flat_map [CCVector] | 
Map each element to a sub-vector
 
 | 
| flat_map_list [CCVector] | 
Like  
CCVector.flat_map, but using list for
    intermediate collections.
 | 
| flat_map_seq [CCVector] | 
Like  
CCVector.flat_map, but using CCVector.sequence for
    intermediate collections.
 | 
| flatten [CCRAL] | |
| flatten [CCPersistentArray] | 
Concatenates all the sub-arrays
 
 | 
| flatten [CCKList] | |
| flatten [CCListLabels] | 
Safe flatten
 
 | 
| flatten [CCList] | 
Safe flatten
 
 | 
| flip [CCBV] | 
Flip i-th bit, extending the bitvector if needed.
 
 | 
| flip [CCFun] | 
Flip arguments
 
 | 
| float [CCEqual] | |
| float [CCFormat.Dump] | |
| float [CCFormat] | |
| float [CCRandom] | 
Random float within the given range
 
 | 
| float [CCOrd] | |
| float3 [CCFormat] | |
| float_range [CCRandom] | 
Inclusive range.
 
 | 
| floor_div [CCInt] | floor_div a n is integer division rounding towards negative infinity.
 | 
| flush [CCFormat] | 
Alias to  
Format.pp_print_flush.
 | 
| fmap [CCKList] | |
| focused [CCZipper] | 
Returns the focused element, if any.
 
 | 
| focused_exn [CCZipper] | 
Returns the focused element, or
 
 | 
| fold [CCImmutArray] | |
| fold [CCRAL] | 
Fold on the list's elements
 
 | 
| fold [CCWBTree.S] | |
| fold [CCHashTrie.S] | |
| fold [CCHashSet.S] | 
Fold on values
 
 | 
| fold [CCGraph.Seq] | |
| fold [CCIntMap] | |
| fold [CCFQueue] | |
| fold [CCDeque] | 
Fold on elements
 
 | 
| fold [CCPersistentHashtbl.S] | 
Fold over bindings
 
 | 
| fold [CCTrie.S] | 
Fold on key/value bindings.
 
 | 
| fold [CCMultiSet.S] | |
| fold [CCMultiMap.BIDIR] | 
Fold on pairs
 
 | 
| fold [CCMultiMap.S] | 
Fold on all key/value
 
 | 
| fold [CCKList] | 
Fold on values
 
 | 
| fold [CCKTree] | 
Fold on values in no specified order.
 
 | 
| fold [CCArrayLabels] | |
| fold [CCArray_slice] | |
| fold [CCResult] | fold ~ok ~error e opens e and, if e = Ok x, returns
    ok x, otherwise e = Error s and it returns error s.
 | 
| fold [CCString.S] | 
Fold on chars by increasing index.
 
 | 
| fold [CCArray] | |
| fold [CCPair] | 
Synonym to  
CCPair.merge
 | 
| fold [CCOpt] | 
Fold on 0 or 1 element
 
 | 
| fold [CCHeap.S] | 
Fold on all values
 
 | 
| fold [CCVector] | 
Fold on elements of the vector
 
 | 
| fold2 [CCKList] | 
Fold on two collections at once.
 
 | 
| fold2 [CCArrayLabels] | 
Fold on two arrays stepwise.
 
 | 
| fold2 [CCArray_slice] | 
Fold on two arrays stepwise.
 
 | 
| fold2 [CCString] | 
Fold on pairs of chars
 
 | 
| fold2 [CCArray] | 
Fold on two arrays stepwise.
 
 | 
| fold_filter_map [CCListLabels] | fold_filter_map f acc l is a fold_left-like function, but also
    generates a list of output in a way similar to CCListLabels.filter_map
 | 
| fold_filter_map [CCList] | fold_filter_map f acc l is a fold_left-like function, but also
    generates a list of output in a way similar to CCList.filter_map
 | 
| fold_flat_map [CCListLabels] | fold_flat_map f acc l is a fold_left-like function, but it also maps the
    list to a list of lists that is then flatten'd..
 | 
| fold_flat_map [CCList] | fold_flat_map f acc l is a fold_left-like function, but it also maps the
    list to a list of lists that is then flatten'd..
 | 
| fold_keys [CCMixmap.S] | 
Fold over the keys
 
 | 
| fold_keys [CCMixtbl] | 
Fold over the keys
 
 | 
| fold_l [CCResult] | |
| fold_left [CCPersistentArray] | |
| fold_m [CCKList.Traverse] | |
| fold_m [CCListLabels.Traverse] | |
| fold_m [CCResult.Traverse] | |
| fold_m [CCList.Traverse] | |
| fold_map [CCListLabels] | fold_map f acc l is a fold_left-like function, but it also maps the
    list to another list.
 | 
| fold_map [CCArray] | fold_map f acc a is a fold_left-like function, but it also maps the
    array to another array.
 | 
| fold_map [CCList] | fold_map f acc l is a fold_left-like function, but it also maps the
    list to another list.
 | 
| fold_map2 [CCListLabels] | fold_map2 is to fold_map what List.map2 is to List.map.
 | 
| fold_map2 [CCList] | fold_map2 is to fold_map what List.map2 is to List.map.
 | 
| fold_ok [CCResult] | fold_ok f acc r will compute f acc x if r=Ok x,
    and return acc otherwise, as if the result were a mere option.
 | 
| fold_product [CCListLabels] | 
Fold on the cartesian product
 
 | 
| fold_product [CCList] | 
Fold on the cartesian product
 
 | 
| fold_rev [CCRAL] | 
Fold on the list's elements, in reverse order (starting from the tail)
 
 | 
| fold_right [CCPersistentArray] | 
Fold on the elements of the array.
 
 | 
| fold_right [CCListLabels] | 
Safe version of  
fold_right
 | 
| fold_right [CCList] | 
Safe version of  
fold_right
 | 
| fold_seq [CCResult] | |
| fold_v [CCGraph.Lazy_tree] | |
| fold_values [CCTrie.S] | 
More efficient version of  
CCTrie.S.fold, that doesn't keep keys
 | 
| fold_while [CCArrayLabels] | 
Fold left on array until a stop condition via  
('a, `Stop) is
    indicated by the accumulator
 | 
| fold_while [CCListLabels] | 
Fold until a stop condition via  
('a, `Stop) is
    indicated by the accumulator
 | 
| fold_while [CCArray_slice] | 
Fold left on array until a stop condition via  
('a, `Stop) is
    indicated by the accumulator
 | 
| fold_while [CCArray] | 
Fold left on array until a stop condition via  
('a, `Stop) is
    indicated by the accumulator
 | 
| fold_while [CCList] | 
Fold until a stop condition via  
('a, `Stop) is
    indicated by the accumulator
 | 
| foldi [CCImmutArray] | |
| foldi [CCArrayLabels] | 
Fold left on array, with index
 
 | 
| foldi [CCListLabels] | 
Fold on list, with index
 
 | 
| foldi [CCArray_slice] | 
Fold left on array, with index
 
 | 
| foldi [CCArray] | 
Fold left on array, with index
 
 | 
| foldi [CCList] | 
Fold on list, with index
 
 | 
| for_all [CCImmutArray] | |
| for_all [CCHashSet.S] | |
| for_all [CCPersistentHashtbl.S] | |
| for_all [CCArrayLabels] | |
| for_all [CCArray_slice] | |
| for_all [CCString] | 
True for all chars?
 
 | 
| for_all [CCArray] | |
| for_all [CCOpt] | |
| for_all [CCVector] | 
Universal test (do all the elements satisfy the predicate?)
 
 | 
| for_all2 [CCKList] | |
| for_all2 [CCArrayLabels] | 
Forall on pairs of arrays.
 
 | 
| for_all2 [CCArray_slice] | 
Forall on pairs of arrays.
 
 | 
| for_all2 [CCString] | 
All pairs of chars respect the predicate?
 
 | 
| for_all2 [CCArray] | 
Forall on pairs of arrays.
 
 | 
| force [CCKTree] | force t evaluates t completely and returns a regular tree
    structure
 | 
| fprintf [CCFormat] | 
Alias to  
Format.fprintf
 | 
| fprintf_dyn_color [CCFormat] | 
Similar to  
CCFormat.fprintf but enable/disable colors depending on colors
 | 
| freeze [CCHashTrie.Transient] | freeze i makes i unusable for new modifications.
 | 
| freeze [CCBitField.S] | 
Prevent new fields from being added.
 
 | 
| freeze [CCVector] | 
Make an immutable vector (no copy! Don't use the old version)
 
 | 
| freeze_copy [CCVector] | 
Copy the vector into an immutable version
 
 | 
| front [CCRAL] | 
Remove and return the first element of the list
 
 | 
| front_exn [CCRAL] | 
Unsafe version of  
CCRAL.front.
 | 
| frozen [CCHashTrie.Transient] | frozen i returns true if freeze i was called before.
 | 
| fsign [CCFloat] | fsign x is one of -1., -0., +0., +1., or nan if x is NaN.
 | 
| full [CCArray_slice] | 
Slice that covers the full array
 
 | 
| full [CCString.Sub] | 
Full string
 
 | 
G  | |
| gen [CCString.Split] | |
| gen [CCHash] | |
| gen_cpy [CCString.Split] | |
| generic [CCGraph.Traverse] | 
Traversal of the given graph, starting from a sequence
      of vertices, using the given bag to choose the next vertex to
      explore.
 
 | 
| generic_tag [CCGraph.Traverse] | 
One-shot traversal of the graph using a tag set and the given bag
 
 | 
| get [CCSemaphore] | 
Current value
 
 | 
| get [CCLock.LockRef] | |
| get [CCLock] | 
Atomically get the value in the lock.
 
 | 
| get [CCPool.Make.Fut] | 
Blocking get: wait for the future to be evaluated, and get the value,
        or the exception that failed the future is returned.
 
 | 
| get [CCImmutArray] | 
Access the element
 
 | 
| get [CCRAL] | get l i accesses the i-th element of the list.
 | 
| get [CCWBTree.S] | |
| get [CCHashTrie.S] | |
| get [CCBitField.S] | 
Get the value of this field
 
 | 
| get [CCMixset] | get ~key set obtains the value for key in set, if any.
 | 
| get [CCPersistentArray] | get a i returns the element with index i from the array a.
 | 
| get [CCRingBuffer.Array.S] | get t i gets the element at position i
 | 
| get [CCMixmap.S] | 
Get the value corresponding to this key, if it exists and
      belongs to the same key
 
 | 
| get [CCMixtbl] | 
Get the value corresponding to this key, if it exists and
    belongs to the same key
 
 | 
| get [CCBV] | 
Is the i-th bit true? Returns false if the index is too high
 
 | 
| get [CCPersistentHashtbl.S] | 
Safe version of !
 
 | 
| get [CCFlatHashtbl.S] | get k tbl recovers the value for k in tbl, or
      returns None if k doesn't belong
 | 
| get [CCArrayLabels.MONO_ARRAY] | |
| get [CCArrayLabels] | |
| get [CCListLabels.Assoc] | 
Find the element
 
 | 
| get [CCArray_slice] | |
| get [CCMap.S] | 
Safe version of  
find
 | 
| get [CCHashtbl.S] | 
Safe version of  
Hashtbl.find
 | 
| get [CCHashtbl.Poly] | 
Safe version of  
Hashtbl.find
 | 
| get [CCString.Sub] | get s i gets the i-th element, or fails
 | 
| get [CCArray.MONO_ARRAY] | |
| get [CCArray] | |
| get [CCList.Assoc] | 
Find the element
 
 | 
| get [CCVector] | 
Access element by its index, or
 
 | 
| get_at_idx [CCListLabels] | |
| get_at_idx [CCList] | |
| get_at_idx_exn [CCListLabels] | 
Get the i-th element, or
 
 | 
| get_at_idx_exn [CCList] | 
Get the i-th element, or
 
 | 
| get_back [CCRingBuffer.S] | get_back buf i returns the i-th element of buf from the back, ie
      the one returned by take_back buf after i-1 calls to junk_back buf.
 | 
| get_cnum [CCParse] | 
Reflects the current column number
 
 | 
| get_edge [CCGraph.Traverse.Event] | |
| get_edge_kind [CCGraph.Traverse.Event] | |
| get_enter [CCGraph.Traverse.Event] | |
| get_exit [CCGraph.Traverse.Event] | |
| get_exn [CCRAL] | 
Unsafe version of  
CCRAL.get
 | 
| get_exn [CCWBTree.S] | |
| get_exn [CCHashTrie.S] | |
| get_exn [CCMixset] | 
Same as  
CCMixset.get, but can fail
 | 
| get_exn [CCPersistentHashtbl.S] | 
Synonym to  
CCPersistentHashtbl.S.find with flipped arguments
 | 
| get_exn [CCFlatHashtbl.S] | |
| get_exn [CCListLabels.Assoc] | 
Same as  
get, but unsafe
 | 
| get_exn [CCResult] | 
Extract the value  
x from Ok x, fails otherwise.
 | 
| get_exn [CCOpt] | 
Open the option, possibly failing if it is  
None
 | 
| get_exn [CCList.Assoc] | 
Same as  
get, but unsafe
 | 
| get_front [CCRingBuffer.S] | get_front buf i returns the i-th element of buf from the front, ie
      the one returned by take_front buf after i-1 calls to junk_front buf.
 | 
| get_lazy [CCOpt] | get_lazy default_fn x unwraps x, but if x = None it returns default_fn () instead.
 | 
| get_lnum [CCParse] | 
Reflects the current line number
 
 | 
| get_or [CCResult] | get_or e ~default returns x if e = Ok x, default otherwise
 | 
| get_or [CCMap.S] | get_or k m ~default returns the value associated to k if present,
      and returns default otherwise (if k doesn't belong in m)
 | 
| get_or [CCHashtbl.S] | get_or tbl k ~default returns the value associated to k if present,
      and returns default otherwise (if k doesn't belong in tbl)
 | 
| get_or [CCHashtbl.Poly] | get_or tbl k ~default returns the value associated to k if present,
      and returns default otherwise (if k doesn't belong in tbl)
 | 
| get_or [CCOpt] | get_or ~default o extracts the value from o, or
    returns default if o = None.
 | 
| get_or_add [CCHashtbl.S] | get_or_add tbl ~k ~f finds and returns the binding of k
      in tbl, if it exists.
 | 
| get_or_add [CCHashtbl.Poly] | get_or_add tbl ~k ~f finds and returns the binding of k
      in tbl, if it exists.
 | 
| get_pos [CCParse] | 
Reflects the current (line, column) numbers
 
 | 
| get_safe [CCArrayLabels] | get_safe a i returns Some a.(i) if i is a valid index
 | 
| get_safe [CCArray_slice] | get_safe a i returns Some a.(i) if i is a valid index
 | 
| get_safe [CCArray] | get_safe a i returns Some a.(i) if i is a valid index
 | 
| get_then_clear [CCLock] | get_then_clear b sets b to false, and return the old value
 | 
| get_then_decr [CCLock] | get_then_decr x decrements x, and return its previous value
 | 
| get_then_incr [CCLock] | get_then_incr x increments x, and return its previous value
 | 
| get_then_incr [CCRef] | get_then_incr r increments r and returns its old value, think r++
 | 
| get_then_set [CCLock] | get_then_set b sets b to true, and return the old value
 | 
| get_vertex [CCGraph.Traverse.Event] | |
| group [CCKList] | group eq l groups together consecutive elements that satisfy eq.
 | 
| group_succ [CCListLabels] | group_succ ~eq l groups together consecutive elements that are equal
    according to eq
 | 
| group_succ [CCList] | group_succ ~eq l groups together consecutive elements that are equal
    according to eq
 | 
| guard [CCResult] | guard f runs f () and returns its result wrapped in Ok.
 | 
| guard_str [CCResult] | 
Same as  
CCResult.guard but uses CCResult.of_exn to print the exception.
 | 
| guard_str_trace [CCResult] | 
Same as  
CCResult.guard_str but uses CCResult.of_exn_trace instead of CCResult.of_exn so
    that the stack trace is printed.
 | 
H  | |
| hash [CCSexp] | |
| hash [CCHashTrie.KEY] | |
| hash [CCHashSet.ELEMENT] | 
Positive value
 
 | 
| hash [CCPersistentHashtbl.HashedType] | |
| hash [CCFlatHashtbl.HASHABLE] | |
| hash [CCInt64] | |
| hash [CCString] | |
| hash [CCFloat] | |
| hash [CCInt] | |
| hbox [CCFormat] | 
Wrap the printer in an horizontal box
 
 | 
| hd [CCRAL] | 
First element of the list, or
 
 | 
| hd_tl [CCListLabels] | hd_tl (x :: l) returns hd, l.
 | 
| hd_tl [CCList] | hd_tl (x :: l) returns hd, l.
 | 
| head [CCLazy_list] | 
Evaluate head, return it, or  
None if the list is empty
 | 
| head [CCKList] | 
Head of the list
 
 | 
| head_exn [CCKList] | 
Unsafe version of  
CCKList.head
 | 
| head_opt [CCListLabels] | 
First element.
 
 | 
| head_opt [CCList] | 
First element.
 
 | 
| height [CCKTree] | 
Length of the longest path to empty leaves
 
 | 
| hovbox [CCFormat] | 
Wrap the printer in a horizontal or vertical box
 
 | 
| hvbox [CCFormat] | 
Wrap the printer in a horizontal/vertical box
 
 | 
I  | |
| id [CCFun] | 
Identity function
 
 | 
| if_ [CCHash] | 
Decide which hash function to use depending on the boolean
 
 | 
| if_ [CCOpt] | if_ f x is Some x if f x, None otherwise
 | 
| incr [CCLock] | 
Atomically increment the value
 
 | 
| incr [CCHashtbl.S] | incr ?by tbl x increments or initializes the counter associated with x.
 | 
| incr [CCHashtbl.Poly] | incr ?by tbl x increments or initializes the counter associated with x.
 | 
| incr_then_get [CCLock] | incr_then_get x increments x, and return its new value
 | 
| incr_then_get [CCRef] | incr_then_get r increments r and returns its new value, think ++ r
 | 
| init [CCImmutArray] | init n f makes the array [| f 0; f 1; ... ; f (n-1) |].
 | 
| init [CCPersistentArray] | make n f returns a persistent array of length n, with element
    i initialized to the result of f i.
 | 
| init [CCFQueue] | 
Queue deprived of its last element.
 
 | 
| init [CCListLabels] | 
Similar to  
Array.init
 | 
| init [CCString] | 
Analog to  
Array.init.
 | 
| init [CCList] | 
Similar to  
Array.init
 | 
| init [CCVector] | 
Init the vector with the given function and size
 
 | 
| insert [CCZipper] | 
Insert an element at the current position.
 
 | 
| insert [CCHashSet.S] | insert s x adds x into s
 | 
| insert [CCHeap.S] | 
Insert a value in the heap
 
 | 
| insert_at_idx [CCListLabels] | 
Insert at i-th position, between the two existing elements.
 
 | 
| insert_at_idx [CCList] | 
Insert at i-th position, between the two existing elements.
 
 | 
| int [CCEqual] | |
| int [CCParse.U] | |
| int [CCFormat.Dump] | |
| int [CCFormat] | |
| int [CCRandom] | |
| int [CCOrd] | |
| int [CCHash] | |
| int32 [CCFormat.Dump] | |
| int32 [CCFormat] | |
| int32 [CCHash] | |
| int64 [CCFormat.Dump] | |
| int64 [CCFormat] | |
| int64 [CCHash] | |
| int_range [CCRandom] | 
Inclusive range
 
 | 
| inter [CCHashSet.S] | inter a b returns a ∩ b
 | 
| inter [CCIntMap] | |
| inter [CCBV] | inter bv1 bv2 returns the intersection of the two sets
 | 
| inter [CCMultiMap.S] | 
Intersection of multimaps
 
 | 
| inter [CCListLabels] | 
List intersection.
 
 | 
| inter [CCList] | 
List intersection.
 
 | 
| inter_into [CCBV] | inter ~into bv sets into to the intersection of itself and bv
 | 
| inter_mut [CCHashSet.S] | inter_mut ~into a changes into into a ∩ into
 | 
| interleave [CCKList] | 
Fair interleaving of both streams.
 
 | 
| intersection [CCMultiSet.S] | intersection a b is a multiset such that
      count (intersection a b) x = min (count a x) (count b x)
 | 
| is_alpha [CCParse] | 
Is the char a letter?
 
 | 
| is_alpha_num [CCParse] | |
| is_dag [CCGraph] | is_dag ~graph vs returns true if the subset of graph reachable
    from vs is acyclic.
 | 
| is_directory [CCIO.File] | |
| is_done [CCPool.Make.Fut] | 
Is the future evaluated (success/failure)?
 
 | 
| is_empty [CCZipper] | 
Empty zipper? Returns true iff the two lists are empty.
 
 | 
| is_empty [CCRAL] | 
Check whether the list is empty
 
 | 
| is_empty [CCWBTree.S] | |
| is_empty [CCHashTrie.S] | |
| is_empty [CCRingBuffer.S] | 
Is the buffer empty (i.e.
 
 | 
| is_empty [CCBV] | 
Are there any true bits?
 
 | 
| is_empty [CCFQueue] | |
| is_empty [CCDeque] | 
Is the deque empty?
 
 | 
| is_empty [CCPersistentHashtbl.S] | 
Is the table empty?
 
 | 
| is_empty [CCTrie.S] | |
| is_empty [CCMultiSet.S] | |
| is_empty [CCMultiMap.BIDIR] | |
| is_empty [CCMultiMap.S] | 
Empty multimap?
 
 | 
| is_empty [CCLazy_list] | 
Evaluates the head
 
 | 
| is_empty [CCKList] | |
| is_empty [CCKTree] | |
| is_empty [CCListLabels] | is_empty l returns true iff l = []
 | 
| is_empty [CCList] | is_empty l returns true iff l = []
 | 
| is_empty [CCHeap.S] | 
Is the heap empty?
 
 | 
| is_empty [CCVector] | 
Is the vector empty?
 
 | 
| is_error [CCResult] | 
Return true if Error
 
 | 
| is_focused [CCZipper] | 
Is the zipper focused on some element? That is, will  
CCZipper.focused
    return a Some v?
 | 
| is_nan [CCFloat] | |
| is_none [CCOpt] | |
| is_num [CCParse] | 
Is the char a digit?
 
 | 
| is_ok [CCResult] | 
Return true if Ok
 
 | 
| is_some [CCOpt] | |
| is_sorted [CCListLabels] | is_sorted l returns true iff l is sorted (according to given order)
 | 
| is_sorted [CCList] | is_sorted l returns true iff l is sorted (according to given order)
 | 
| is_space [CCParse] | 
True on ' ' and '\t'
 
 | 
| is_sub [CCString] | is_sub ~sub i s j ~len returns true iff the substring of
    sub starting at position i and of length len is a substring
    of s starting at position j
 | 
| is_white [CCParse] | 
True on ' ' and '\t' and '\n'
 
 | 
| iter [CCHet.Map] | |
| iter [CCHet.Tbl] | |
| iter [CCImmutArray] | |
| iter [CCRAL] | 
Iterate on the list's elements
 
 | 
| iter [CCWBTree.S] | |
| iter [CCHashTrie.S] | |
| iter [CCHashSet.S] | 
Iterate on values
 
 | 
| iter [CCGraph.Seq] | |
| iter [CCPersistentArray] | |
| iter [CCIntMap] | |
| iter [CCRingBuffer.S] | iter b ~f calls f i t for each element t in buf
 | 
| iter [CCRingBuffer.Array.S] | iter f t iterates over the array t invoking f with
        the current element, in array order
 | 
| iter [CCBV] | 
Iterate on all bits
 
 | 
| iter [CCFQueue] | |
| iter [CCDeque] | 
Iterate on elements
 
 | 
| iter [CCPersistentHashtbl.S] | 
Iterate over bindings
 
 | 
| iter [CCCache] | 
Iterate on cached values.
 
 | 
| iter [CCTrie.S] | 
Same as  
CCTrie.S.fold, but for effectful functions
 | 
| iter [CCMultiSet.S] | |
| iter [CCMultiMap.S] | 
Iterate on all key/value
 
 | 
| iter [CCKList] | |
| iter [CCKTree] | |
| iter [CCArrayLabels] | |
| iter [CCArray_slice] | |
| iter [CCResult] | 
Apply the function only in case of Ok
 
 | 
| iter [CCString] | 
Alias to  
String.iter
 | 
| iter [CCRef] | 
Call the function on the content of the reference
 
 | 
| iter [CCArray] | |
| iter [CCPair] | |
| iter [CCOpt] | 
Iterate on 0 or 1 element
 
 | 
| iter [CCHeap.S] | 
Iterate on elements
 
 | 
| iter [CCVector] | 
Iterate on the vector's content
 
 | 
| iter2 [CCKList] | 
Iterate on two collections at once.
 
 | 
| iter2 [CCArrayLabels] | 
Iterate on two arrays stepwise.
 
 | 
| iter2 [CCArray_slice] | 
Iterate on two arrays stepwise.
 
 | 
| iter2 [CCString] | 
Iterate on pairs of chars
 
 | 
| iter2 [CCArray] | 
Iterate on two arrays stepwise.
 
 | 
| iter_keys [CCMixmap.S] | 
Iterate on the keys of this map
 
 | 
| iter_keys [CCMixtbl] | 
Iterate on the keys of this table
 
 | 
| iter_true [CCBV] | 
Iterate on bits set to 1
 
 | 
| iter_values [CCTrie.S] | |
| iteri [CCImmutArray] | |
| iteri [CCRAL] | |
| iteri [CCPersistentArray] | iter f t applies function f to all elements of the persistent array,
    in order from element 0 to element length t - 1.
 | 
| iteri [CCRingBuffer.S] | iteri b ~f calls f i t for each element t in buf, with i
      being its relative index within buf.
 | 
| iteri [CCKList] | 
Iterate with index (starts at 0)
 
 | 
| iteri [CCArrayLabels] | |
| iteri [CCListLabels] | |
| iteri [CCArray_slice] | |
| iteri [CCString] | 
Iter on chars with their index
 
 | 
| iteri [CCArray] | |
| iteri [CCList] | |
| iteri [CCVector] | 
Iterate on the vector, with indexes
 
 | 
| iteri2 [CCString] | 
Iterate on pairs of chars with their index
 
 | 
J  | |
| join [CCThread.Arr] | A.join a joins every thread in a
 | 
| join [CCResult] | join t, in case of success, returns Ok o from Ok (Ok o).
 | 
| junk_back [CCRingBuffer.S] | 
Drop the back element from  
t.
 | 
| junk_front [CCRingBuffer.S] | 
Drop the front element from  
t.
 | 
K  | |
| keys [CCIntMap] | |
| keys [CCFlatHashtbl.S] | |
| keys [CCMultiMap.S] | |
| keys [CCMap.S] | 
Iterate on keys only
 
 | 
| keys [CCHashtbl.S] | 
Iterate on keys (similar order as  
Hashtbl.iter)
 | 
| keys [CCHashtbl.Poly] | 
Iterate on keys (similar order as  
Hashtbl.iter)
 | 
| keys_list [CCHashtbl.S] | keys t is the list of keys in t.
 | 
| keys_list [CCHashtbl.Poly] | keys_list t is the list of keys in t.
 | 
| keys_seq [CCMixmap.S] | 
All the keys
 
 | 
| keys_seq [CCMixtbl] | 
All the keys
 
 | 
| klist [CCString.Split] | |
| klist [CCHash] | |
| klist_cpy [CCString.Split] | |
| ksprintf [CCFormat] | ksprintf fmt ~f formats using fmt, in a way similar to CCFormat.sprintf,
    and then calls f on the resulting string.
 | 
L  | |
| last [CCFQueue] | 
Last element of the queue
 
 | 
| last [CCListLabels] | last n l takes the last n elements of l (or less if
    l doesn't have that many elements
 | 
| last [CCList] | last n l takes the last n elements of l (or less if
    l doesn't have that many elements
 | 
| last_exn [CCFQueue] | |
| last_opt [CCListLabels] | 
Last element.
 
 | 
| last_opt [CCList] | 
Last element.
 
 | 
| left [CCZipper] | 
Go to the left, or do nothing if the zipper is already at leftmost pos
 
 | 
| left [CCString.Split] | 
Split on the first occurrence of  
by from the leftmost part of
      the string
 | 
| left_exn [CCZipper] | 
Go to the left, or
 
 | 
| left_exn [CCString.Split] | 
Split on the first occurrence of  
by from the leftmost part of the string
 | 
| length [CCHet.Map] | |
| length [CCHet.Tbl] | |
| length [CCImmutArray] | |
| length [CCRAL] | 
Number of elements.
 
 | 
| length [CCPersistentArray] | 
Returns the length of the persistent array.
 
 | 
| length [CCRingBuffer.S] | 
Number of elements currently stored in the buffer.
 
 | 
| length [CCRingBuffer.Array.S] | length t gets the total number of elements currently in t
 | 
| length [CCMixtbl] | 
Number of bindings
 
 | 
| length [CCBV] | 
Size of underlying bitvector.
 
 | 
| length [CCDeque] | 
Number of elements
    used to be linear time, now constant time
 
 | 
| length [CCPersistentHashtbl.S] | 
Number of bindings
 
 | 
| length [CCLazy_list] | length l returns the number of elements in l, eagerly (linear time).
 | 
| length [CCKList] | 
Number of elements in the list.
 
 | 
| length [CCArrayLabels.MONO_ARRAY] | |
| length [CCArrayLabels] | |
| length [CCArray_slice] | |
| length [CCString.S] | |
| length [CCArray.MONO_ARRAY] | |
| length [CCArray] | |
| length [CCVector] | 
Synonym for  
CCVector.size
 | 
| leq [CCHeap.PARTIAL_ORD] | leq x y shall return true iff x is lower or equal to y
 | 
| lexicographic [CCFun] | 
Lexicographic combination of comparison functions
 
 | 
| lift [CCListLabels.Ref] | 
Apply a list function to the content
 
 | 
| lift [CCList.Ref] | 
Apply a list function to the content
 
 | 
| linear [CCCache] | 
Linear cache with the given size.
 
 | 
| lines [CCString] | lines s returns a list of the lines of s (splits along '\n')
 | 
| lines_gen [CCString] | lines_gen s returns a generator of the lines of s (splits along '\n')
 | 
| list [CCEqual] | |
| list [CCParse.U] | list p parses a list of p, with the OCaml conventions for
      start token "", stop token "" and separator ";".
 | 
| list [CCFormat.Dump] | |
| list [CCFormat] | |
| list [CCOrd] | 
Lexicographic combination on lists
 
 | 
| list [CCHash] | |
| list_ [CCString.Split] | 
Eplit the given string along the given separator  
by.
 | 
| list_comm [CCHash] | 
Commutative version of  
CCHash.list.
 | 
| list_cpy [CCString.Split] | |
| list_seq [CCRandom] | 
Build random lists from lists of random generators
 
 | 
| lnot [CCInt64] | |
| longest_prefix [CCTrie.S] | longest_prefix k m finds the longest prefix of k that leads to
      at least one path in m (it does not mean that the prefix is bound to
      a value.
 | 
| lookup [CCArrayLabels] | 
Lookup the index of some value in a sorted array.
 
 | 
| lookup [CCArray_slice] | 
Lookup the index of some value in a sorted array.
 
 | 
| lookup [CCArray] | 
Lookup the index of some value in a sorted array.
 
 | 
| lookup_exn [CCArrayLabels] | 
Same as  
CCArrayLabels.lookup_exn, but
 | 
| lookup_exn [CCArray_slice] | 
Same as  
CCArray_slice.lookup_exn, but
 | 
| lookup_exn [CCArray] | 
Same as  
CCArray.lookup_exn, but
 | 
| lowercase_ascii [CCChar] | 
See  
Char
 | 
| lowercase_ascii [CCString] | 
See  
String.
 | 
| lru [CCCache] | 
LRU cache of the given size ("Least Recently Used": keys that have not been
    used recently are deleted first).
 
 | 
| ltrim [CCString] | 
trim space on the left (see  
String.trim for more details)
 | 
M  | |
| make [CCPool.Make.Fut] | 
Create a future, representing a value that will be computed by
          the function.
 
 | 
| make [CCZipper] | 
Create a zipper pointing at the first element of the list
 
 | 
| make [CCImmutArray] | make n x makes an array of n times x
 | 
| make [CCRAL] | |
| make [CCGraph] | 
Make a graph by providing the children function
 
 | 
| make [CCPersistentArray] | make n x returns a persistent array of length n, with x.
 | 
| make [CCRingBuffer.Array.S] | make s e makes an array of size s with e elements
 | 
| make [CCKTree.Dot] | |
| make [CCArray_slice] | 
Create a slice from given offset and length..
 
 | 
| make [CCIO.File] | 
Build a file representation from a path (absolute or relative)
 
 | 
| make [CCString.Sub] | |
| make [CCPair] | 
Make a tuple from its components
 
 | 
| make [CCVector] | make n x makes a vector of size n, filled with x
 | 
| make1 [CCPool.Make.Fut] | |
| make2 [CCPool.Make.Fut] | |
| many [CCParse] | many p parses a list of p, eagerly (as long as possible)
 | 
| many1 [CCParse] | 
parses a non empty list
 
 | 
| map [CCPool.Make.Fut] | 
Maps the value inside the future.
 
 | 
| map [CCImmutArray] | |
| map [CCRAL] | 
Map on elements
 
 | 
| map [CCWBTree.S] | 
Map values, giving only the value.
 
 | 
| map [CCGraph.Seq] | |
| map [CCPersistentArray] | |
| map [CCIntMap] | |
| map [CCFQueue] | 
Map values
 
 | 
| map [CCPersistentHashtbl.S] | 
Map all values
 
 | 
| map [CCTrie.S] | 
Map values, giving only the value.
 
 | 
| map [CCLazy_list] | 
Lazy map
 
 | 
| map [CCKList] | |
| map [CCKTree] | |
| map [CCEqual] | map f eq is the equality function that, given objects x and y,
    projects x and y using f (e.g.
 | 
| map [CCArrayLabels] | |
| map [CCListLabels] | 
Safe version of map
 
 | 
| map [CCParse] | |
| map [CCResult] | 
Map on success
 
 | 
| map [CCFormat] | |
| map [CCString] | 
Map chars
 
 | 
| map [CCRandom] | |
| map [CCOrd] | map f ord is the comparison function that, given objects x and y,
    projects x and y using f (e.g.
 | 
| map [CCRef] | 
Transform the value
 
 | 
| map [CCArray] | |
| map [CCPair] | |
| map [CCOpt] | 
Transform the element inside, if any
 
 | 
| map [CCList] | 
Safe version of map
 
 | 
| map [CCVector] | 
Map elements of the vector, yielding a new vector
 
 | 
| map1 [CCPair] | |
| map2 [CCKList] | 
Map on two collections at once.
 
 | 
| map2 [CCArrayLabels] | 
Map on two arrays stepwise.
 
 | 
| map2 [CCParse] | |
| map2 [CCResult] | 
Same as  
CCResult.map, but also with a function that can transform
    the error message in case of failure
 | 
| map2 [CCString] | 
Map pairs of chars
 
 | 
| map2 [CCArray] | 
Map on two arrays stepwise.
 
 | 
| map2 [CCPair] | |
| map2 [CCOpt] | |
| map3 [CCParse] | |
| map_a [CCPool.Make.Fut] | map_l f a maps f on every element of a, and will return
        the array of every result if all calls succeed, or an error otherwise.
 | 
| map_async [CCPool.Make.Fut] | 
Maps the value inside the future, to be computed in a separated job.
 
 | 
| map_err [CCResult] | 
Map on the error variant
 
 | 
| map_fst [CCPair] | 
Compose the given function with  
fst.
 | 
| map_l [CCPool.Make.Fut] | map_l f l maps f on every element of l, and will return
        the list of every result if all calls succeed, or an error otherwise.
 | 
| map_l [CCResult] | |
| map_lazy [CCOpt] | map_lazy default_fn f o if f o if o = Some x, default_fn () otherwise
 | 
| map_list [CCHashtbl.S] | 
Map on a hashtable's items, collect into a list
 
 | 
| map_list [CCHashtbl.Poly] | 
Map on a hashtable's items, collect into a list
 
 | 
| map_m [CCKList.Traverse] | |
| map_m [CCListLabels.Traverse] | |
| map_m [CCResult.Traverse] | |
| map_m [CCList.Traverse] | |
| map_m_par [CCListLabels.Traverse] | 
Same as  
map_m but map_m_par f (x::l) evaluates f x and
      f l "in parallel" before combining their result (for instance
      in Lwt).
 | 
| map_m_par [CCList.Traverse] | 
Same as  
map_m but map_m_par f (x::l) evaluates f x and
      f l "in parallel" before combining their result (for instance
      in Lwt).
 | 
| map_or [CCResult] | map_or f e ~default returns f x if e = Ok x, default otherwise
 | 
| map_or [CCOpt] | map_or ~default f o is f x if o = Some x, default otherwise
 | 
| map_product_l [CCList] | map_product_l f l maps each element of l to a list of
    objects of type 'b using f.
 | 
| map_same [CCPair] | |
| map_snd [CCPair] | 
Compose the given function with  
snd.
 | 
| map_v [CCGraph.Lazy_tree] | |
| mapi [CCImmutArray] | |
| mapi [CCRAL] | 
Map with index
 
 | 
| mapi [CCWBTree.S] | 
Map values, giving both key and value.
 
 | 
| mapi [CCPersistentArray] | 
Applies the given function to all elements of the array, and returns
    a persistent array initialized by the results of f.
 
 | 
| mapi [CCIntMap] | |
| mapi [CCTrie.S] | 
Map values, giving both key and value.
 
 | 
| mapi [CCKList] | 
Map with index (starts at 0)
 
 | 
| mapi [CCListLabels] | |
| mapi [CCString] | 
Map chars with their index
 
 | 
| mapi [CCList] | |
| max [CCMultiSet.S] | 
Maximal element w.r.t the total ordering on elements
 
 | 
| max [CCFloat] | |
| max [CCInt] | |
| max_capacity [CCRingBuffer.S] | 
Maximum length of the inner buffer, or  
None if unbounded.
 | 
| max_finite_value [CCFloat] | |
| max_int [CCInt64] | |
| max_size [CCPool.PARAM] | 
Maximum number of threads in the pool
 
 | 
| max_value [CCFloat] | |
| max_width [CCBitField] | 
System-dependent maximum width for a bitfield, typically 30 or 62
 
 | 
| meet [CCMultiSet.S] | meet a b is a multiset such that
      count (meet a b) x = max (count a x) (count b x)
 | 
| mem [CCHet.Map] | |
| mem [CCHet.Tbl] | |
| mem [CCWBTree.S] | |
| mem [CCHashTrie.S] | |
| mem [CCHashSet.S] | mem s x returns true iff x is in s
 | 
| mem [CCIntMap] | |
| mem [CCMixmap.S] | 
Is the given key in the map, with the right type?
 
 | 
| mem [CCMixtbl] | 
Is the given key in the table, with the right type?
 
 | 
| mem [CCPersistentHashtbl.S] | 
Is the key bound?
 
 | 
| mem [CCFlatHashtbl.S] | mem tbl k returns true iff k is mapped to some value
      in tbl
 | 
| mem [CCMultiSet.S] | |
| mem [CCMultiMap.S] | 
Is there a binding for this key?
 
 | 
| mem [CCListLabels.Assoc] | mem x l returns true iff x is a key in l
 | 
| mem [CCListLabels] | 
Membership to the list.
 
 | 
| mem [CCString] | mem ~sub s is true iff sub is a substring of s
 | 
| mem [CCList.Assoc] | mem x l returns true iff x is a key in l
 | 
| mem [CCList] | 
Membership to the list.
 
 | 
| mem_left [CCMultiMap.BIDIR] | 
Is the left key present in at least one pair?
 
 | 
| mem_right [CCMultiMap.BIDIR] | 
Is the right key present in at least one pair?
 
 | 
| member [CCVector] | 
Is the element a member of the vector?
 
 | 
| memo [CCParse] | 
Memoize the parser.
 
 | 
| memoize [CCKList] | 
Avoid recomputations by caching intermediate results
 
 | 
| merge [CCWBTree.S] | 
Similar to  
Map.S.merge
 | 
| merge [CCPersistentHashtbl.S] | 
Merge two tables together into a new table.
 
 | 
| merge [CCTrie.S] | 
Merge two tries together.
 
 | 
| merge [CCKList] | 
Merge two sorted iterators into a sorted iterator
 
 | 
| merge [CCPair] | 
Uncurrying (merges the two components of a tuple)
 
 | 
| merge [CCHeap.S] | 
Merge two heaps
 
 | 
| merge_safe [CCMap.S] | merge_safe ~f a b merges the maps a and b together.
 | 
| min [CCMultiSet.S] | 
Minimal element w.r.t the total ordering on elements
 
 | 
| min [CCFloat] | |
| min [CCInt] | |
| min_int [CCInt64] | |
| min_size [CCPool.PARAM] | 
Minimum number of threads in the pool
 
 | 
| min_value [CCFloat] | |
| mk_field [CCBitField.S] | 
Make a new field
 
 | 
| mk_heap [CCGraph] | mk_heap ~leq makes a priority queue where leq x y = true means that
    x is smaller than y and should be prioritary
 | 
| mk_id [CCKTree.Dot] | 
Using a formatter string, build an ID
 
 | 
| mk_label [CCKTree.Dot] | 
Using a formatter string, build a label
 
 | 
| mk_map [CCGraph] | 
Use a  
Map.S underneath
 | 
| mk_mut_tbl [CCGraph] | 
Make a new mutable graph from a Hashtbl.
 
 | 
| mk_queue [CCGraph] | |
| mk_stack [CCGraph] | |
| mk_table [CCGraph] | 
Default implementation for  
CCGraph.table: a Hashtbl.t
 | 
| modify [CCZipper] | 
Modify the current element, if any, by returning a new element, or
    returning  
None if the element is to be deleted
 | 
| mutex [CCLock] | 
Underlying mutex
 
 | 
N  | |
| nan [CCFloat] | |
| nativeint [CCFormat.Dump] | |
| nativeint [CCFormat] | |
| nativeint [CCHash] | |
| neg [CCFloat] | |
| neg [CCInt] | neg i = - i
 | 
| negate [CCBV] | negate t returns a copy of t with all of the bits flipped.
 | 
| negate [CCBool] | 
Negation on booleans (functional version of  
not)
 | 
| negate_self [CCBV] | negate_self t flips all of the bits in t.
 | 
| newkey [CCMixset] | newkey () creates a new unique key that can be used to access
    a 'a value in a set.
 | 
| newline [CCFormat] | 
Force newline (see  
Format.pp_force_newline)
 | 
| next [CCSexp.Decoder] | 
Parse the next S-expression or return an error if the input isn't
      long enough or isn't a proper S-expression
 
 | 
| nil [CCKList] | |
| node [CCKTree] | 
Build a node from a label and a list of children
 
 | 
| node1 [CCKTree] | 
Node with one child
 
 | 
| node2 [CCKTree] | 
Node with two children
 
 | 
| nop [CCParse] | 
Succeed with  
()
 | 
| nth [CCWBTree.S] | nth i m returns the i-th key, value in the ascending
      order.
 | 
| nth [CCFQueue] | 
Return the  
i-th element of the queue in logarithmic time
 | 
| nth_exn [CCWBTree.S] | |
| nth_exn [CCFQueue] | 
Unsafe version of  
CCFQueue.nth
 | 
O  | |
| of_array [CCRAL] | |
| of_array [CCPersistentArray] | from_array a returns an immutable copy of a.
 | 
| of_array [CCRingBuffer.S] | 
Create a buffer from an initial array, but doesn't take ownership
      of it (stills allocates a new internal array)
 
 | 
| of_array [CCKList] | 
Iterate on the array
 
 | 
| of_array [CCString] | |
| of_array [CCVector] | |
| of_array_unsafe [CCImmutArray] | 
Take ownership of the given array.
 
 | 
| of_bool [CCSexp] | |
| of_chan [CCFormat] | 
Alias to  
Format.formatter_of_out_channel
 | 
| of_char [CCString] | of_char 'a' = "a"
 | 
| of_err [CCResult] | |
| of_exn [CCResult] | of_exn e uses Printexc to print the exception as a string
 | 
| of_exn_trace [CCResult] | of_exn_trace e is similar to of_exn e, but it adds the stacktrace
    to the error message.
 | 
| of_field [CCSexp] | 
Used to represent one record field
 
 | 
| of_float [CCSexp] | |
| of_float [CCInt64] | |
| of_float_exn [CCInt64] | 
Alias to  
Int64.of_float
 | 
| of_fun [CCGraph] | of_fun f makes a graph out of a function that maps a vertex to
    the list of its children.
 | 
| of_gen [CCImmutArray] | |
| of_gen [CCRAL] | |
| of_gen [CCWBTree.S] | |
| of_gen [CCHashTrie.S] | |
| of_gen [CCPersistentArray] | |
| of_gen [CCIntMap] | |
| of_gen [CCDeque] | of_gen g makes a deque containing the elements of g
 | 
| of_gen [CCLazy_list] | |
| of_gen [CCKList] | of_gen g consumes the generator and caches intermediate results
 | 
| of_gen [CCListLabels] | |
| of_gen [CCString] | |
| of_gen [CCList] | |
| of_gen [CCHeap.S] | |
| of_gen [CCVector] | |
| of_hashtbl [CCGraph] | of_hashtbl tbl makes a graph from a hashtable that maps vertices
    to lists of children
 | 
| of_int [CCSexp] | |
| of_int [CCChar] | 
Safe version of  
CCChar.of_int
 | 
| of_int [CCInt64] | |
| of_int [CCFloat] | 
Alias to  
float_of_int
 | 
| of_int32 [CCInt64] | |
| of_int32_exn [CCInt64] | 
Alias to  
Int64.of_int32
 | 
| of_int_exn [CCChar] | 
Alias to  
Char.chr
 | 
| of_int_exn [CCInt64] | 
Alias to  
Int64.of_int
 | 
| of_klist [CCIntMap] | |
| of_klist [CCFQueue] | |
| of_klist [CCListLabels] | |
| of_klist [CCString] | |
| of_klist [CCList] | |
| of_klist [CCHeap.S] | |
| of_klist [CCVector] | |
| of_lexbuf [CCSexp.Decoder] | |
| of_list [CCSexp] | |
| of_list [CCHet.Map] | |
| of_list [CCHet.Tbl] | |
| of_list [CCImmutArray] | |
| of_list [CCRAL] | 
Convert a list to a RAL.
 
 | 
| of_list [CCWBTree.S] | |
| of_list [CCHashTrie.S] | |
| of_list [CCHashSet.S] | |
| of_list [CCGraph.MAP] | |
| of_list [CCGraph] | of_list l makes a graph from a list of pairs of vertices.
 | 
| of_list [CCPersistentArray] | of_list l returns a fresh persistent array containing the elements of l.
 | 
| of_list [CCIntMap] | |
| of_list [CCBV] | 
From a list of true bits.
 
 | 
| of_list [CCFQueue] | |
| of_list [CCDeque] | 
Conversion from list, in order
 
 | 
| of_list [CCPersistentHashtbl.S] | |
| of_list [CCFlatHashtbl.S] | |
| of_list [CCTrie.WORD] | |
| of_list [CCTrie.S] | |
| of_list [CCMultiSet.S] | |
| of_list [CCLazy_list] | |
| of_list [CCKList] | |
| of_list [CCMap.S] | 
Build a map from the given list of bindings  
k_i -> v_i,
      added in order using add.
 | 
| of_list [CCHashtbl.S] | 
Build a table from the given list of bindings  
k_i -> v_i,
      added in order using add.
 | 
| of_list [CCHashtbl.Poly] | 
Build a table from the given list of bindings  
k_i -> v_i,
      added in order using add.
 | 
| of_list [CCString] | |
| of_list [CCSet.S] | 
Build a set from the given list of elements,
      added in order using  
add.
 | 
| of_list [CCOpt] | 
Head of list, or  
None
 | 
| of_list [CCHeap.S] | of_list l = add_list empty l
 | 
| of_list [CCVector] | |
| of_list_map [CCRAL] | 
Combination of  
CCRAL.of_list and CCRAL.map
 | 
| of_list_mult [CCMultiSet.S] | |
| of_nativeint [CCInt64] | |
| of_nativeint_exn [CCInt64] | 
Alias to  
Int64.of_nativeint
 | 
| of_opt [CCResult] | |
| of_pair [CCSexp] | |
| of_quad [CCSexp] | |
| of_record [CCSexp] | 
Represent a record by its named fields
 
 | 
| of_result [CCOpt] | |
| of_rev_list [CCSexp] | 
Reverse the list
 
 | 
| of_rev_list [CCPersistentArray] | of_rev_list l is the same as of_list (List.rev l) but more efficient
 | 
| of_seq [CCHet.Map] | |
| of_seq [CCHet.Tbl] | |
| of_seq [CCImmutArray] | |
| of_seq [CCRAL] | |
| of_seq [CCWBTree.S] | |
| of_seq [CCHashTrie.S] | |
| of_seq [CCHashSet.S] | |
| of_seq [CCGraph.MAP] | |
| of_seq [CCPersistentArray] | |
| of_seq [CCIntMap] | |
| of_seq [CCBV] | |
| of_seq [CCFQueue] | |
| of_seq [CCDeque] | 
Create a deque from the sequence.
 
 | 
| of_seq [CCPersistentHashtbl.S] | 
Add (replace) bindings from the sequence to the table
 
 | 
| of_seq [CCFlatHashtbl.S] | |
| of_seq [CCTrie.S] | |
| of_seq [CCMultiSet.S] | |
| of_seq [CCMultiMap.S] | |
| of_seq [CCListLabels] | |
| of_seq [CCMap.S] | 
Same as  
CCMap.S.of_list
 | 
| of_seq [CCHashtbl.S] | 
From the given bindings, added in order
 
 | 
| of_seq [CCHashtbl.Poly] | 
From the given bindings, added in order
 
 | 
| of_seq [CCString] | |
| of_seq [CCSet.S] | |
| of_seq [CCList] | |
| of_seq [CCHeap.S] | |
| of_seq [CCVector] | |
| of_seq_count [CCHashtbl.S] | 
Similar to  
CCHashtbl.S.add_seq_count, but allocates a new table and returns it
 | 
| of_seq_count [CCHashtbl.Poly] | 
Similar to  
CCHashtbl.Poly.add_seq_count, but allocates a new table and returns it
 | 
| of_seq_mult [CCMultiSet.S] | |
| of_slice [CCArray_slice] | 
Make a sub-array from a triple  
(arr, i, len) where arr is the array,
    i the offset in arr, and len the number of elements of the slice.
 | 
| of_string [CCInt64] | |
| of_string [CCFloat] | 
Alias to  
float_of_string.
 | 
| of_string [CCInt] | |
| of_string_exn [CCInt64] | |
| of_string_exn [CCFloat] | 
Alias to  
float_of_string
 | 
| of_to_string [CCFormat] | of_to_string f converts its input to a string using f,
    then prints the string
 | 
| of_triple [CCSexp] | |
| of_unit [CCSexp] | |
| of_variant [CCSexp] | of_variant name args is used to encode algebraic variants
    into a S-expr.
 | 
| on_failure [CCPool.Make.Fut] | 
Attach a handler to be called upon failure.
 
 | 
| on_finish [CCPool.Make.Fut] | 
Attach a handler to be called when the future is evaluated.
 
 | 
| on_success [CCPool.Make.Fut] | 
Attach a handler to be called upon success.
 
 | 
| opaque_identity [CCFun] | opaque_identity x is like x, but prevents Flambda from using x's
    definition for optimizing it (flambda is an optimization/inlining pass
    in OCaml >= 4.03).
 | 
| opp [CCOrd] | 
Opposite order
 
 | 
| opt [CCFormat] | opt pp prints options as follows:
    Some x will become "some foo" if pp x ---> "foo"
    None will become "none"
 | 
| opt [CCHash] | |
| option [CCEqual] | |
| option [CCFormat.Dump] | |
| option [CCOrd] | 
Comparison of optional values.
 
 | 
| or_ [CCOpt] | or_ ~else_ a is a if a is Some _, else_ otherwise
 | 
| or_lazy [CCOpt] | or_lazy else_ a is a if a is Some _, else_ () otherwise
 | 
| output [CCFormat] | |
P  | |
| pad [CCString] | pad n str ensures that str is at least n bytes long,
    and pads it on the side with c if it's not the case.
 | 
| pair [CCEqual] | |
| pair [CCParse.U] | 
Parse a pair using OCaml whitespace conventions.
 
 | 
| pair [CCFormat.Dump] | |
| pair [CCFormat] | |
| pair [CCOrd] | |
| pair [CCHash] | |
| pairs [CCMultiMap.BIDIR] | 
Iterate on pairs
 
 | 
| parse [CCParse] | parse p st applies p on the input, and returns Ok x if
    p succeeds with x, or Error s otherwise
 | 
| parse_chan [CCSexp] | 
Parse a S-expression from the given channel.
 
 | 
| parse_chan_gen [CCSexp] | 
Parse a channel into a generator of S-expressions
 
 | 
| parse_chan_list [CCSexp] | |
| parse_exn [CCParse] | 
Unsafe version of  
CCParse.parse
 | 
| parse_file [CCSexp] | 
Open the file and read a S-exp from it
 
 | 
| parse_file [CCParse] | parse_file p file parses file with p by opening the file
    and reading it whole.
 | 
| parse_file_exn [CCParse] | |
| parse_file_list [CCSexp] | 
Open the file and read a S-exp from it
 
 | 
| parse_string [CCSexp] | 
Parse a string
 
 | 
| parse_string [CCParse] | 
Specialization of  
CCParse.parse for string inputs
 | 
| parse_string_exn [CCParse] | |
| parsing [CCParse] | parsing s p behaves the same as p, with the information that
    we are parsing s, if p fails
 | 
| partition_map [CCListLabels] | partition_map f l maps f on l and gather results in lists: if f x = `Left y, adds y to the first list, if f x = `Right z, adds z to the second list, if f x = `Drop, ignores x
 | 
| partition_map [CCList] | partition_map f l maps f on l and gather results in lists: if f x = `Left y, adds y to the first list, if f x = `Right z, adds z to the second list, if f x = `Drop, ignores x
 | 
| peek [CCBlockingQueue] | peek q returns Some x if x is the first element of q,
    otherwise it returns None
 | 
| peek_back [CCRingBuffer.S] | 
Get the last value from back of  
t.
 | 
| peek_back [CCDeque] | 
Last value, or
 
 | 
| peek_front [CCRingBuffer.S] | 
First value from front of  
t.
 | 
| peek_front [CCDeque] | 
First value, or
 
 | 
| pick_array [CCRandom] | 
Pick an element at random from the array
 
 | 
| pick_list [CCRandom] | 
Pick an element at random from the list
 
 | 
| poly [CCEqual] | 
Standard polymorphic equality
 
 | 
| poly [CCHash] | 
the regular polymorphic hash function
 
 | 
| pop [CCListLabels.Ref] | |
| pop [CCList.Ref] | |
| pop [CCVector] | 
Remove last element, or  
None
 | 
| pop_exn [CCListLabels.Ref] | 
Unsafe version of  
CCListLabels.Ref.pop.
 | 
| pop_exn [CCList.Ref] | 
Unsafe version of  
CCList.Ref.pop.
 | 
| pop_exn [CCVector] | 
Remove last element, or raise a Failure if empty
 
 | 
| pow [CCInt] | pow a b = a^b for positive integers a and b.
 | 
| pp [CCSexp] | 
Pretty-printer nice on human eyes (including indentation)
 
 | 
| pp [CCHashSet.S] | pp pp_elt returns a set printer, given a printer for
      individual elements
 | 
| pp [CCGraph.Dot] | 
Print the graph, starting from given vertex, on the formatter
 
 | 
| pp [CCPersistentHashtbl.S] | |
| pp [CCKList] | 
Print the list with the given separator (default ",").
 
 | 
| pp [CCKTree.Dot] | 
Printer to DOT with indentation, etc.
 
 | 
| pp [CCKTree] | 
A pretty-printer using S-expressions and boxes to render the tree.
 
 | 
| pp [CCArrayLabels] | 
Print an array of items with printing function
 
 | 
| pp [CCListLabels] | |
| pp [CCArray_slice] | 
Print an array of items with printing function
 
 | 
| pp [CCResult] | |
| pp [CCChar] | |
| pp [CCMap.S] | |
| pp [CCString.S] | |
| pp [CCSet.S] | |
| pp [CCRef] | |
| pp [CCArray] | 
Print an array of items with printing function
 
 | 
| pp [CCFloat] | |
| pp [CCBool] | |
| pp [CCInt] | |
| pp [CCPair] | |
| pp [CCOpt] | |
| pp [CCList] | |
| pp [CCVector] | |
| pp' [CCResult] | 
Printer that is generic on the error type
 
 | 
| pp_binary [CCInt] | 
prints as "0b00101010".
 
 | 
| pp_i [CCArrayLabels] | 
Print an array, giving the printing function both index and item
 
 | 
| pp_i [CCArray_slice] | 
Print an array, giving the printing function both index and item
 
 | 
| pp_i [CCArray] | 
Print an array, giving the printing function both index and item
 
 | 
| pp_noindent [CCSexp] | 
Raw, direct printing as compact as possible
 
 | 
| pp_seq [CCGraph.Dot] | |
| pp_single [CCKTree.Dot] | |
| prefix [CCString] | prefix ~pre s returns true iff pre is a prefix of s
 | 
| print [CCImmutArray] | |
| print [CCRAL] | |
| print [CCWBTree.S] | |
| print [CCHashTrie.S] | |
| print [CCPersistentArray] | |
| print [CCIntMap] | |
| print [CCBV] | 
Print the bitvector as a string of bits
 
 | 
| print [CCFQueue] | |
| print [CCDeque] | 
Print the elements
 
 | 
| print [CCChar] | |
| print [CCHashtbl.S] | 
Printer for tables
 
 | 
| print [CCHashtbl.Poly] | 
Printer for table
 
 | 
| print [CCString.S] | 
Print the string within quotes
 
 | 
| print [CCHeap.S] | |
| print_to_file [CCKTree.Dot] | print_to_file filename g prints g into a file whose name
      is filename.
 | 
| product [CCKList] | 
Specialization of  
CCKList.product_with producing tuples
 | 
| product [CCListLabels] | 
Cartesian product of the two lists, with the given combinator
 
 | 
| product [CCList] | 
Cartesian product of the two lists, with the given combinator
 
 | 
| product_with [CCKList] | 
Fair product of two (possibly infinite) lists into a new list.
 
 | 
| pure [CCKList] | |
| pure [CCListLabels] | |
| pure [CCParse] | 
Synonym to  
CCParse.return
 | 
| pure [CCResult] | 
Synonym of  
CCResult.return
 | 
| pure [CCRandom] | |
| pure [CCOpt] | 
Alias to  
CCOpt.return
 | 
| pure [CCList] | |
| push [CCBlockingQueue] | push q x pushes x into q, blocking if the queue is full
 | 
| push [CCListLabels.Ref] | |
| push [CCList.Ref] | |
| push [CCVector] | 
Add an element at the end of the vector
 
 | 
| push_back [CCRingBuffer.S] | 
Push value at the back of  
t.
 | 
| push_back [CCDeque] | 
Push value at the back
 
 | 
| push_front [CCDeque] | 
Push value at the front
 
 | 
| push_list [CCBlockingQueue] | 
Push items of the list, one by one
 
 | 
| push_list [CCListLabels.Ref] | 
Add elements of the list at the beginning of the list ref.
 
 | 
| push_list [CCList.Ref] | 
Add elements of the list at the beginning of the list ref.
 
 | 
Q  | |
| quad [CCFormat.Dump] | |
| quad [CCFormat] | |
| quad [CCHash] | |
R  | |
| random [CCArrayLabels] | |
| random [CCListLabels] | |
| random [CCArray] | |
| random [CCFloat] | |
| random [CCInt] | |
| random [CCOpt] | |
| random [CCList] | |
| random_choose [CCWBTree.S] | 
Randomly choose a (key,value) pair within the tree, using weights
      as probability weights
 
 | 
| random_choose [CCArrayLabels] | 
Choose an element randomly.
 
 | 
| random_choose [CCListLabels] | 
Randomly choose an element in the list.
 
 | 
| random_choose [CCArray_slice] | 
Choose an element randomly.
 
 | 
| random_choose [CCArray] | 
Choose an element randomly.
 
 | 
| random_choose [CCList] | 
Randomly choose an element in the list.
 
 | 
| random_len [CCArrayLabels] | |
| random_len [CCListLabels] | |
| random_len [CCArray] | |
| random_len [CCList] | |
| random_non_empty [CCArrayLabels] | |
| random_non_empty [CCListLabels] | |
| random_non_empty [CCArray] | |
| random_non_empty [CCList] | |
| random_range [CCFloat] | |
| random_range [CCInt] | |
| random_sequence [CCListLabels] | |
| random_sequence [CCList] | |
| random_small [CCFloat] | |
| random_small [CCInt] | |
| range [CCRAL] | range i j is i; i+1; ... ; j or j; j-1; ...; i
 | 
| range [CCKList] | |
| range [CCListLabels] | range i j iterates on integers from i to j included .
 | 
| range [CCInt] | range i j iterates on integers from i to j included .
 | 
| range [CCList] | range i j iterates on integers from i to j included .
 | 
| range' [CCListLabels] | 
Same as  
CCListLabels.range but the second bound is excluded.
 | 
| range' [CCInt] | 
Same as  
CCInt.range but the second bound is excluded.
 | 
| range' [CCList] | 
Same as  
CCList.range but the second bound is excluded.
 | 
| range_by [CCListLabels] | range_by ~step i j iterates on integers from i to j included,
    where the difference between successive elements is step.
 | 
| range_by [CCInt] | range_by ~step i j iterates on integers from i to j included,
    where the difference between successive elements is step.
 | 
| range_by [CCList] | range_by ~step i j iterates on integers from i to j included,
    where the difference between successive elements is step.
 | 
| rcompile [CCString.Find] | |
| read [CCIO.File] | 
Read the content of the given file
 
 | 
| read_all [CCIO] | 
Read the whole channel into a buffer, then converted into a string.
 
 | 
| read_all_bytes [CCIO] | 
Read the whole channel into a mutable byte array
 
 | 
| read_chunks [CCIO] | 
Read the channel's content into chunks of size  
size
 | 
| read_dir [CCIO.File] | read_dir d returns a sequence of files and directory contained
      in the directory d (or an empty stream if d is not a directory)
 | 
| read_exn [CCIO.File] | 
Read the content of the given file, or raises some exception
 
 | 
| read_line [CCIO] | 
Read a line from the channel.
 
 | 
| read_lines [CCIO] | 
Read all lines.
 
 | 
| read_lines_l [CCIO] | 
Read all lines into a list
 
 | 
| release [CCSemaphore] | release n s atomically sets s := !s + n
 | 
| rem [CCInt] | rem a n is the remainder of dividing a by n, with the same
    sign as n.
 | 
| remove [CCZipper] | remove l removes the current element, if any.
 | 
| remove [CCRAL] | remove l i removes the i-th element of v.
 | 
| remove [CCWBTree.S] | |
| remove [CCHashTrie.S] | 
Remove the key, if present.
 
 | 
| remove [CCHashSet.S] | 
Remove the element, if it were in there
 
 | 
| remove [CCGraph.MAP] | 
Remove the vertex and all its outgoing edges.
 
 | 
| remove [CCIntMap] | |
| remove [CCMixmap.S] | 
Remove the binding for this key
 
 | 
| remove [CCMixtbl] | 
Remove the binding for this key
 
 | 
| remove [CCPersistentHashtbl.S] | 
Remove the key
 
 | 
| remove [CCFlatHashtbl.S] | 
Remove binding
 
 | 
| remove [CCTrie.S] | 
Remove the key, if present
 
 | 
| remove [CCMultiSet.S] | |
| remove [CCMultiMap.BIDIR] | 
Remove a specific binding
 
 | 
| remove [CCMultiMap.S] | 
Remove the binding
 
 | 
| remove [CCListLabels.Assoc] | remove x l removes the first occurrence of k from l.
 | 
| remove [CCListLabels] | remove ~key l removes every instance of key from l.
 | 
| remove [CCIO.File] | 
Like  
remove_exn but with an error monad.
 | 
| remove [CCList.Assoc] | remove x l removes the first occurrence of k from l.
 | 
| remove [CCList] | remove ~x l removes every instance of x from l.
 | 
| remove [CCVector] | 
Remove the  
n-th element of the vector.
 | 
| remove_all [CCMultiSet.S] | remove_all set x removes all occurrences of x from set
 | 
| remove_all [CCMultiMap.S] | 
Remove the key from the map
 
 | 
| remove_at_idx [CCListLabels] | 
Remove element at given index.
 
 | 
| remove_at_idx [CCList] | 
Remove element at given index.
 
 | 
| remove_edge [CCGraph.MAP] | |
| remove_exn [CCIO.File] | remove_exn path tries to remove the file at path from the
      file system.
 | 
| remove_left [CCMultiMap.BIDIR] | 
Remove all bindings for the left key
 
 | 
| remove_mult [CCMultiSet.S] | remove_mult set x n removes at most n occurrences of x from set
 | 
| remove_mut [CCHashTrie.S] | 
Same as  
CCHashTrie.S.remove, but modifies in place whenever possible
 | 
| remove_noerr [CCIO.File] | 
Like  
remove_exn but do not raise any exception on failure.
 | 
| remove_one [CCListLabels] | remove_one x set removes one occurrence of x from set.
 | 
| remove_one [CCList] | remove_one x set removes one occurrence of x from set.
 | 
| remove_quotes [CCSexp_lex] | |
| remove_right [CCMultiMap.BIDIR] | 
Remove all bindings for the right key
 
 | 
| repeat [CCRAL] | repeat n l is append l (append l ... l) n times
 | 
| repeat [CCKList] | repeat ~n x repeats x n times then stops.
 | 
| repeat [CCListLabels] | 
Concatenate the list with itself  
n times
 | 
| repeat [CCString] | 
The same string, repeated n times
 
 | 
| repeat [CCList] | 
Concatenate the list with itself  
n times
 | 
| replace [CCPersistentHashtbl.S] | 
Add the binding to the table, returning a new table.
 
 | 
| replace [CCString] | replace ~sub ~by s replaces some occurrences of sub by by in s
 | 
| replacing [CCCache] | 
Replacing cache of the given size.
 
 | 
| replicate [CCListLabels] | 
Replicate the given element  
n times
 | 
| replicate [CCRandom] | replicate n g makes a list of n elements which are all generated
    randomly using g
 | 
| replicate [CCList] | 
Replicate the given element  
n times
 | 
| reset [CCThread.Barrier] | 
Reset to initial (non-triggered) state
 
 | 
| reset [CCRingBuffer.S] | 
Clear the content of the buffer, and also resize it to a default size
 
 | 
| reset [CCBV] | 
Set i-th bit to 0, extending the bitvector if needed.
 
 | 
| resize [CCBV] | 
Resize the BV so that it has the specified length.
 
 | 
| result [CCFormat.Dump] | |
| result' [CCFormat.Dump] | |
| retry [CCResult] | retry n f calls f at most n times, returning the first result
    of f () that doesn't fail.
 | 
| retry [CCRandom] | retry g calls g until it returns some value, or until the maximum
    number of retries was reached.
 | 
| retry_m [CCResult.Traverse] | |
| return [CCPool.Make.Fut] | 
Future that is already computed
 
 | 
| return [CCRAL] | 
Singleton
 
 | 
| return [CCGraph.Seq] | |
| return [CCLazy_list] | 
Return a computed value
 
 | 
| return [CCKList.MONAD] | |
| return [CCKList] | |
| return [CCListLabels.MONAD] | |
| return [CCListLabels] | |
| return [CCParse] | 
Always succeeds, without consuming its input
 
 | 
| return [CCResult.MONAD] | |
| return [CCResult] | 
Successfully return a value
 
 | 
| return [CCFormat] | return "some_format_string" takes a argument-less format string
    and returns a printer actionable by ().
 | 
| return [CCRandom] | return x is the generator that always returns x.
 | 
| return [CCFun.Monad] | |
| return [CCOpt] | 
Monadic return, that is  
return x = Some x
 | 
| return [CCList.MONAD] | |
| return [CCList] | |
| return [CCVector] | 
Singleton vector
 
 | 
| rev [CCRAL] | 
Reverse the list
 
 | 
| rev [CCFQueue] | 
Reverse the queue, O(n) complexity
 
 | 
| rev [CCArrayLabels] | 
Copy + reverse in place
 
 | 
| rev [CCString] | rev s returns the reverse of s
 | 
| rev [CCArray] | 
Copy + reverse in place
 
 | 
| rev [CCVector] | 
Reverse the vector
 
 | 
| rev_in_place [CCVector] | 
Reverse the vector in place
 
 | 
| rev_iter [CCVector] | rev_iter f a is the same as iter f (rev a), only more efficient.
 | 
| rev_map [CCRAL] | rev_map f l is the same as map f (rev l)
 | 
| reverse_in_place [CCArrayLabels] | 
Reverse the array in place
 
 | 
| reverse_in_place [CCArray_slice] | 
Reverse the array in place
 
 | 
| reverse_in_place [CCArray] | 
Reverse the array in place
 
 | 
| rfind [CCString.Find] | 
Search for  
pattern in the string, right-to-left
 | 
| rfind [CCString] | 
Find  
sub in string from the right, returns its first index or -1.
 | 
| right [CCZipper] | 
Go to the right, or do nothing if the zipper is already at rightmost pos
 
 | 
| right [CCString.Split] | 
Split on the first occurrence of  
by from the rightmost part of
      the string
 | 
| right_exn [CCZipper] | 
Go to the right, or
 
 | 
| right_exn [CCString.Split] | 
Split on the first occurrence of  
by from the rightmost part of the string
 | 
| round [CCFloat] | round f returns the closest integer value, either above or below
 | 
| rtrim [CCString] | 
trim space on the right (see  
String.trim for more details)
 | 
| run [CCPool.Make] | run f schedules f for being executed in the thread pool
 | 
| run [CCRandom] | 
Using a random state (possibly the one in argument) run a generator
 
 | 
| run1 [CCPool.Make] | run1 f x is similar to run (fun () -> f x)
 | 
| run2 [CCPool.Make] | |
| run3 [CCPool.Make] | |
S  | |
| sample_without_replacement [CCRandom] | sample_without_replacement n g makes a list of n elements which are all
    generated randomly using g with the added constraint that none of the generated
    random values are equal
 | 
| scale [CCFloat] | |
| scan_left [CCArray] | scan_left f acc a returns the array
     [|acc; f acc x0; f (f acc a.(0)) a.(1); …|] 
 | 
| scan_left [CCList] | scan_left f acc l returns the list [acc; f acc x0; f (f acc x0) x1; …]
    where x0, x1, etc.
 | 
| scc [CCGraph] | 
Strongly connected components reachable from the given vertices.
 
 | 
| select [CCBV] | select arr bv selects the elements of arr whose index
    corresponds to a true bit in bv.
 | 
| selecti [CCBV] | 
Same as  
CCBV.select, but selected elements are paired with their index
 | 
| sep [CCParse] | sep ~by p parses a list of p separated by by
 | 
| sep1 [CCParse] | sep1 ~by p parses a non empty list of p, separated by by
 | 
| seq [CCFormat] | |
| seq [CCString.Split] | |
| seq [CCHash] | |
| seq_cpy [CCString.Split] | |
| seq_left [CCMultiMap.BIDIR] | |
| seq_right [CCMultiMap.BIDIR] | |
| sequence_a [CCPool.Make.Fut] | 
Future that waits for all previous futures to terminate.
 
 | 
| sequence_l [CCPool.Make.Fut] | 
Future that waits for all previous futures to terminate.
 
 | 
| sequence_l [CCOpt] | sequence_l [x1; x2; ...; xn] returns Some [y1;y2;...;yn] if
    every xi is Some yi.
 | 
| sequence_m [CCKList.Traverse] | |
| sequence_m [CCListLabels.Traverse] | |
| sequence_m [CCResult.Traverse] | |
| sequence_m [CCList.Traverse] | |
| set [CCLock.LockRef] | |
| set [CCLock] | 
Atomically set the value
 
 | 
| set [CCImmutArray] | 
Copy the array and modify its copy
 
 | 
| set [CCRAL] | set l i v sets the i-th element of the list to v.
 | 
| set [CCBitField.S] | 
Set the value of this field
 
 | 
| set [CCMixset] | set ~key v set maps key to v in set.
 | 
| set [CCPersistentArray] | set a i v sets the element index i from the array a to v.
 | 
| set [CCRingBuffer.Array.S] | set t i e sets the element at position i to e
 | 
| set [CCMixtbl] | 
Bind the key to the value, using  
inj
 | 
| set [CCBV] | 
Set i-th bit, extending the bitvector if needed.
 
 | 
| set [CCArrayLabels.MONO_ARRAY] | |
| set [CCArrayLabels] | |
| set [CCListLabels.Assoc] | 
Add the binding into the list (erase it if already present)
 
 | 
| set [CCArray_slice] | |
| set [CCString] | set s i c creates a new string which is a copy of s, except
    for index i, which becomes c.
 | 
| set [CCArray.MONO_ARRAY] | |
| set [CCArray] | |
| set [CCList.Assoc] | 
Add the binding into the list (erase it if already present)
 
 | 
| set [CCVector] | 
Modify element at given index, or
 
 | 
| set_at_idx [CCListLabels] | 
Set i-th element (removes the old one), or does nothing if
    index is too high
 
 | 
| set_at_idx [CCList] | 
Set i-th element (removes the old one), or does nothing if
    index is too high
 
 | 
| set_color_default [CCFormat] | set_color_default b enables color handling on the standard formatters
    (stdout, stderr) if b = true as well as on CCFormat.sprintf formatters;
    it disables the color handling if b = false.
 | 
| set_color_tag_handling [CCFormat] | 
adds functions to support color tags to the given formatter.
 
 | 
| set_exn_handler [CCTimer] | set_exn_handler timer f registers f so that any exception
    raised by a task scheduled in timer is given to f
 | 
| set_exn_handler [CCPool.Make] | |
| set_of_cmp [CCKTree] | 
Build a set structure given a total ordering
 
 | 
| show_walk_item [CCIO.File] | |
| shrink [CCVector] | 
Shrink to the given size (remove elements above this size).
 
 | 
| shuffle [CCArrayLabels] | 
Shuffle randomly the array, in place
 
 | 
| shuffle [CCArray_slice] | 
Shuffle randomly the array, in place
 
 | 
| shuffle [CCArray] | 
Shuffle randomly the array, in place
 
 | 
| shuffle_with [CCArrayLabels] | 
Like shuffle but using a specialized random state
 
 | 
| shuffle_with [CCArray_slice] | 
Like shuffle but using a specialized random state
 
 | 
| shuffle_with [CCArray] | 
Like shuffle but using a specialized random state
 
 | 
| sign [CCInt] | sign i is one of -1, 0, 1
 | 
| sign_exn [CCFloat] | sign_exn x will return the sign of x as 1, 0 or -1, or raise an
    exception TrapNaN if x is a NaN.
 | 
| silent [CCFormat] | 
Prints nothing
 
 | 
| singleton [CCImmutArray] | |
| singleton [CCWBTree.S] | |
| singleton [CCHashTrie.S] | |
| singleton [CCHashSet.S] | singleton x is the singleton {x}
 | 
| singleton [CCIntMap] | |
| singleton [CCFQueue] | |
| singleton [CCMultiSet.S] | |
| singleton [CCKList] | |
| singleton [CCKTree.Dot] | |
| singleton [CCKTree] | 
Tree with only one label
 
 | 
| size [CCBlockingQueue] | 
Number of elements currently in the queue
 
 | 
| size [CCFQueue] | 
Number of elements in the queue (constant time)
 
 | 
| size [CCCache] | 
Size of the cache (number of entries).
 
 | 
| size [CCFlatHashtbl.S] | 
Number of bindings
 
 | 
| size [CCTrie.S] | 
Number of bindings
 
 | 
| size [CCMultiMap.S] | 
Number of keys
 
 | 
| size [CCKTree] | 
Number of elements
 
 | 
| size [CCHeap.S] | 
Number of elements (linear complexity)
 
 | 
| size [CCVector] | 
Number of elements in vector
 
 | 
| skip [CCRingBuffer.S] | skip b len removes len elements from the front of b.
 | 
| skip [CCParse] | skip p parses zero or more times p and ignores its result
 | 
| skip_chars [CCParse] | 
Skip 0 or more chars satisfying the predicate
 
 | 
| skip_space [CCParse] | 
Skip ' ' and '\t'
 
 | 
| skip_white [CCParse] | 
Skip ' ' and '\t' and '\n'
 
 | 
| sleep [CCPool.Make.Fut] | 
Future that returns with success in the given amount of seconds.
 
 | 
| slice [CCHash] | slice s i len state hashes the slice i, ... i+len-1 of s
    into state
 | 
| slice [CCVector] | 
Vector as an array slice.
 
 | 
| slice_seq [CCVector] | slice_seq v start len is the sequence of elements from v.(start)
    to v.(start+len-1).
 | 
| small_float [CCRandom] | 
A reasonably small float.
 
 | 
| small_int [CCRandom] | |
| snoc [CCFQueue] | 
Push element at the end of the queue
 
 | 
| some [CCFormat] | some pp will print options as follows: Some x is printed using pp on x, None is not printed at all
 | 
| sort [CCKList] | 
Eager sort.
 
 | 
| sort [CCVector] | 
Sort the vector, returning a copy of it that is sorted
    w.r.t the given ordering.
 
 | 
| sort' [CCVector] | 
Sort the vector in place (modifying it).
 
 | 
| sort_generic [CCArrayLabels] | 
Sort the array, without allocating (eats stack space though).
 
 | 
| sort_generic [CCArray] | 
Sort the array, without allocating (eats stack space though).
 
 | 
| sort_indices [CCArrayLabels] | sort_indices cmp a returns a new array b, with the same length as a,
    such that b.(i) is the index of the i-th element of a in sort cmp a.
 | 
| sort_indices [CCArray_slice] | sort_indices cmp a returns a new array b, with the same length as a,
    such that b.(i) is the index of the i-th element of a in sort cmp a.
 | 
| sort_indices [CCArray] | sort_indices cmp a returns a new array b, with the same length as a,
    such that b.(i) is the index of the i-th element of a in sort cmp a.
 | 
| sort_ranking [CCArrayLabels] | sort_ranking cmp a returns a new array b, with the same length as a,
    such that b.(i) is the position in sorted cmp a of the i-th
    element of a.
 | 
| sort_ranking [CCArray_slice] | sort_ranking cmp a returns a new array b, with the same length as a,
    such that b.(i) is the position in sorted cmp a of the i-th
    element of a.
 | 
| sort_ranking [CCArray] | sort_ranking cmp a returns a new array b, with the same length as a,
    such that b.(i) is the position in sorted cmp a of the i-th
    element of a.
 | 
| sort_uniq [CCKList] | 
Eager sort that removes duplicate values.
 
 | 
| sort_uniq [CCListLabels] | 
Sort the list and remove duplicate elements
 
 | 
| sort_uniq [CCList] | 
Sort the list and remove duplicate elements
 
 | 
| sorted [CCArrayLabels] | sorted cmp a makes a copy of a and sorts it with cmp.
 | 
| sorted [CCArray_slice] | sorted cmp a makes a copy of a and sorts it with cmp.
 | 
| sorted [CCArray] | sorted cmp a makes a copy of a and sorts it with cmp.
 | 
| sorted_insert [CCListLabels] | sorted_insert x l inserts x into l such that, if l was sorted,
    then sorted_insert x l is sorted too.
 | 
| sorted_insert [CCList] | sorted_insert x l inserts x into l such that, if l was sorted,
    then sorted_insert x l is sorted too.
 | 
| sorted_merge [CCListLabels] | 
Merges elements from both sorted list
 
 | 
| sorted_merge [CCList] | 
Merges elements from both sorted list
 
 | 
| sorted_merge_uniq [CCListLabels] | sorted_merge_uniq l1 l2 merges the sorted lists l1 and l2 and
    removes duplicates
 | 
| sorted_merge_uniq [CCList] | sorted_merge_uniq l1 l2 merges the sorted lists l1 and l2 and
    removes duplicates
 | 
| space [CCParse] | 
Tab or space
 
 | 
| spanning_tree [CCGraph] | spanning_tree ~graph v computes a lazy spanning tree that has v
    as a root.
 | 
| spanning_tree_tag [CCGraph] | |
| spawn [CCThread.Arr] | A.spawn n f creates an array res of length n, such that
      res.(i) = spawn (fun () -> f i)
 | 
| spawn [CCThread] | spawn f creates a new thread that runs f ()
 | 
| spawn1 [CCThread] | spawn1 f x is like spawn (fun () -> f x).
 | 
| spawn2 [CCThread] | spawn2 f x y is like spawn (fun () -> f x y).
 | 
| split [CCWBTree.S] | split k t returns l, o, r where l is the part of the map
      with keys smaller than k, r has keys bigger than k,
      and o = Some v if k, v belonged to the map
 | 
| split [CCString] | 
Alias to  
CCString.Split.list_cpy
 | 
| split [CCRandom] | 
Split a positive value  
n into n1,n2 where n = n1 + n2.
 | 
| split_list [CCRandom] | 
Split a value  
n into a list of values whose sum is n
    and whose length is length.
 | 
| split_on_char [CCString] | 
Split the string along the given char
 
 | 
| sprintf [CCFormat] | 
Print into a string any format string that would usually be compatible
    with  
CCFormat.fprintf.
 | 
| sprintf_dyn_color [CCFormat] | 
Similar to  
CCFormat.sprintf but enable/disable colors depending on colors.
 | 
| sprintf_no_color [CCFormat] | 
Similar to  
CCFormat.sprintf but never prints colors
 | 
| state [CCPool.Make.Fut] | 
State of the future
 
 | 
| state_of_string [CCParse] | |
| stats [CCPersistentHashtbl.S] | 
Statistics on the internal table.
 
 | 
| status [CCUnix] | |
| stderr [CCUnix] | |
| stderr [CCFormat] | |
| stdout [CCUnix] | |
| stdout [CCFormat] | |
| stop [CCTimer] | 
Stop the given timer, cancelling pending tasks.
 
 | 
| stop [CCPool.Make] | 
After calling  
stop (), Most functions will raise Stopped.
 | 
| string [CCEqual] | |
| string [CCParse] | string s parses exactly the string s, and nothing else
 | 
| string [CCFormat.Dump] | |
| string [CCFormat] | |
| string [CCOrd] | |
| string [CCHash] | |
| string_of_branch [CCParse] | |
| string_quoted [CCFormat] | 
Similar to  
CCString.print.
 | 
| sub [CCRingBuffer.Array.S] | sub t i len gets the subarray of t from
        position i to i + len
 | 
| sub [CCArray_slice] | 
Sub-slice
 
 | 
| sub [CCString.Sub] | 
Sub-slice
 
 | 
| sub [CCFloat] | |
| sublists_of_len [CCList] | sublists_of_len n l returns sub-lists of l that have length n.
 | 
| submap [CCMultiMap.S] | submap m1 m2 is true iff all bindings of m1 are also in m2
 | 
| subset [CCHashSet.S] | subset a b returns true if all elements of a are in b
 | 
| subset [CCListLabels] | 
Test for inclusion
 
 | 
| subset [CCList] | 
Test for inclusion
 
 | 
| substring [CCFormat] | 
Print the substring  
(s,i,len), where i is the offset
    in s and len the number of bytes in the substring.
 | 
| suffix [CCString] | suffix ~suf s returns true iff suf is a suffix of s
 | 
| suspend [CCParse] | suspend f is  the same as f (), but evaluates f () only
    when needed
 | 
| swap [CCPair] | 
Swap the components of the tuple
 
 | 
T  | |
| tail [CCFQueue] | 
Queue deprived of its first element.
 
 | 
| tail [CCKList] | 
Tail of the list
 
 | 
| tail_exn [CCKList] | 
Unsafe version of  
CCKList.tail
 | 
| take [CCBlockingQueue] | 
Take the first element, blocking if needed
 
 | 
| take [CCRAL] | |
| take [CCLazy_list] | 
Take at most n values.
 
 | 
| take [CCKList] | |
| take [CCListLabels] | 
Take the  
n first elements, drop the rest
 | 
| take [CCString] | take n s keeps only the n first chars of s
 | 
| take [CCList] | 
Take the  
n first elements, drop the rest
 | 
| take [CCHeap.S] | 
Extract and return the minimum element, and the new heap (without
      this element), or  
None if the heap is empty
 | 
| take_back [CCRingBuffer.S] | 
Take the last value from back of  
t, if any
 | 
| take_back [CCFQueue] | 
Take last element
 
 | 
| take_back [CCDeque] | 
Take last value, or
 
 | 
| take_back_exn [CCRingBuffer.S] | 
Take the last value from back of  
t.
 | 
| take_back_exn [CCFQueue] | |
| take_back_l [CCFQueue] | take_back_l n q removes and returns the last n elements of q.
 | 
| take_back_while [CCFQueue] | |
| take_drop [CCRAL] | take_drop n l splits l into a, b such that length a = n
    if length l >= n, and such that append a b = l
 | 
| take_drop [CCListLabels] | take_drop n l returns l1, l2 such that l1 @ l2 = l and
    length l1 = min (length l) n
 | 
| take_drop [CCString] | take_drop n s = take n s, drop n s
 | 
| take_drop [CCList] | take_drop n l returns l1, l2 such that l1 @ l2 = l and
    length l1 = min (length l) n
 | 
| take_drop_while [CCList] | take_drop_while p l = take_while p l, drop_while p l
 | 
| take_exn [CCHeap.S] | 
Same as  
CCHeap.S.take, but can fail.
 | 
| take_front [CCRingBuffer.S] | 
Take the first value from front of  
t, if any
 | 
| take_front [CCFQueue] | 
Get and remove the first element
 
 | 
| take_front [CCDeque] | 
Take first value, or
 
 | 
| take_front_exn [CCRingBuffer.S] | 
Take the first value from front of  
t.
 | 
| take_front_exn [CCFQueue] | 
Same as  
CCFQueue.take_front, but fails on empty queues.
 | 
| take_front_l [CCFQueue] | take_front_l n q takes at most n elements from the front
    of q, and returns them wrapped in a list
 | 
| take_front_while [CCFQueue] | |
| take_list [CCBlockingQueue] | take_list n q takes n elements out of q
 | 
| take_while [CCRAL] | |
| take_while [CCKList] | |
| take_while [CCListLabels] | |
| take_while [CCList] | |
| tap [CCFun] | tap f x evaluates f x, discards it, then returns x.
 | 
| tee [CCIO] | tee funs gen behaves like gen, but each element is given to
    every function f in funs at the time the element is produced.
 | 
| tee [CCFormat] | tee a b makes a new formatter that writes in both a and b.
 | 
| text [CCFormat] | 
Print string, but replacing spaces with breaks and newlines
    with  
CCFormat.newline.
 | 
| tl [CCRAL] | 
Remove the first element from the list, or
 
 | 
| to_array [CCRAL] | 
More efficient than on usual lists
 
 | 
| to_array [CCPersistentArray] | to_array t returns a mutable copy of t.
 | 
| to_array [CCRingBuffer.S] | 
Create an array from the elements, in order.
 
 | 
| to_array [CCKList] | 
Convert into array.
 
 | 
| to_array [CCString] | |
| to_array [CCVector] | |
| to_buf [CCSexp] | |
| to_chan [CCSexp] | |
| to_err [CCResult] | |
| to_file [CCSexp] | |
| to_file [CCKTree.Dot] | to_file filename trees makes a graph out of the trees, opens the
      file filename and prints the graph into the file.
 | 
| to_file [CCFormat] | 
Print to the given file
 
 | 
| to_file_seq [CCSexp] | 
Print the given sequence of expressions to a file
 
 | 
| to_float [CCInt64] | |
| to_gen [CCImmutArray] | |
| to_gen [CCRAL] | |
| to_gen [CCWBTree.S] | |
| to_gen [CCHashTrie.S] | |
| to_gen [CCPersistentArray] | |
| to_gen [CCIntMap] | |
| to_gen [CCDeque] | 
Iterates on elements of the deque
 
 | 
| to_gen [CCLazy_list] | |
| to_gen [CCKList] | |
| to_gen [CCArrayLabels] | |
| to_gen [CCListLabels] | |
| to_gen [CCArray_slice] | |
| to_gen [CCString.S] | |
| to_gen [CCArray] | |
| to_gen [CCOpt] | |
| to_gen [CCList] | |
| to_gen [CCHeap.S] | |
| to_gen [CCVector] | |
| to_int [CCChar] | 
Alias to  
Char.code
 | 
| to_int [CCInt64] | |
| to_int [CCFloat] | 
Alias to  
int_of_float.
 | 
| to_int32 [CCInt64] | |
| to_klist [CCIntMap] | |
| to_klist [CCFQueue] | |
| to_klist [CCArrayLabels] | |
| to_klist [CCListLabels] | |
| to_klist [CCArray_slice] | |
| to_klist [CCString.S] | |
| to_klist [CCArray] | |
| to_klist [CCList] | |
| to_klist [CCHeap.S] | |
| to_klist [CCVector] | |
| to_list [CCZipper] | 
Convert the zipper back to a list.
 
 | 
| to_list [CCHet.Map] | |
| to_list [CCHet.Tbl] | |
| to_list [CCImmutArray] | |
| to_list [CCRAL] | |
| to_list [CCWBTree.S] | |
| to_list [CCHashTrie.S] | |
| to_list [CCGraph.MAP] | |
| to_list [CCGraph.Seq] | |
| to_list [CCPersistentArray] | to_list t returns the list of elements in t.
 | 
| to_list [CCIntMap] | |
| to_list [CCRingBuffer.S] | 
Extract the current content into a list
 
 | 
| to_list [CCBV] | 
List of indexes that are true
 
 | 
| to_list [CCFQueue] | |
| to_list [CCDeque] | 
List of elements, in order.
 
 | 
| to_list [CCPersistentHashtbl.S] | |
| to_list [CCFlatHashtbl.S] | |
| to_list [CCTrie.S] | |
| to_list [CCMultiSet.S] | |
| to_list [CCLazy_list] | |
| to_list [CCKList] | 
Gather all values into a list
 
 | 
| to_list [CCArray_slice] | 
Convert directly to a list
 
 | 
| to_list [CCMap.S] | |
| to_list [CCHashtbl.S] | 
List of bindings (order unspecified)
 
 | 
| to_list [CCHashtbl.Poly] | 
List of bindings (order unspecified)
 
 | 
| to_list [CCString.S] | |
| to_list [CCSet.S] | |
| to_list [CCRef] | |
| to_list [CCOpt] | |
| to_list [CCHeap.S] | 
Return the elements of the heap, in no particular order.
 
 | 
| to_list [CCVector] | |
| to_list_mult [CCMultiSet.S] | |
| to_list_rev [CCLazy_list] | |
| to_list_sorted [CCHeap.S] | 
Return the elements in increasing order
 
 | 
| to_nativeint [CCInt64] | |
| to_opt [CCResult] | |
| to_result [CCOpt] | |
| to_result_lazy [CCOpt] | |
| to_rev_list [CCZipper] | 
Convert the zipper back to a reversed list.
 
 | 
| to_rev_list [CCDeque] | 
Efficient conversion to list, in reverse order
 
 | 
| to_rev_list [CCKList] | 
Convert to a list, in reverse order.
 
 | 
| to_seq [CCHet.Map] | |
| to_seq [CCHet.Tbl] | |
| to_seq [CCImmutArray] | |
| to_seq [CCRAL] | |
| to_seq [CCWBTree.S] | |
| to_seq [CCHashTrie.S] | |
| to_seq [CCHashSet.S] | |
| to_seq [CCGraph.MAP] | |
| to_seq [CCPersistentArray] | |
| to_seq [CCIntMap] | |
| to_seq [CCBV] | |
| to_seq [CCFQueue] | |
| to_seq [CCDeque] | 
iterate on the elements
 
 | 
| to_seq [CCPersistentHashtbl.S] | 
Sequence of the bindings of the table
 
 | 
| to_seq [CCFlatHashtbl.S] | |
| to_seq [CCTrie.WORD] | |
| to_seq [CCTrie.S] | |
| to_seq [CCMultiSet.S] | |
| to_seq [CCMultiMap.S] | |
| to_seq [CCKList] | |
| to_seq [CCArrayLabels] | |
| to_seq [CCListLabels] | |
| to_seq [CCArray_slice] | |
| to_seq [CCResult] | |
| to_seq [CCMap.S] | |
| to_seq [CCHashtbl.S] | 
Iterate on values in the table
 
 | 
| to_seq [CCHashtbl.Poly] | 
Iterate on bindings in the table
 
 | 
| to_seq [CCString.S] | |
| to_seq [CCSet.S] | |
| to_seq [CCRef] | |
| to_seq [CCArray] | |
| to_seq [CCOpt] | |
| to_seq [CCList] | |
| to_seq [CCHeap.S] | |
| to_seq [CCVector] | |
| to_seq_mult [CCMultiSet.S] | |
| to_seq_rev [CCVector] | 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.
 | 
| to_seq_sorted [CCHeap.S] | 
Iterate on the elements, in increasing order
 
 | 
| to_seq_values [CCTrie.S] | |
| to_slice [CCArray_slice] | 
Convert into a triple  
(arr, i, len) where len is the length of
    the subarray of arr starting at offset i
 | 
| to_sorted_list [CCBV] | 
Same as  
CCBV.to_list, but also guarantees the list is sorted in
    increasing order
 | 
| to_string [CCSexp] | |
| to_string [CCInt64] | |
| to_string [CCIO.File] | |
| to_string [CCFormat.Dump] | 
Alias to  
CCFormat.Dump.to_string
 | 
| to_string [CCFormat] | |
| to_string [CCFloat] | |
| to_string [CCInt] | |
| to_string_binary [CCInt] | |
| to_tree [CCTrie.S] | |
| to_tree [CCHeap.S] | |
| token [CCSexp_lex] | |
| top [CCVector] | 
Top element, if present
 
 | 
| top_exn [CCVector] | 
Top element, if present
 
 | 
| topo_sort [CCGraph] | topo_sort ~graph seq returns a list of vertices l where each
    element of l is reachable from seq.
 | 
| topo_sort_tag [CCGraph] | 
Same as  
CCGraph.topo_sort but uses an explicit tag set
 | 
| total_width [CCBitField.S] | 
Current width of the bitfield
 
 | 
| triple [CCEqual] | |
| triple [CCParse.U] | 
Parse a triple using OCaml whitespace conventions.
 
 | 
| triple [CCFormat.Dump] | |
| triple [CCFormat] | |
| triple [CCOrd] | |
| triple [CCHash] | |
| try_ [CCParse] | try_ p tries to parse like p, but backtracks if p fails.
 | 
| try_push [CCBlockingQueue] | try_push q x pushes x into q if q is not full, in which
    case it returns true.
 | 
| try_successively [CCRandom] | try_successively l tries each generator of l, one after the other.
 | 
| try_take [CCBlockingQueue] | 
Take the first element if the queue is not empty, return  
None
    otherwise
 | 
| try_with_lock [CCLock] | try_with_lock l f runs f x in a critical section if l is not
    locked.
 | 
U  | |
| unbounded [CCCache] | 
Unbounded cache, backed by a Hash table.
 
 | 
| uncapitalize_ascii [CCString] | 
See  
String.
 | 
| uncurry [CCFun] | |
| underlying [CCArray_slice] | 
Underlying array (shared).
 
 | 
| underlying [CCString.Sub] | |
| unfold [CCKList] | unfold f acc calls f acc and: if f acc = Some (x, acc'), yield x, continue with unfold f acc', if f acc = None, stops
 | 
| union [CCHashSet.S] | union a b returns a ∪ b
 | 
| union [CCGraph.MAP] | |
| union [CCIntMap] | |
| union [CCBV] | union bv1 bv2 returns the union of the two sets
 | 
| union [CCMultiSet.S] | union a b contains as many occurrences of an element x
      as count a x + count b x.
 | 
| union [CCMultiMap.S] | 
Union of multimaps
 
 | 
| union [CCListLabels] | 
List union.
 
 | 
| union [CCList] | 
List union.
 
 | 
| union_into [CCBV] | union ~into bv sets into to the union of itself and bv.
 | 
| union_mut [CCHashSet.S] | union_mut ~into a changes into into a ∪ into
 | 
| uniq [CCKList] | uniq eq l returns l but removes consecutive duplicates.
 | 
| uniq [CCListLabels] | 
Remove duplicates w.r.t the equality predicate.
 
 | 
| uniq [CCList] | 
Remove duplicates w.r.t the equality predicate.
 
 | 
| uniq_sort [CCVector] | 
Sort the array and remove duplicates, in place (e.g.
 
 | 
| uniq_succ [CCListLabels] | uniq_succ l removes duplicate elements that occur one next to the other.
 | 
| uniq_succ [CCList] | uniq_succ l removes duplicate elements that occur one next to the other.
 | 
| unit [CCEqual] | |
| unit [CCFormat.Dump] | |
| unit [CCFormat] | 
Prints "()"
 
 | 
| unlines [CCString] | unlines l concatenates all strings of l, separated with '\n'
 | 
| unlines_gen [CCString] | unlines_gen g concatenates all strings of g, separated with '\n'
 | 
| unsafe_get_array [CCVector] | 
Access the underlying shared array (do not modify!).
 
 | 
| unzip [CCKList] | 
Splits each tuple in the list
 
 | 
| update [CCLock.LockRef] | |
| update [CCLock] | update l f replaces the content x of l with f x, atomically
 | 
| update [CCWBTree.S] | update k f m calls f (Some v) if get k m = Some v, f None
      otherwise.
 | 
| update [CCHashTrie.S] | update k ~f m calls f (Some v) if get k m = Some v, f None
      otherwise.
 | 
| update [CCIntMap] | |
| update [CCPersistentHashtbl.S] | update tbl key f calls f None if key doesn't belong in tbl,
      f (Some v) if key -> v otherwise; If f returns None then
      key is removed, else it returns Some v' and key -> v' is added.
 | 
| update [CCTrie.S] | 
Update the binding for the given key.
 
 | 
| update [CCMultiSet.S] | update set x f calls f n where n is the current multiplicity
      of x in set (0 to indicate its absence); the result of f n
      is the new multiplicity of x.
 | 
| update [CCListLabels.Assoc] | update k ~f l updates l on the key k, by calling f (get l k)
      and removing k if it returns None, mapping k to v' if it
      returns Some v'
 | 
| update [CCMap.S] | update k f m calls f (Some v) if find k m = v,
      otherwise it calls f None.
 | 
| update [CCHashtbl.S] | update tbl ~f ~k updates key k by calling f k (Some v) if
      k was mapped to v, or f k None otherwise; if the call
      returns None then k is removed/stays removed, if the call
      returns Some v' then the binding k -> v' is inserted
      using Hashtbl.replace
 | 
| update [CCHashtbl.Poly] | update tbl ~f ~k updates key k by calling f k (Some v) if
      k was mapped to v, or f k None otherwise; if the call
      returns None then k is removed/stays removed, if the call
      returns Some v' then the binding k -> v' is inserted
      using Hashtbl.replace
 | 
| update [CCRef] | 
Update the reference's content with the given function
 
 | 
| update [CCList.Assoc] | update k ~f l updates l on the key k, by calling f (get l k)
      and removing k if it returns None, mapping k to v' if it
      returns Some v'
 | 
| update_map [CCLock] | update_map l f computes x', y = f (get l), then puts x' in l
    and returns y
 | 
| update_mut [CCHashTrie.S] | 
Same as  
CCHashTrie.S.update but with mutability
 | 
| uppercase_ascii [CCChar] | 
See  
Char
 | 
| uppercase_ascii [CCString] | 
See  
String.
 | 
V  | |
| values [CCIntMap] | |
| values [CCFlatHashtbl.S] | |
| values [CCMultiMap.S] | 
Some values may occur several times
 
 | 
| values [CCMap.S] | 
Iterate on values only
 
 | 
| values [CCHashtbl.S] | 
Iterate on values in the table
 
 | 
| values [CCHashtbl.Poly] | 
Iterate on values in the table
 
 | 
| values_list [CCHashtbl.S] | values t is the list of values in t.
 | 
| values_list [CCHashtbl.Poly] | values_list t is the list of values in t.
 | 
| vbox [CCFormat] | 
Wrap the printer in a vertical box
 
 | 
| vertices [CCGraph.MAP] | |
| vertices_l [CCGraph.MAP] | |
W  | |
| wait [CCThread.Barrier] | wait b waits for barrier b to be activated by activate b.
 | 
| wait_until_at_least [CCSemaphore] | wait_until_at_least ~n s ~f waits until get s >= n, then calls f ()
    and returns its result.
 | 
| walk [CCIO.File] | 
Similar to  
CCIO.File.read_dir (with recurse=true), this function walks
      a directory recursively and yields either files or directories.
 | 
| walk_l [CCIO.File] | 
Same as  
CCIO.File.walk but returns a list (therefore it's eager and might
      take some time on large directories)
 | 
| weight [CCWBTree.KEY] | |
| weight [CCWBTree.S] | |
| white [CCParse] | 
Tab or space or newline
 
 | 
| with_ [CCHashTrie.Transient] | Transient.with_ f creates a transient ID i, calls f i,
      freezes the ID i and returns the result of f i.
 | 
| with_acquire [CCSemaphore] | with_acquire ~n s ~f first acquires s with n units,
    calls f (), and then release s with n units.
 | 
| with_cache [CCCache] | with_cache c f behaves like f, but caches calls to f in the
    cache c.
 | 
| with_cache_rec [CCCache] | with_cache_rec c f is a function that first, applies f to
    some f' = fix f, such that recursive calls to f' are cached in c.
 | 
| with_color [CCFormat] | with_color "Blue" pp behaves like the printer pp, but with the given
    style.
 | 
| with_color_ksf [CCFormat] | with_color_ksf "Blue" ~f "%s %d" "yolo" 42 will behave like
    CCFormat.ksprintf, but wrapping the content with the given style
    Example:
    the following with raise Failure with a colored message
    
 | 
| with_color_sf [CCFormat] | with_color_sf "Blue" out "%s %d" "yolo" 42 will behave like
    CCFormat.sprintf, but wrapping the content with the given style
    Example:
    
    status: experimental
 | 
| with_colorf [CCFormat] | with_colorf "Blue" out "%s %d" "yolo" 42 will behave like Format.fprintf,
    but wrapping the content with the given style
    status: experimental
 | 
| with_connection [CCUnix] | 
Wrap  
Unix.open_connection with a handler
 | 
| with_file_lock [CCUnix] | with_file_lock ~kind filename f puts a lock on the offset 0
    of the file named filename, calls f and returns its result after
    the file is unlocked.
 | 
| with_in [CCUnix] | 
Open an input file with the given optional flag list, calls the function
    on the input channel.
 
 | 
| with_in [CCIO] | 
Open an input file with the given optional flag list, calls the function
    on the input channel.
 
 | 
| with_in_out [CCIO] | 
Combines  
CCIO.with_in and CCIO.with_out.
 | 
| with_lock [CCLock] | with_lock l f runs f x where x is the value protected with
    the lock l, in a critical section.
 | 
| with_lock_as_ref [CCLock] | with_lock_as_ref l f calls f with a reference-like object
    that allows to manipulate the value of l safely.
 | 
| with_out [CCUnix] | 
Same as  
CCUnix.with_in but for an output channel
 | 
| with_out [CCGraph.Dot] | 
Shortcut to open a file and write to it
 
 | 
| with_out [CCIO] | 
Same as  
CCIO.with_in but for an output channel
 | 
| with_out_a [CCIO] | 
Similar to  
CCIO.with_out but with the [Open_append; Open_creat; Open_wronly]
    flags activated, to append to the file.
 | 
| with_out_chan [CCFormat] | with_out_chan oc f turns oc into a formatter fmt, and call f fmt.
 | 
| with_process_full [CCUnix] | 
Open a subprocess and obtain a handle to its channels.
 
 | 
| with_process_in [CCUnix] | 
Open a subprocess and obtain a handle to its stdout
     
 | 
| with_process_out [CCUnix] | 
Open a subprocess and obtain a handle to its stdin
 
 | 
| with_temp [CCIO.File] | with_temp ~prefix ~suffix f will call f with the name of a new
        temporary file (located in temp_dir).
 | 
| within [CCFormat] | within a b p wraps p inside the strings a and b.
 | 
| word [CCParse.U] | 
non empty string of alpha num, start with alpha
 
 | 
| wrap [CCOpt] | wrap f x calls f x and returns Some y if f x = y.
 | 
| wrap1 [CCResult] | 
Same as  
CCResult.guard but gives the function one argument.
 | 
| wrap2 [CCResult] | 
Same as  
CCResult.guard but gives the function two arguments.
 | 
| wrap2 [CCOpt] | wrap2 f x y is similar to wrap1 but for binary functions.
 | 
| wrap3 [CCResult] | 
Same as  
CCResult.guard but gives the function three arguments.
 | 
| write [CCIO.File] | 
Write the given string into the given file
 
 | 
| write_exn [CCIO.File] | 
Write the given string into the given file, possibly raising
 
 | 
| write_gen [CCIO] | 
Write the given strings on the output.
 
 | 
| write_line [CCIO] | 
Write the given string on the channel, followed by "\n"
 
 | 
| write_lines [CCIO] | 
Write every string on the output, followed by "\n".
 
 | 
| write_lines_l [CCIO] | |
Z  | |
| zip [CCKList] | 
Combine elements pairwise.
 
 |