Module CostModels.JavaString

val substring_aux : begin_idx:InferIR.Exp.t -> end_v:BufferOverrunDomain.Val.t -> BufferOverrunUtils.ModelEnv.model_env -> BufferOverrunDomain.Mem.t -> BasicCost.t
val substring : InferIR.Exp.t -> InferIR.Exp.t -> BufferOverrunUtils.ModelEnv.model_env -> ret:'a -> BufferOverrunDomain.Mem.t -> BasicCost.t
val substring_no_end : InferIR.Exp.t -> InferIR.Exp.t -> BufferOverrunUtils.ModelEnv.model_env -> ret:'a -> BufferOverrunDomain.Mem.t -> BasicCost.t
val indexOf_char : InferIR.Exp.t -> BufferOverrunUtils.ModelEnv.model_env -> ret:'a -> BufferOverrunDomain.Mem.t -> BasicCost.t

O(|m|) where m is the given string and |.| is the length function

val indexOf_char_starting_from : InferIR.Exp.t -> InferIR.Exp.t -> BufferOverrunUtils.ModelEnv.model_env -> ret:'a -> BufferOverrunDomain.Mem.t -> BasicCost.t

O(|m|-|n|) where m is the given string and n is the index to start searching from

val indexOf_str : InferIR.Exp.t -> InferIR.Exp.t -> BufferOverrunUtils.ModelEnv.model_env -> ret:'a -> BufferOverrunDomain.Mem.t -> BasicCost.t

O(|m|.|n|) where m and n are the given strings