Trait rustc_serialize::Encodable 
                   
                       [−]
                   
               [src]
pub trait Encodable {
    fn encode<S: Encoder>(&self, s: &mut S) -> Result<(), S::Error>;
}Trait for serializing a type.
This can be implemented for custom data types to allow them to be encoded
with Encoder implementations. Most of Rust's built-in or standard data
types (like i32 and Vec<T>) have Encodable implementations provided by
this module.
Note that, in general, you should let the compiler implement this for you by
using the derive(RustcEncodable) attribute.
Examples
extern crate rustc_serialize; #[derive(RustcEncodable)] struct Point { x: i32, y: i32, }
This generates code equivalent to:
extern crate rustc_serialize; use rustc_serialize::Encodable; use rustc_serialize::Encoder; struct Point { x: i32, y: i32, } impl Encodable for Point { fn encode<S: Encoder>(&self, s: &mut S) -> Result<(), S::Error> { s.emit_struct("Point", 2, |s| { try!(s.emit_struct_field("x", 0, |s| { s.emit_i32(self.x) })); try!(s.emit_struct_field("y", 1, |s| { s.emit_i32(self.y) })); Ok(()) }) } }
Required Methods
Implementors
impl Encodable for usizeimpl Encodable for u8impl Encodable for u16impl Encodable for u32impl Encodable for u64impl Encodable for isizeimpl Encodable for i8impl Encodable for i16impl Encodable for i32impl Encodable for i64impl Encodable for strimpl Encodable for Stringimpl Encodable for f32impl Encodable for f64impl Encodable for boolimpl Encodable for charimpl Encodable for ()impl<'a, T: ?Sized + Encodable> Encodable for &'a Timpl<T: ?Sized + Encodable> Encodable for Box<T>impl<T: Encodable> Encodable for Rc<T>impl<'a, T: Encodable + ToOwned + ?Sized> Encodable for Cow<'a, T>impl<T: Encodable> Encodable for [T]impl<T: Encodable> Encodable for Vec<T>impl<T: Encodable> Encodable for Option<T>impl<T: Encodable, E: Encodable> Encodable for Result<T, E>impl<T> Encodable for PhantomData<T>impl<T0: Encodable, T1: Encodable, T2: Encodable, T3: Encodable, T4: Encodable, T5: Encodable, T6: Encodable, T7: Encodable, T8: Encodable, T9: Encodable, T10: Encodable, T11: Encodable> Encodable for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)impl<T1: Encodable, T2: Encodable, T3: Encodable, T4: Encodable, T5: Encodable, T6: Encodable, T7: Encodable, T8: Encodable, T9: Encodable, T10: Encodable, T11: Encodable> Encodable for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)impl<T2: Encodable, T3: Encodable, T4: Encodable, T5: Encodable, T6: Encodable, T7: Encodable, T8: Encodable, T9: Encodable, T10: Encodable, T11: Encodable> Encodable for (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)impl<T3: Encodable, T4: Encodable, T5: Encodable, T6: Encodable, T7: Encodable, T8: Encodable, T9: Encodable, T10: Encodable, T11: Encodable> Encodable for (T3, T4, T5, T6, T7, T8, T9, T10, T11)impl<T4: Encodable, T5: Encodable, T6: Encodable, T7: Encodable, T8: Encodable, T9: Encodable, T10: Encodable, T11: Encodable> Encodable for (T4, T5, T6, T7, T8, T9, T10, T11)impl<T5: Encodable, T6: Encodable, T7: Encodable, T8: Encodable, T9: Encodable, T10: Encodable, T11: Encodable> Encodable for (T5, T6, T7, T8, T9, T10, T11)impl<T6: Encodable, T7: Encodable, T8: Encodable, T9: Encodable, T10: Encodable, T11: Encodable> Encodable for (T6, T7, T8, T9, T10, T11)impl<T7: Encodable, T8: Encodable, T9: Encodable, T10: Encodable, T11: Encodable> Encodable for (T7, T8, T9, T10, T11)impl<T8: Encodable, T9: Encodable, T10: Encodable, T11: Encodable> Encodable for (T8, T9, T10, T11)impl<T9: Encodable, T10: Encodable, T11: Encodable> Encodable for (T9, T10, T11)impl<T10: Encodable, T11: Encodable> Encodable for (T10, T11)impl<T11: Encodable> Encodable for (T11,)impl<T: Encodable> Encodable for [T; 32]impl<T: Encodable> Encodable for [T; 31]impl<T: Encodable> Encodable for [T; 30]impl<T: Encodable> Encodable for [T; 29]impl<T: Encodable> Encodable for [T; 28]impl<T: Encodable> Encodable for [T; 27]impl<T: Encodable> Encodable for [T; 26]impl<T: Encodable> Encodable for [T; 25]impl<T: Encodable> Encodable for [T; 24]impl<T: Encodable> Encodable for [T; 23]impl<T: Encodable> Encodable for [T; 22]impl<T: Encodable> Encodable for [T; 21]impl<T: Encodable> Encodable for [T; 20]impl<T: Encodable> Encodable for [T; 19]impl<T: Encodable> Encodable for [T; 18]impl<T: Encodable> Encodable for [T; 17]impl<T: Encodable> Encodable for [T; 16]impl<T: Encodable> Encodable for [T; 15]impl<T: Encodable> Encodable for [T; 14]impl<T: Encodable> Encodable for [T; 13]impl<T: Encodable> Encodable for [T; 12]impl<T: Encodable> Encodable for [T; 11]impl<T: Encodable> Encodable for [T; 10]impl<T: Encodable> Encodable for [T; 9]impl<T: Encodable> Encodable for [T; 8]impl<T: Encodable> Encodable for [T; 7]impl<T: Encodable> Encodable for [T; 6]impl<T: Encodable> Encodable for [T; 5]impl<T: Encodable> Encodable for [T; 4]impl<T: Encodable> Encodable for [T; 3]impl<T: Encodable> Encodable for [T; 2]impl<T: Encodable> Encodable for [T; 1]impl<T: Encodable> Encodable for [T; 0]impl Encodable for Pathimpl Encodable for PathBufimpl<T: Encodable + Copy> Encodable for Cell<T>impl<T: Encodable> Encodable for RefCell<T>impl<T: Encodable> Encodable for Arc<T>impl<T: Encodable> Encodable for LinkedList<T>impl<T: Encodable> Encodable for VecDeque<T>impl<K: Encodable + Ord, V: Encodable> Encodable for BTreeMap<K, V>impl<T: Encodable + Ord> Encodable for BTreeSet<T>impl<K, V> Encodable for HashMap<K, V> where
K: Encodable + Hash + Eq,
V: Encodable,impl<T> Encodable for HashSet<T> where
T: Encodable + Hash + Eq,impl Encodable for Json