package core_kernel
Industrial strength alternative to OCaml's standard library
Install
Dune Dependency
Authors
Maintainers
Sources
core_kernel-v0.16.0.tar.gz
sha256=e37370bad978cfb71fdaf2b1a25ab1506b98ef0b91e0dbd189ffd9d853245ce2
doc/src/core_kernel.iobuf/iobuf_intf.ml.html
Source file iobuf_intf.ml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248
(** See {{!Iobuf}[Iobuf]} for documentation. *) open! Core (** [no_seek] and [seek] are phantom types used in a similar manner to [read] and [read_write]. *) (** Like [read]. *) type no_seek [@@deriving sexp_of] (** Like [read_write]. *) type seek = private no_seek [@@deriving sexp_of] (** Collections of access functions. These abstract over [Iobuf.Consume], [Iobuf.Fill], [Iobuf.Peek], and [Iobuf.Poke]. Make all labeled arguments mandatory in [string] and [bigstring] to avoid accidental allocation in, e.g., [Iobuf.Poke.string]. For convenience, [stringo] and [bigstringo] are available by analogy between [blit] and [blito]. [_trunc] functions silently truncate values that don't fit. For example, [Iobuf.Unsafe.Poke.int8 128] effectively writes -128. *) module type Accessors_common = sig (** [('d, 'w) Iobuf.t] accessor function manipulating ['a], either writing it to the iobuf or reading it from the iobuf. *) type ('a, 'd, 'w) t constraint 'd = [> read ] type ('a, 'd, 'w) t_local constraint 'd = [> read ] type 'a bin_prot val char : (char, 'd, 'w) t val bin_prot : 'a bin_prot -> ('a, 'd, 'w) t end module type Accessors_read = sig include Accessors_common val int8 : (int, 'd, 'w) t val int16_be : (int, 'd, 'w) t val int16_le : (int, 'd, 'w) t val int32_be : (int, 'd, 'w) t val int32_le : (int, 'd, 'w) t val int64_be_exn : (int, 'd, 'w) t val int64_le_exn : (int, 'd, 'w) t val int64_be_trunc : (int, 'd, 'w) t val int64_le_trunc : (int, 'd, 'w) t val uint8 : (int, 'd, 'w) t val uint16_be : (int, 'd, 'w) t val uint16_le : (int, 'd, 'w) t val uint32_be : (int, 'd, 'w) t val uint32_le : (int, 'd, 'w) t val uint64_be_exn : (int, 'd, 'w) t val uint64_le_exn : (int, 'd, 'w) t val int64_t_be : (Int64.t, 'd, 'w) t val int64_t_le : (Int64.t, 'd, 'w) t val head_padded_fixed_string : padding:char -> len:int -> (string, 'd, 'w) t val tail_padded_fixed_string : padding:char -> len:int -> (string, 'd, 'w) t val string : str_pos:int -> len:int -> (string, 'd, 'w) t val bytes : str_pos:int -> len:int -> (Bytes.t, 'd, 'w) t val bigstring : str_pos:int -> len:int -> (Bigstring.t, 'd, 'w) t val stringo : ?str_pos:(int[@local]) -> ?len:(int[@local]) -> ((string, 'd, 'w) t[@local]) val byteso : ?str_pos:(int[@local]) -> ?len:(int[@local]) -> ((Bytes.t, 'd, 'w) t[@local]) val bigstringo : ?str_pos:(int[@local]) -> ?len:(int[@local]) -> ((Bigstring.t, 'd, 'w) t[@local]) module Local : sig val int64_t_be : (Int64.t, 'd, 'w) t_local val int64_t_le : (Int64.t, 'd, 'w) t_local val head_padded_fixed_string : padding:char -> len:int -> (string, 'd, 'w) t_local val tail_padded_fixed_string : padding:char -> len:int -> (string, 'd, 'w) t_local val string : str_pos:int -> len:int -> (string, 'd, 'w) t_local val bytes : str_pos:int -> len:int -> (Bytes.t, 'd, 'w) t_local val stringo : ?str_pos:(int[@local]) -> ?len:(int[@local]) -> ((string, 'd, 'w) t_local[@local]) val byteso : ?str_pos:(int[@local]) -> ?len:(int[@local]) -> ((Bytes.t, 'd, 'w) t_local[@local]) end module Int_repr : sig val int8 : (Int_repr.Int8.t, 'd, 'w) t val int16_be : (Int_repr.Int16.t, 'd, 'w) t val int16_le : (Int_repr.Int16.t, 'd, 'w) t val int32_be : (Int_repr.Int32.t, 'd, 'w) t val int32_le : (Int_repr.Int32.t, 'd, 'w) t val int64_be : (Int_repr.Int64.t, 'd, 'w) t val int64_le : (Int_repr.Int64.t, 'd, 'w) t val uint8 : (Int_repr.Uint8.t, 'd, 'w) t val uint16_be : (Int_repr.Uint16.t, 'd, 'w) t val uint16_le : (Int_repr.Uint16.t, 'd, 'w) t val uint32_be : (Int_repr.Uint32.t, 'd, 'w) t val uint32_le : (Int_repr.Uint32.t, 'd, 'w) t val uint64_be : (Int_repr.Uint64.t, 'd, 'w) t val uint64_le : (Int_repr.Uint64.t, 'd, 'w) t end end module type Accessors_write = sig include Accessors_common val int8_trunc : (int, 'd, 'w) t val int16_be_trunc : (int, 'd, 'w) t val int16_le_trunc : (int, 'd, 'w) t val int32_be_trunc : (int, 'd, 'w) t val int32_le_trunc : (int, 'd, 'w) t val int64_be : (int, 'd, 'w) t val int64_le : (int, 'd, 'w) t val uint8_trunc : (int, 'd, 'w) t val uint16_be_trunc : (int, 'd, 'w) t val uint16_le_trunc : (int, 'd, 'w) t val uint32_be_trunc : (int, 'd, 'w) t val uint32_le_trunc : (int, 'd, 'w) t val uint64_be_trunc : (int, 'd, 'w) t val uint64_le_trunc : (int, 'd, 'w) t val int64_t_be : (Int64.t, 'd, 'w) t_local val int64_t_le : (Int64.t, 'd, 'w) t_local val head_padded_fixed_string : padding:char -> len:int -> (string, 'd, 'w) t_local val tail_padded_fixed_string : padding:char -> len:int -> (string, 'd, 'w) t_local val string : str_pos:int -> len:int -> (string, 'd, 'w) t_local val bytes : str_pos:int -> len:int -> (Bytes.t, 'd, 'w) t_local val bigstring : str_pos:int -> len:int -> (Bigstring.t, 'd, 'w) t_local val stringo : ?str_pos:(int[@local]) -> ?len:(int[@local]) -> ((string, 'd, 'w) t_local[@local]) val byteso : ?str_pos:(int[@local]) -> ?len:(int[@local]) -> ((Bytes.t, 'd, 'w) t_local[@local]) val bigstringo : ?str_pos:(int[@local]) -> ?len:(int[@local]) -> ((Bigstring.t, 'd, 'w) t_local[@local]) module Int_repr : sig val int8 : (Int_repr.Int8.t, 'd, 'w) t val int16_be : (Int_repr.Int16.t, 'd, 'w) t val int16_le : (Int_repr.Int16.t, 'd, 'w) t val int32_be : (Int_repr.Int32.t, 'd, 'w) t val int32_le : (Int_repr.Int32.t, 'd, 'w) t val int64_be : (Int_repr.Int64.t, 'd, 'w) t val int64_le : (Int_repr.Int64.t, 'd, 'w) t val uint8 : (Int_repr.Uint8.t, 'd, 'w) t val uint16_be : (Int_repr.Uint16.t, 'd, 'w) t val uint16_le : (Int_repr.Uint16.t, 'd, 'w) t val uint32_be : (Int_repr.Uint32.t, 'd, 'w) t val uint32_le : (Int_repr.Uint32.t, 'd, 'w) t val uint64_be : (Int_repr.Uint64.t, 'd, 'w) t val uint64_le : (Int_repr.Uint64.t, 'd, 'w) t end end (** An iobuf window bound, either upper or lower. You can't see its int value, but you can save and restore it. *) module type Bound = sig type ('d, 'w) iobuf type t = private int (*_ performance hack: avoid the write barrier *) [@@deriving compare, sexp_of] val window : ((_, _) iobuf[@local]) -> t val limit : ((_, _) iobuf[@local]) -> t val restore : t -> ((_, seek) iobuf[@local]) -> unit end (** The [src_pos] argument of {!Core.Blit.blit} doesn't make sense here. *) type ('src, 'dst) consuming_blit = src:('src[@local]) -> dst:('dst[@local]) -> dst_pos:int -> len:int -> unit type ('src, 'dst) consuming_blito = src:('src[@local]) -> ?src_len:int (** Default is [Iobuf.length src]. *) -> dst:('dst[@local]) -> ?dst_pos:int (** Default is [0]. *) -> unit -> unit module type Consuming_blit = sig type src type dst val blito : (src, dst) consuming_blito val blit : (src, dst) consuming_blit val unsafe_blit : (src, dst) consuming_blit (** [subo] defaults to using [Iobuf.length src] *) val subo : ?len:int -> src -> dst val sub : src -> len:int -> dst end module type Compound_hexdump = sig type ('rw, 'seek) t module Hexdump : sig type nonrec ('rw, 'seek) t = ('rw, 'seek) t [@@deriving sexp_of] val to_string_hum : ?max_lines:int -> (_, _) t -> string val to_sequence : ?max_lines:int -> (_, _) t -> string Sequence.t end end module type Peek = sig type ('rw, 'seek) iobuf type 'seek src = (read, 'seek) iobuf (** Similar to [Consume.To_*], but do not advance the buffer. *) module To_bytes : Blit.S1_distinct with type 'seek src := 'seek src with type _ dst := Bytes.t module To_bigstring : Blit.S1_distinct with type 'seek src := 'seek src with type _ dst := Bigstring.t module To_string : sig val sub : (_ src, string) Base.Blit.sub val subo : (_ src, string) Base.Blit.subo end include Accessors_read with type ('a, 'd, 'w) t = (('d, 'w) iobuf[@local]) -> pos:int -> 'a with type ('a, 'd, 'w) t_local = (('d, 'w) iobuf[@local]) -> pos:int -> ('a[@local]) with type 'a bin_prot := 'a Bin_prot.Type_class.reader end
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>