Containers doc

Containers

Change Log

See this file

License

This code is free, under the BSD license.

The logo (media/logo.png) is CC-SA3 wikimedia

Contents

The design is mostly centered around polymorphism rather than functors. Such structures comprise (some modules in misc/, some other in core/):

the core library, containers, now depends on cppo and base-bytes (provided by ocamlfind).

Core Modules (extension of the standard library)

findlib name: containers


CCArray
Array utils
CCArrayLabels
Array utils
CCArray_slice
Array Slice
CCBool
Basic Bool functions
CCChar
Utils around char
CCEqual
Equality Combinators
CCFloat
Basic Float functions
CCFormat
Helpers for Format
CCFun
Basic Functions
CCHash
Hash combinators
CCHashtbl
Extension to the standard Hashtbl
CCHeap
Leftist Heaps following Okasaki
CCIO
IO Utils
CCInt
Basic Int functions
CCInt64
Int64
CCList
complements to list
CCListLabels
complements to list
CCMap
Extensions of Standard Map
CCOpt
Options
CCOrd
Comparisons
CCPair
Tuple Functions
CCParse
Very Simple Parser Combinators
CCRandom
Random Generators
CCRef
References
CCResult
Error Monad
CCSet
Wrapper around Set
CCString
Basic String Utils
CCVector
Growable, mutable vector
Containers
Drop-In replacement to Stdlib

The module Containers contains aliases to most other modules defined in containers core, and mixins such as:

 module List = struct
    include List
    include CCList
  end

Containers.data

findlib name: containers.data

Various data structures.


CCBitField
Bit Field
CCBV
Imperative Bitvectors
CCCache
Caches
CCDeque
Imperative deque
CCFQueue
Functional queues
CCFlatHashtbl
Open-Addressing Hash-table
CCGraph
Simple Graph Interface
CCHashSet
Mutable Set
CCHashTrie
Hash Tries
CCImmutArray
Immutable Arrays
CCIntMap
Map specialized for Int keys
CCMixmap
Maps with Heterogeneous Values
CCMixset
Set of Heterogeneous Values
CCMixtbl
Hash Table with Heterogeneous Keys
CCMultiMap
Multimap
CCMultiSet
Multiset
CCPersistentArray
Persistent Arrays
CCPersistentHashtbl
Persistent hash-table on top of OCaml's hashtables
CCRAL
Random-Access Lists
CCRingBuffer
Circular Buffer (Deque)
CCTrie
Prefix Tree
CCWBTree
Weight-Balanced Tree

Containers.unix

Helpers that depend on Unix, e.g. to spawn sub-processes.


CCUnix
High-level Functions on top of Unix

Containers.sexp

A small S-expression library. The interface is relatively unstable, but the main type (CCSexp.t) isn't.


CCSexp
Handling S-expressions

Containers.iter

Iterators:


CCKList
Continuation List
CCKTree
Lazy Tree Structure This structure can be used to represent trees and directed graphs (as infinite trees) in a lazy fashion.
CCLazy_list
Lazy List

String

containers.string has been removed. Some of its functionality is present in CCString; some in other libraries such as Spelll.

Bigarrays

containers.bigarray has been removed. Use the Bigstring library for arrays of bytes.

Advanced

containers.advanced has been removed. Use OLinq to replace some of its functionality.

Misc

Moved to its own repository.

Lwt

Moved to its own repository

Thread Helpers

findlib name: containers.thread

Modules related to the use of Thread.


CCBlockingQueue
Blocking Queue
CCLock
Utils around Mutex
CCPool
Thread Pool, and Futures
CCSemaphore
Semaphores
CCThread
Threads
CCTimer
Event timer

Index