~ubuntu-branches/ubuntu/lucid/bin-prot/lucid

« back to all changes in this revision

Viewing changes to lib/unsafe_sw_arg.mli

  • Committer: Bazaar Package Importer
  • Author(s): Stefano Zacchiroli
  • Date: 2008-05-09 15:24:37 UTC
  • Revision ID: james.westby@ubuntu.com-20080509152437-7gils45p37xcs40c
Tags: upstream-1.0.5
ImportĀ upstreamĀ versionĀ 1.0.5

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
(*pp cpp $ARCH_FLAGS *)
 
2
 
 
3
(* File: unsafe_sw_arg.mli
 
4
 
 
5
    Copyright (C) 2007-
 
6
 
 
7
      Jane Street Holding, LLC
 
8
      Author: Markus Mottl
 
9
      email: mmottl\@janestcapital.com
 
10
      WWW: http://www.janestcapital.com/ocaml
 
11
 
 
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.
 
16
 
 
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.
 
21
 
 
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
 
25
*)
 
26
 
 
27
(** Sw_arg: sizer and writer combination *)
 
28
 
 
29
open Bigarray
 
30
 
 
31
open Common
 
32
open Size
 
33
open Unsafe_write_c
 
34
 
 
35
(** Type of pair of functions for computing the size of values and
 
36
    writing them. *)
 
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
 
41
 
 
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
 
71
 
 
72
#ifdef ARCH_SIXTYFOUR
 
73
val bin_sw_arg_int_64bit : int sw_arg
 
74
#endif
 
75
 
 
76
val bin_sw_arg_int64_bits : int64 sw_arg
 
77
val bin_sw_arg_array_no_length : ('a, 'a array) sw_arg1