1
(*pp cpp $ARCH_FLAGS *)
3
(* File: unsafe_sw_arg.mli
7
Jane Street Holding, LLC
9
email: mmottl\@janestcapital.com
10
WWW: http://www.janestcapital.com/ocaml
12
This library is free software; you can redistribute it and/or
13
modify it under the terms of the GNU Lesser General Public
14
License as published by the Free Software Foundation; either
15
version 2 of the License, or (at your option) any later version.
17
This library is distributed in the hope that it will be useful,
18
but WITHOUT ANY WARRANTY; without even the implied warranty of
19
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20
Lesser General Public License for more details.
22
You should have received a copy of the GNU Lesser General Public
23
License along with this library; if not, write to the Free Software
24
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
27
(** Sw_arg: sizer and writer combination *)
35
(** Type of pair of functions for computing the size of values and
37
type 'a sw_arg = 'a sizer * 'a writer
38
type ('a, 'b) sw_arg1 = 'a sw_arg -> 'b sw_arg
39
type ('a, 'b, 'c) sw_arg2 = 'a sw_arg -> ('b, 'c) sw_arg1
40
type ('a, 'b, 'c, 'd) sw_arg3 = 'a sw_arg -> ('b, 'c, 'd) sw_arg2
42
val bin_sw_arg_unit : unit sw_arg
43
val bin_sw_arg_bool : bool sw_arg
44
val bin_sw_arg_string : string sw_arg
45
val bin_sw_arg_char : char sw_arg
46
val bin_sw_arg_int : int sw_arg
47
val bin_sw_arg_float : float sw_arg
48
val bin_sw_arg_int32 : int32 sw_arg
49
val bin_sw_arg_int64 : int64 sw_arg
50
val bin_sw_arg_nativeint : nativeint sw_arg
51
val bin_sw_arg_nat0 : Nat0.t sw_arg
52
val bin_sw_arg_ref : ('a, 'a ref) sw_arg1
53
val bin_sw_arg_lazy : ('a, 'a lazy_t) sw_arg1
54
val bin_sw_arg_option : ('a, 'a option) sw_arg1
55
val bin_sw_arg_pair : ('a, 'b, 'a * 'b) sw_arg2
56
val bin_sw_arg_triple : ('a, 'b, 'c, 'a * 'b * 'c) sw_arg3
57
val bin_sw_arg_list : ('a, 'a list) sw_arg1
58
val bin_sw_arg_array : ('a, 'a array) sw_arg1
59
val bin_sw_arg_hashtbl : ('a, 'b, ('a, 'b) Hashtbl.t) sw_arg2
60
val bin_sw_arg_float32_vec : vec32 sw_arg
61
val bin_sw_arg_float64_vec : vec64 sw_arg
62
val bin_sw_arg_vec : vec sw_arg
63
val bin_sw_arg_float32_mat : mat32 sw_arg
64
val bin_sw_arg_float64_mat : mat64 sw_arg
65
val bin_sw_arg_mat : mat sw_arg
66
val bin_sw_arg_float_array : float array sw_arg
67
val bin_sw_arg_variant_tag : [> ] sw_arg
68
val bin_sw_arg_int_8bit : int sw_arg
69
val bin_sw_arg_int_16bit : int sw_arg
70
val bin_sw_arg_int_32bit : int sw_arg
73
val bin_sw_arg_int_64bit : int sw_arg
76
val bin_sw_arg_int64_bits : int64 sw_arg
77
val bin_sw_arg_array_no_length : ('a, 'a array) sw_arg1