1Obj(3) OCaml library Obj(3)
2
3
4
6 Obj - Operations on internal representations of values.
7
9 Module Obj
10
12 Module Obj
13 : sig end
14
15
16 Operations on internal representations of values.
17
18 Not for the casual user.
19
20
21
22
23
24
25 type t
26
27
28
29
30
31 val repr : 'a -> t
32
33
34
35
36 val obj : t -> 'a
37
38
39
40
41 val magic : 'a -> 'b
42
43
44
45
46 val is_block : t -> bool
47
48
49
50
51 val is_int : t -> bool
52
53
54
55
56 val tag : t -> int
57
58
59
60
61 val set_tag : t -> int -> unit
62
63
64
65
66 val size : t -> int
67
68
69
70
71 val field : t -> int -> t
72
73
74
75
76 val set_field : t -> int -> t -> unit
77
78
79
80
81 val double_field : t -> int -> float
82
83
84
85
86 val set_double_field : t -> int -> float -> unit
87
88
89
90
91 val new_block : int -> int -> t
92
93
94
95
96 val dup : t -> t
97
98
99
100
101 val truncate : t -> int -> unit
102
103
104
105
106 val add_offset : t -> int -> t
107
108
109
110
111 val lazy_tag : int
112
113
114
115
116 val closure_tag : int
117
118
119
120
121 val object_tag : int
122
123
124
125
126 val infix_tag : int
127
128
129
130
131 val forward_tag : int
132
133
134
135
136 val no_scan_tag : int
137
138
139
140
141 val abstract_tag : int
142
143
144
145
146 val string_tag : int
147
148
149
150
151 val double_tag : int
152
153
154
155
156 val double_array_tag : int
157
158
159
160
161 val custom_tag : int
162
163
164
165
166 val final_tag : int
167
168
169
170
171 val int_tag : int
172
173
174
175
176 val out_of_heap_tag : int
177
178
179
180
181 val unaligned_tag : int
182
183
184
185
186
187 === The following two functions are deprecated. Use module Marshal
188 instead. ===
189
190
191 val marshal : t -> string
192
193
194
195
196 val unmarshal : string -> int -> t * int
197
198
199
200
201
202
203OCamldoc 2017-03-22 Obj(3)