package pds-reachability

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

This module type describes a work collection implementation. Such an implementation will, given a work type, produce a work collection.

Parameters

Signature

module W = W
type work_collection

The type of a work collection.

val equal_work_collection : work_collection -> work_collection -> bool

An equality test for work collections.

val compare_work_collection : work_collection -> work_collection -> int

A comparator for work collections.

val pp_work_collection : Batteries.Format.formatter -> work_collection -> unit

A pretty-printer for work collections.

val show_work_collection : work_collection -> string

A conversion from work collections to strings.

val empty : work_collection

An empty work collection.

Adds a work unit to a work collection.

val take : work_collection -> work_collection * W.t option

Extracts a work unit from a work collection. The only guaratees made by this routine are as follows:

  • Each offered work element can be taken exactly once.
  • A work element is always provided unless the collection is empty.

In particular, there are no guarantees made about the order in which the offered elements are taken.

val is_empty : work_collection -> bool

Determines if a work collection is empty.

val size : work_collection -> int

Determines the number of elements to be taken from a given work collection.

Enumerates the elements in a work collection in the order in which they would be taken.

Exports a work collection as JSON.