Module Costlib.CostUtils

module L = IBase.Logging
module BasicCost = CostDomain.BasicCost
type model = BO.BufferOverrunUtils.ModelEnv.model_env -> ret:(IR.Ident.t * IR.Typ.t) -> BO.BufferOverrunDomain.Mem.t -> BasicCost.t
val unit_cost_of : of_function:string -> IBase.Location.t -> BasicCost.t
val of_itv : itv:BO.Itv.t -> degree_kind:BO__Polynomials.DegreeKind.t -> of_function:string -> IBase.Location.t -> BasicCost.t
val string_len_range_itv : BO.BufferOverrunUtils.ModelEnv.model_env -> IR.Exp.t -> from:(IR.Exp.t * IR.Typ.IntegerWidths.t) option -> BO.BufferOverrunDomain.Mem.t -> BO.Itv.t

Given a string of length n and an optional starting index i (0 by default), return itv 0, n_u-i_l

module type S = sig ... end
module Array : S
module Collection : S
module NSCollection : S
module CString : S
val get_nodes_in_block : block_start:IR.Procdesc.Node.t -> block_exit:IR.Procdesc.Node.t -> IR.Procdesc.NodeSet.t
val get_nodes_in_autoreleasepool : IR.Procdesc.t -> IR.Procdesc.NodeSet.t