4
4
Core serialization interfaces.
5
5
*/
6
6
7
- trait Serializer {
7
+ pub trait Serializer {
8
8
// Primitive types:
9
9
fn emit_nil ( ) ;
10
10
fn emit_uint ( v : uint ) ;
@@ -37,7 +37,7 @@ trait Serializer {
37
37
fn emit_tup_elt ( idx : uint , f : fn ( ) ) ;
38
38
}
39
39
40
- trait Deserializer {
40
+ pub trait Deserializer {
41
41
// Primitive types:
42
42
fn read_nil ( ) -> ( ) ;
43
43
@@ -81,7 +81,7 @@ trait Deserializer {
81
81
//
82
82
// In some cases, these should eventually be coded as traits.
83
83
84
- fn emit_from_vec < S : Serializer , T > ( & & s: S , & & v: ~[ T ] , f : fn ( & & x: T ) ) {
84
+ pub fn emit_from_vec < S : Serializer , T > ( & & s: S , & & v: ~[ T ] , f : fn ( & & x: T ) ) {
85
85
do s. emit_vec ( vec:: len ( v) ) {
86
86
for vec:: eachi( v) |i, e| {
87
87
do s. emit_vec_elt( i) {
@@ -91,15 +91,15 @@ fn emit_from_vec<S: Serializer, T>(&&s: S, &&v: ~[T], f: fn(&&x: T)) {
91
91
}
92
92
}
93
93
94
- fn read_to_vec < D : Deserializer , T : Copy > ( & & d: D , f : fn ( ) -> T ) -> ~[ T ] {
94
+ pub fn read_to_vec < D : Deserializer , T : Copy > ( & & d: D , f : fn ( ) -> T ) -> ~[ T ] {
95
95
do d. read_vec |len| {
96
96
do vec:: from_fn ( len) |i| {
97
97
d. read_vec_elt ( i, || f ( ) )
98
98
}
99
99
}
100
100
}
101
101
102
- trait SerializerHelpers {
102
+ pub trait SerializerHelpers {
103
103
fn emit_from_vec < T > ( & & v: ~[ T ] , f : fn ( & & x: T ) ) ;
104
104
}
105
105
@@ -109,7 +109,7 @@ impl<S: Serializer> S: SerializerHelpers {
109
109
}
110
110
}
111
111
112
- trait DeserializerHelpers {
112
+ pub trait DeserializerHelpers {
113
113
fn read_to_vec < T : Copy > ( f : fn ( ) -> T ) -> ~[ T ] ;
114
114
}
115
115
@@ -119,127 +119,127 @@ impl<D: Deserializer> D: DeserializerHelpers {
119
119
}
120
120
}
121
121
122
- fn serialize_uint < S : Serializer > ( & & s: S , v : uint ) {
122
+ pub fn serialize_uint < S : Serializer > ( & & s: S , v : uint ) {
123
123
s. emit_uint ( v) ;
124
124
}
125
125
126
- fn deserialize_uint < D : Deserializer > ( & & d: D ) -> uint {
126
+ pub fn deserialize_uint < D : Deserializer > ( & & d: D ) -> uint {
127
127
d. read_uint ( )
128
128
}
129
129
130
- fn serialize_u8 < S : Serializer > ( & & s: S , v : u8 ) {
130
+ pub fn serialize_u8 < S : Serializer > ( & & s: S , v : u8 ) {
131
131
s. emit_u8 ( v) ;
132
132
}
133
133
134
- fn deserialize_u8 < D : Deserializer > ( & & d: D ) -> u8 {
134
+ pub fn deserialize_u8 < D : Deserializer > ( & & d: D ) -> u8 {
135
135
d. read_u8 ( )
136
136
}
137
137
138
- fn serialize_u16 < S : Serializer > ( & & s: S , v : u16 ) {
138
+ pub fn serialize_u16 < S : Serializer > ( & & s: S , v : u16 ) {
139
139
s. emit_u16 ( v) ;
140
140
}
141
141
142
- fn deserialize_u16 < D : Deserializer > ( & & d: D ) -> u16 {
142
+ pub fn deserialize_u16 < D : Deserializer > ( & & d: D ) -> u16 {
143
143
d. read_u16 ( )
144
144
}
145
145
146
- fn serialize_u32 < S : Serializer > ( & & s: S , v : u32 ) {
146
+ pub fn serialize_u32 < S : Serializer > ( & & s: S , v : u32 ) {
147
147
s. emit_u32 ( v) ;
148
148
}
149
149
150
- fn deserialize_u32 < D : Deserializer > ( & & d: D ) -> u32 {
150
+ pub fn deserialize_u32 < D : Deserializer > ( & & d: D ) -> u32 {
151
151
d. read_u32 ( )
152
152
}
153
153
154
- fn serialize_u64 < S : Serializer > ( & & s: S , v : u64 ) {
154
+ pub fn serialize_u64 < S : Serializer > ( & & s: S , v : u64 ) {
155
155
s. emit_u64 ( v) ;
156
156
}
157
157
158
- fn deserialize_u64 < D : Deserializer > ( & & d: D ) -> u64 {
158
+ pub fn deserialize_u64 < D : Deserializer > ( & & d: D ) -> u64 {
159
159
d. read_u64 ( )
160
160
}
161
161
162
- fn serialize_int < S : Serializer > ( & & s: S , v : int ) {
162
+ pub fn serialize_int < S : Serializer > ( & & s: S , v : int ) {
163
163
s. emit_int ( v) ;
164
164
}
165
165
166
- fn deserialize_int < D : Deserializer > ( & & d: D ) -> int {
166
+ pub fn deserialize_int < D : Deserializer > ( & & d: D ) -> int {
167
167
d. read_int ( )
168
168
}
169
169
170
- fn serialize_i8 < S : Serializer > ( & & s: S , v : i8 ) {
170
+ pub fn serialize_i8 < S : Serializer > ( & & s: S , v : i8 ) {
171
171
s. emit_i8 ( v) ;
172
172
}
173
173
174
- fn deserialize_i8 < D : Deserializer > ( & & d: D ) -> i8 {
174
+ pub fn deserialize_i8 < D : Deserializer > ( & & d: D ) -> i8 {
175
175
d. read_i8 ( )
176
176
}
177
177
178
- fn serialize_i16 < S : Serializer > ( & & s: S , v : i16 ) {
178
+ pub fn serialize_i16 < S : Serializer > ( & & s: S , v : i16 ) {
179
179
s. emit_i16 ( v) ;
180
180
}
181
181
182
- fn deserialize_i16 < D : Deserializer > ( & & d: D ) -> i16 {
182
+ pub fn deserialize_i16 < D : Deserializer > ( & & d: D ) -> i16 {
183
183
d. read_i16 ( )
184
184
}
185
185
186
- fn serialize_i32 < S : Serializer > ( & & s: S , v : i32 ) {
186
+ pub fn serialize_i32 < S : Serializer > ( & & s: S , v : i32 ) {
187
187
s. emit_i32 ( v) ;
188
188
}
189
189
190
- fn deserialize_i32 < D : Deserializer > ( & & d: D ) -> i32 {
190
+ pub fn deserialize_i32 < D : Deserializer > ( & & d: D ) -> i32 {
191
191
d. read_i32 ( )
192
192
}
193
193
194
- fn serialize_i64 < S : Serializer > ( & & s: S , v : i64 ) {
194
+ pub fn serialize_i64 < S : Serializer > ( & & s: S , v : i64 ) {
195
195
s. emit_i64 ( v) ;
196
196
}
197
197
198
- fn deserialize_i64 < D : Deserializer > ( & & d: D ) -> i64 {
198
+ pub fn deserialize_i64 < D : Deserializer > ( & & d: D ) -> i64 {
199
199
d. read_i64 ( )
200
200
}
201
201
202
- fn serialize_str < S : Serializer > ( & & s: S , v : & str ) {
202
+ pub fn serialize_str < S : Serializer > ( & & s: S , v : & str ) {
203
203
s. emit_str ( v) ;
204
204
}
205
205
206
- fn deserialize_str < D : Deserializer > ( & & d: D ) -> ~str {
206
+ pub fn deserialize_str < D : Deserializer > ( & & d: D ) -> ~str {
207
207
d. read_str ( )
208
208
}
209
209
210
- fn serialize_float < S : Serializer > ( & & s: S , v : float ) {
210
+ pub fn serialize_float < S : Serializer > ( & & s: S , v : float ) {
211
211
s. emit_float ( v) ;
212
212
}
213
213
214
- fn deserialize_float < D : Deserializer > ( & & d: D ) -> float {
214
+ pub fn deserialize_float < D : Deserializer > ( & & d: D ) -> float {
215
215
d. read_float ( )
216
216
}
217
217
218
- fn serialize_f32 < S : Serializer > ( & & s: S , v : f32 ) {
218
+ pub fn serialize_f32 < S : Serializer > ( & & s: S , v : f32 ) {
219
219
s. emit_f32 ( v) ;
220
220
}
221
221
222
- fn deserialize_f32 < D : Deserializer > ( & & d: D ) -> f32 {
222
+ pub fn deserialize_f32 < D : Deserializer > ( & & d: D ) -> f32 {
223
223
d. read_f32 ( )
224
224
}
225
225
226
- fn serialize_f64 < S : Serializer > ( & & s: S , v : f64 ) {
226
+ pub fn serialize_f64 < S : Serializer > ( & & s: S , v : f64 ) {
227
227
s. emit_f64 ( v) ;
228
228
}
229
229
230
- fn deserialize_f64 < D : Deserializer > ( & & d: D ) -> f64 {
230
+ pub fn deserialize_f64 < D : Deserializer > ( & & d: D ) -> f64 {
231
231
d. read_f64 ( )
232
232
}
233
233
234
- fn serialize_bool < S : Serializer > ( & & s: S , v : bool ) {
234
+ pub fn serialize_bool < S : Serializer > ( & & s: S , v : bool ) {
235
235
s. emit_bool ( v) ;
236
236
}
237
237
238
- fn deserialize_bool < D : Deserializer > ( & & d: D ) -> bool {
238
+ pub fn deserialize_bool < D : Deserializer > ( & & d: D ) -> bool {
239
239
d. read_bool ( )
240
240
}
241
241
242
- fn serialize_Option < S : Serializer , T > ( & & s: S , & & v: Option < T > , st : fn ( & & x: T ) ) {
242
+ pub fn serialize_Option < S : Serializer , T > ( & & s: S , & & v: Option < T > , st : fn ( & & x: T ) ) {
243
243
do s. emit_enum ( ~"option") {
244
244
match v {
245
245
None => do s. emit_enum_variant ( ~"none", 0 u, 0 u) {
@@ -254,7 +254,7 @@ fn serialize_Option<S: Serializer,T>(&&s: S, &&v: Option<T>, st: fn(&&x: T)) {
254
254
}
255
255
}
256
256
257
- fn deserialize_Option < D : Deserializer , T : Copy > ( & & d: D , st : fn ( ) -> T )
257
+ pub fn deserialize_Option < D : Deserializer , T : Copy > ( & & d: D , st : fn ( ) -> T )
258
258
-> Option < T > {
259
259
do d. read_enum ( ~"option") {
260
260
do d. read_enum_variant |i| {
0 commit comments