diff options
Diffstat (limited to 'src/libstd/serialize.rs')
| -rw-r--r-- | src/libstd/serialize.rs | 13 | 
1 files changed, 6 insertions, 7 deletions
| diff --git a/src/libstd/serialize.rs b/src/libstd/serialize.rs index c2f0d9cb43f..a49f43d485b 100644 --- a/src/libstd/serialize.rs +++ b/src/libstd/serialize.rs @@ -44,14 +44,10 @@ pub trait Encoder { fn emit_str(&self, v: &str); // Compound types: - fn emit_enum(&self, name: &str, f: &fn()); fn emit_enum_variant(&self, v_name: &str, v_id: uint, sz: uint, f: &fn()); fn emit_enum_variant_arg(&self, idx: uint, f: &fn()); - fn emit_seq(&self, len: uint, f: &fn()); - fn emit_seq_elt(&self, idx: uint, f: &fn()); - fn emit_struct(&self, name: &str, _len: uint, f: &fn()); fn emit_field(&self, f_name: &str, f_idx: uint, f: &fn()); @@ -60,6 +56,9 @@ pub trait Encoder { fn emit_option_none(&self); fn emit_option_some(&self, f: &fn()); + fn emit_seq(&self, len: uint, f: &fn()); + fn emit_seq_elt(&self, idx: uint, f: &fn()); + fn emit_map(&self, len: uint, f: &fn()); fn emit_map_elt_key(&self, idx: uint, f: &fn()); fn emit_map_elt_val(&self, idx: uint, f: &fn()); @@ -90,15 +89,15 @@ pub trait Decoder { fn read_enum_variant<T>(&self, names: &[&str], f: &fn(uint) -> T) -> T; fn read_enum_variant_arg<T>(&self, idx: uint, f: &fn() -> T) -> T; - fn read_seq<T>(&self, f: &fn(uint) -> T) -> T; - fn read_seq_elt<T>(&self, idx: uint, f: &fn() -> T) -> T; - fn read_struct<T>(&self, name: &str, _len: uint, f: &fn() -> T) -> T; fn read_field<T>(&self, name: &str, idx: uint, f: &fn() -> T) -> T; // Specialized types: fn read_option<T>(&self, f: &fn(bool) -> T) -> T; + fn read_seq<T>(&self, f: &fn(uint) -> T) -> T; + fn read_seq_elt<T>(&self, idx: uint, f: &fn() -> T) -> T; + fn read_map<T>(&self, f: &fn(uint) -> T) -> T; fn read_map_elt_key<T>(&self, idx: uint, f: &fn() -> T) -> T; fn read_map_elt_val<T>(&self, idx: uint, f: &fn() -> T) -> T; | 
