Skip to content

Commit 1657593

Browse files
committed
---
yaml --- r: 11837 b: refs/heads/master c: 1600be2 h: refs/heads/master i: 11835: 5dd37c4 v: v3
1 parent a422696 commit 1657593

File tree

5 files changed

+356
-35
lines changed

5 files changed

+356
-35
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
refs/heads/master: 715d1995d7fdb28caeaa5401e1dbdbb3751bee60
2+
refs/heads/master: 1600be2c3b1054e2fce59778e2f85d7fa582657f
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: 4a81779abd786ff22d71434c6d9a5917ea4cdfff
55
refs/heads/try: 2898dcc5d97da9427ac367542382b6239d9c0bbf

trunk/src/libstd/serialization.rs

Lines changed: 148 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,3 +120,151 @@ fn serialize_uint<S: serializer>(s: S, v: uint) {
120120
fn deserialize_uint<D: deserializer>(d: D) -> uint {
121121
d.read_uint()
122122
}
123+
124+
fn serialize_u8<S: serializer>(s: S, v: u8) {
125+
s.emit_u8(v);
126+
}
127+
128+
fn deserialize_u8<D: deserializer>(d: D) -> u8 {
129+
d.read_u8()
130+
}
131+
132+
fn serialize_u16<S: serializer>(s: S, v: u16) {
133+
s.emit_u16(v);
134+
}
135+
136+
fn deserialize_u16<D: deserializer>(d: D) -> u16 {
137+
d.read_u16()
138+
}
139+
140+
fn serialize_u32<S: serializer>(s: S, v: u32) {
141+
s.emit_u32(v);
142+
}
143+
144+
fn deserialize_u32<D: deserializer>(d: D) -> u32 {
145+
d.read_u32()
146+
}
147+
148+
fn serialize_u64<S: serializer>(s: S, v: u64) {
149+
s.emit_u64(v);
150+
}
151+
152+
fn deserialize_u64<D: deserializer>(d: D) -> u64 {
153+
d.read_u64()
154+
}
155+
156+
fn serialize_int<S: serializer>(s: S, v: int) {
157+
s.emit_int(v);
158+
}
159+
160+
fn deserialize_int<D: deserializer>(d: D) -> int {
161+
d.read_int()
162+
}
163+
164+
fn serialize_i8<S: serializer>(s: S, v: i8) {
165+
s.emit_i8(v);
166+
}
167+
168+
fn deserialize_i8<D: deserializer>(d: D) -> i8 {
169+
d.read_i8()
170+
}
171+
172+
fn serialize_i16<S: serializer>(s: S, v: i16) {
173+
s.emit_i16(v);
174+
}
175+
176+
fn deserialize_i16<D: deserializer>(d: D) -> i16 {
177+
d.read_i16()
178+
}
179+
180+
fn serialize_i32<S: serializer>(s: S, v: i32) {
181+
s.emit_i32(v);
182+
}
183+
184+
fn deserialize_i32<D: deserializer>(d: D) -> i32 {
185+
d.read_i32()
186+
}
187+
188+
fn serialize_i64<S: serializer>(s: S, v: i64) {
189+
s.emit_i64(v);
190+
}
191+
192+
fn deserialize_i64<D: deserializer>(d: D) -> i64 {
193+
d.read_i64()
194+
}
195+
196+
fn serialize_str<S: serializer>(s: S, v: str) {
197+
s.emit_str(v);
198+
}
199+
200+
fn deserialize_str<D: deserializer>(d: D) -> str {
201+
d.read_str()
202+
}
203+
204+
fn serialize_float<S: serializer>(s: S, v: float) {
205+
s.emit_float(v);
206+
}
207+
208+
fn deserialize_float<D: deserializer>(d: D) -> float {
209+
d.read_float()
210+
}
211+
212+
fn serialize_f32<S: serializer>(s: S, v: f32) {
213+
s.emit_f32(v);
214+
}
215+
216+
fn deserialize_f32<D: deserializer>(d: D) -> f32 {
217+
d.read_f32()
218+
}
219+
220+
fn serialize_f64<S: serializer>(s: S, v: f64) {
221+
s.emit_f64(v);
222+
}
223+
224+
fn deserialize_f64<D: deserializer>(d: D) -> f64 {
225+
d.read_f64()
226+
}
227+
228+
fn serialize_bool<S: serializer>(s: S, v: bool) {
229+
s.emit_bool(v);
230+
}
231+
232+
fn deserialize_bool<D: deserializer>(d: D) -> bool {
233+
d.read_bool()
234+
}
235+
236+
fn serialize_option<S: serializer,T>(s: S, v: option<T>, st: fn(T)) {
237+
s.emit_enum("option") {||
238+
alt v {
239+
none {
240+
s.emit_enum_variant("none", 0u, 0u) {||
241+
}
242+
}
243+
244+
some(v) {
245+
s.emit_enum_variant("some", 1u, 1u) {||
246+
s.emit_enum_variant_arg(0u) {||
247+
st(v)
248+
}
249+
}
250+
}
251+
}
252+
}
253+
}
254+
255+
fn deserialize_option<D: deserializer,T>(d: D, st: fn() -> T) -> option<T> {
256+
d.read_enum("option") {||
257+
d.read_enum_variant {|i|
258+
alt check i {
259+
0u { // none
260+
none
261+
}
262+
1u { // some(v)
263+
some(d.read_enum_variant_arg(0u) {||
264+
st()
265+
})
266+
}
267+
}
268+
}
269+
}
270+
}

0 commit comments

Comments
 (0)