ocaml-base-compiler
-
library dynlink
-
module Dynlink
-
-
library ocamlbytecomp
-
module Bytegen
-
module Bytelibrarian
-
module Bytelink
-
module Bytepackager
-
module Compile
-
module Emitcode
-
module Errors
-
module Instruct
-
module Maindriver
-
module Printinstr
-
-
library ocamlcommon
-
module Ast_helper
-
module Attr
-
module Cf
-
module Ci
-
module Cl
-
module Const
-
module Csig
-
module Cstr
-
module Ctf
-
module Cty
-
module Exp
-
module Incl
-
module Mb
-
module Md
-
module Mod
-
module Ms
-
module Mtd
-
module Mty
-
module Of
-
module Opn
-
module Pat
-
module Rf
-
module Sig
-
module Str
-
module Te
-
module Typ
-
module Type
-
module Val
-
module Vb
-
-
module Ast_invariants
-
module Ast_iterator
-
module Ast_mapper
-
module Attr_helper
-
module Binutils
-
module Build_path_prefix_map
-
module Builtin_attributes
-
module Bytesections
-
module CamlinternalMenhirLib
-
module Convert
-
module Simplified
-
-
module EngineTypes
-
module type ENGINE
-
module type INCREMENTAL_ENGINE_START
-
module type MONOLITHIC_ENGINE
-
-
module ErrorReports
-
module General
-
module IncrementalEngine
-
module type EVERYTHING
-
module type INCREMENTAL_ENGINE
-
module type INSPECTION
-
module type SYMBOLS
-
-
module InfiniteArray
-
module InspectionTableFormat
-
module type TABLES
-
-
module LinearizedArray
-
module PackedIntArray
-
module RowDisplacement
-
module StaticVersion
-
module TableFormat
-
module type TABLES
-
-
module TableInterpreter
-
module MakeEngineTable
-
-
-
module Ccomp
-
module Clflags
-
module Compiler_pass
-
module Float_arg_helper
-
module Int_arg_helper
-
-
module Cmi_format
-
module Cmt2annot
-
module Cmt_format
-
module Compenv
-
module Compile_common
-
module Compmisc
-
module Config
-
module Ctype
-
module TypePairs
-
module Unification_trace
-
-
module Datarepr
-
module Debuginfo
-
module Scoped_location
-
-
module Depend
-
module Dll
-
module Docstrings
-
module WithMenhir
-
-
module Domainstate
-
module Env
-
module Envaux
-
module Includeclass
-
module Includecore
-
module Includemod
-
module Lambda
-
module Lexer
-
module Local_store
-
module Location
-
module Longident
-
module Main_args
-
module type Arg_list
-
module type Bytecomp_options
-
module type Bytetop_options
-
module type Common_options
-
module type Compiler_options
-
module type Core_options
-
module Make_bytecomp_options
-
argument 1-_
-
-
module Make_bytetop_options
-
argument 1-_
-
-
module Make_ocamldoc_options
-
argument 1-_
-
-
module Make_optcomp_options
-
argument 1-_
-
-
module Make_opttop_options
-
argument 1-_
-
-
module type Ocamldoc_options
-
module type Optcommon_options
-
module type Optcomp_options
-
module type Opttop_options
-
module type Toplevel_options
-
-
module Makedepend
-
module Matching
-
module Meta
-
module Misc
-
module Color
-
module EnvLazy
-
module Error_style
-
module Int_literal_converter
-
module LongString
-
module Magic_number
-
-
module Mtype
-
module Opcodes
-
module Oprint
-
module Parse
-
module Parser
-
module Incremental
-
module MenhirInterpreter
-
-
module Patterns
-
module General
-
module Half_simple
-
module Head
-
module Non_empty_row
-
module Simple
-
-
module Persistent_env
-
module Consistbl
-
module Persistent_signature
-
-
module Pparse
-
module Pprintast
-
module Predef
-
module Primitive
-
module Printast
-
module Printlambda
-
module Printpat
-
module Printtyp
-
module Conflicts
-
module Naming_context
-
module Out_name
-
-
module Printtyped
-
module Profile
-
module Rec_check
-
module Runtimedef
-
module Simplif
-
module Stypes
-
module Subst
-
module Symtable
-
module Syntaxerr
-
module Targetint
-
module Tast_iterator
-
module Tast_mapper
-
module Terminfo
-
module Translattribute
-
module Translclass
-
module Translcore
-
module Translmod
-
module Translobj
-
module Translprim
-
module Type_immediacy
-
module Violation
-
-
module Typeclass
-
module Typecore
-
module Datatype_kind
-
-
module Typedecl
-
module Typedecl_immediacy
-
module Typedecl_properties
-
module Typedecl_separability
-
module Typedecl_unboxed
-
module Typedecl_variance
-
module Typedtree
-
module Typemod
-
module Sig_component_kind
-
module Signature_names
-
-
module Typeopt
-
module Typetexp
-
module Untypeast
-
module Warnings
-
library ocamlmiddleend
-
module Alias_analysis
-
module Allocated_const
-
module Augment_specialised_args
-
module Definition
-
module type S
-
module What_to_specialise
-
-
module Backend_var
-
module Provenance
-
module With_provenance
-
-
module Build_export_info
-
module Clambda
-
module Clambda_primitives
-
module Closure
-
module Closure_conversion
-
module Closure_conversion_aux
-
module Env
-
module Function_decls
-
module Function_decl
-
-
-
module Closure_element
-
module Closure_id
-
module Closure_middle_end
-
module Closure_offsets
-
module Closure_origin
-
module Compilation_unit
-
module Compilenv
-
module Convert_primitives
-
module Effect_analysis
-
module Export_info
-
module Export_info_for_pack
-
module Extract_projections
-
module Find_recursive_functions
-
module Flambda
-
module Constant_defining_value
-
module With_free_variables
-
-
module Flambda_invariants
-
module Flambda_iterators
-
module Flambda_middle_end
-
module Flambda_to_clambda
-
module Flambda_utils
-
module Switch_storer
-
-
module Freshening
-
module Project_var
-
-
module Id_types
-
module type BaseId
-
module Id
-
module UnitId
-
argument 1-_
-
argument 2-Compilation_unit
-
module Compilation_unit
-
-
-
module Import_approx
-
module Inconstant_idents
-
module Inline_and_simplify
-
module Inline_and_simplify_aux
-
module Inlining_cost
-
module Benefit
-
module Threshold
-
module Whether_sufficient_benefit
-
-
module Inlining_decision
-
module Inlining_stats
-
module Closure_stack
-
-
module Inlining_stats_types
-
module Decision
-
module Inlined
-
module Not_inlined
-
module Not_specialised
-
module Prevented
-
module Specialised
-
-
module Inlining_transforms
-
module Internal_variable_names
-
module Invariant_params
-
module Lift_code
-
module Lift_constants
-
module Linkage_name
-
module Mutable_variable
-
module Pass_wrapper
-
module Printclambda
-
module Printclambda_primitives
-
module Projection
-
module Ref_to_variables
-
module Remove_unused_arguments
-
module Remove_unused_closure_vars
-
module Semantics_of_primitives
-
module Set_of_closures_id
-
module Set_of_closures_origin
-
module Share_constants
-
module Simple_value_approx
-
module Simplify_boxed_integer_ops
-
module Simplify_boxed_int32
-
module Simplify_boxed_int64
-
module Simplify_boxed_nativeint
-
-
module Simplify_common
-
module Simplify_primitives
-
module Static_exception
-
module Un_anf
-
module Unbox_closures
-
module Unbox_free_vars_of_closures
-
module Unbox_specialised_args
-
module Var_within_closure
-
-
library ocamloptcomp
-
module Afl_instrument
-
module Alias_analysis
-
module Allocated_const
-
module Arch
-
module Asmgen
-
module Asmlibrarian
-
module Asmlink
-
module Asmpackager
-
module Augment_specialised_args
-
module Definition
-
module type S
-
module What_to_specialise
-
-
module Available_regs
-
module Backend_var
-
module Provenance
-
module With_provenance
-
-
module Branch_relaxation
-
module Make
-
argument 1-T
-
module Cond_branch
-
-
-
-
module Branch_relaxation_intf
-
module type S
-
module Cond_branch
-
-
-
module Build_export_info
-
module CSEgen
-
module Clambda
-
module Clambda_primitives
-
module Closure
-
module Closure_conversion
-
module Closure_conversion_aux
-
module Env
-
module Function_decls
-
module Function_decl
-
-
-
module Closure_element
-
module Closure_id
-
module Closure_middle_end
-
module Closure_offsets
-
module Closure_origin
-
module Cmm
-
module Cmm_helpers
-
module Cmmgen
-
module Cmmgen_state
-
module Coloring
-
module Comballoc
-
module Compilation_unit
-
module Compilenv
-
module Compute_ranges
-
module Make
-
argument 1-S
-
module Range_info
-
module Subrange_info
-
module Subrange_state
-
module Range
-
module Subrange
-
-
-
module Compute_ranges_intf
-
module type S
-
module Range
-
module Range_info
-
module Subrange
-
module Subrange_info
-
module Subrange_state
-
module type S_functor
-
module Range_info
-
module Subrange_info
-
module Subrange_state
-
module type S_range_info
-
module type S_subrange_info
-
module type S_subrange_state
-
-
module Convert_primitives
-
module Deadcode
-
module Effect_analysis
-
module Emit
-
module Emitaux
-
module Export_info
-
module Export_info_for_pack
-
module Extract_projections
-
module Find_recursive_functions
-
module Flambda
-
module Constant_defining_value
-
module With_free_variables
-
-
module Flambda_invariants
-
module Flambda_iterators
-
module Flambda_middle_end
-
module Flambda_to_clambda
-
module Flambda_utils
-
module Switch_storer
-
-
module Freshening
-
module Project_var
-
-
module Id_types
-
module type BaseId
-
module Id
-
module UnitId
-
argument 1-_
-
argument 2-Compilation_unit
-
module Compilation_unit
-
-
-
module Import_approx
-
module Inconstant_idents
-
module Inline_and_simplify
-
module Inline_and_simplify_aux
-
module Inlining_cost
-
module Benefit
-
module Threshold
-
module Whether_sufficient_benefit
-
-
module Inlining_decision
-
module Inlining_stats
-
module Closure_stack
-
-
module Inlining_stats_types
-
module Decision
-
module Inlined
-
module Not_inlined
-
module Not_specialised
-
module Prevented
-
module Specialised
-
-
module Inlining_transforms
-
module Interf
-
module Internal_variable_names
-
module Interval
-
module Invariant_params
-
module Lift_code
-
module Lift_constants
-
module Linear
-
module Linear_format
-
module Linearize
-
module Linkage_name
-
module Linscan
-
module Liveness
-
module Mach
-
module Mutable_variable
-
module Optcompile
-
module Opterrors
-
module Optmaindriver
-
module Pass_wrapper
-
module Printclambda
-
module Printclambda_primitives
-
module Printcmm
-
module Printlinear
-
module Printmach
-
module Proc
-
module Projection
-
module Ref_to_variables
-
module Reg_availability_set
-
module Reg_with_debug_info
-
module Debug_info
-
module Set
-
-
module Reload
-
module Reloadgen
-
module Remove_unused_arguments
-
module Remove_unused_closure_vars
-
module Schedgen
-
module Scheduling
-
module Selectgen
-
module Coeffect
-
module Effect
-
module Effect_and_coeffect
-
-
module Selection
-
module Semantics_of_primitives
-
module Set_of_closures_id
-
module Set_of_closures_origin
-
module Share_constants
-
module Simple_value_approx
-
module Simplify_boxed_integer_ops
-
module Simplify_boxed_int32
-
module Simplify_boxed_int64
-
module Simplify_boxed_nativeint
-
-
module Simplify_common
-
module Simplify_primitives
-
module Spill
-
module Split
-
module Static_exception
-
module Un_anf
-
module Unbox_closures
-
module Unbox_free_vars_of_closures
-
module Unbox_specialised_args
-
module Var_within_closure
-
module X86_gas
-
module X86_masm
-
module X86_proc
-
-
library odoc_info
-
module Odoc_analyse
-
module Odoc_ast
-
module Typedtree_search
-
module Odoc_class
-
module Odoc_comments
-
module Basic_info_retriever
-
module type Texter
-
-
module Odoc_comments_global
-
module Odoc_config
-
module Odoc_control
-
module Odoc_cross
-
module Odoc_env
-
module Odoc_exception
-
module Odoc_extension
-
module Odoc_global
-
module Odoc_inherit
-
module Odoc_lexer
-
module Odoc_merge
-
module Odoc_messages
-
module Odoc_misc
-
module Odoc_module
-
module Odoc_parameter
-
module Odoc_parser
-
module Odoc_print
-
module Odoc_search
-
module P_name
-
module type Predicates
-
module Search_by_name
-
-
module Odoc_see_lexer
-
module Odoc_sig
-
module type Info_retriever
-
module Signature_search
-
module Odoc_str
-
module Odoc_text_lexer
-
module Odoc_text_parser
-
module Odoc_type
-
module Odoc_types
-
module Odoc_value
-
-
library stdlib
-
module CamlinternalAtomic
-
module CamlinternalFormat
-
module CamlinternalFormatBasics
-
module CamlinternalLazy
-
module CamlinternalMod
-
module CamlinternalOO
-
module Stdlib
-
module Arg
-
module Array
-
module ArrayLabels
-
module Atomic
-
module Bool
-
module Buffer
-
module Bytes
-
module BytesLabels
-
module Callback
-
module Char
-
module Complex
-
module Digest
-
module Either
-
module Ephemeron
-
module GenHashTable
-
module MakeSeeded
-
argument 1-H
-
-
-
module K1
-
module MakeSeeded
-
argument 1-H
-
-
module Kn
-
module MakeSeeded
-
argument 1-H
-
-
module type S
-
module type SeededS
-
-
module Filename
-
module Float
-
module Array
-
module ArrayLabels
-
-
module Format
-
module Fun
-
module Genlex
-
module Hashtbl
-
module type HashedType
-
module MakeSeeded
-
argument 1-H
-
-
module type S
-
module type SeededHashedType
-
module type SeededS
-
-
module Int
-
module Int32
-
module Int64
-
module LargeFile
-
module Lazy
-
module Lexing
-
module List
-
module ListLabels
-
module Map
-
module type OrderedType
-
module type S
-
module Marshal
-
module MoreLabels
-
module Hashtbl
-
module type HashedType
-
module MakeSeeded
-
argument 1-H
-
-
module type S
-
module type SeededHashedType
-
module type SeededS
-
-
module Map
-
module type OrderedType
-
module type S
-
module Set
-
module type OrderedType
-
module type S
-
-
module Nativeint
-
module Obj
-
module Closure
-
module Ephemeron
-
module Extension_constructor
-
-
module Oo
-
module Option
-
module Parsing
-
module Pervasives
-
module Printf
-
module Queue
-
module Result
-
module Seq
-
module Set
-
module type OrderedType
-
module type S
-
module Stack
-
module StdLabels
-
module Stream
-
module String
-
module StringLabels
-
module Sys
-
module Immediate64
-
module type Immediate
-
module Make
-
argument 1-Immediate
-
argument 2-Non_immediate
-
-
module type Non_immediate
-
-
-
module Uchar
-
module Unit
-
-
-
library str
-
module Str
-
-
library unix
-
module UnixLabels
-
module LargeFile
-
Raised when Queue.take
or Queue.peek
is applied to an empty queue.
val create : unit -> 'a t
Return a new queue, initially empty.
val add : 'a -> 'a t -> unit
add x q
adds the element x
at the end of the queue q
.
val push : 'a -> 'a t -> unit
push
is a synonym for add
.
val take : 'a t -> 'a
take q
removes and returns the first element in queue q
, or raises Empty
if the queue is empty.
val take_opt : 'a t -> 'a option
take_opt q
removes and returns the first element in queue q
, or returns None
if the queue is empty.
val pop : 'a t -> 'a
pop
is a synonym for take
.
val peek : 'a t -> 'a
peek q
returns the first element in queue q
, without removing it from the queue, or raises Empty
if the queue is empty.
val peek_opt : 'a t -> 'a option
peek_opt q
returns the first element in queue q
, without removing it from the queue, or returns None
if the queue is empty.
val top : 'a t -> 'a
top
is a synonym for peek
.
val clear : 'a t -> unit
Discard all elements from a queue.
val is_empty : 'a t -> bool
Return true
if the given queue is empty, false
otherwise.
val length : 'a t -> int
Return the number of elements in a queue.
val iter : ( 'a -> unit ) -> 'a t -> unit
iter f q
applies f
in turn to all elements of q
, from the least recently entered to the most recently entered. The queue itself is unchanged.
val fold : ( 'b -> 'a -> 'b ) -> 'b -> 'a t -> 'b
fold f accu q
is equivalent to List.fold_left f accu l
, where l
is the list of q
's elements. The queue remains unchanged.
transfer q1 q2
adds all of q1
's elements at the end of the queue q2
, then clears q1
. It is equivalent to the sequence iter (fun x -> add x q2) q1; clear q1
, but runs in constant time.
Iterators
Iterate on the queue, in front-to-back order. The behavior is not defined if the queue is modified during the iteration.