Trait protocol::types::Type
[−]
[src]
pub trait Type: Clone + Debug { fn read(read: &mut Read) -> Result<Self, Error>; fn write(&self, write: &mut Write) -> Result<(), Error>; fn from_raw_bytes(bytes: &[u8]) -> Result<Self, Error> { ... } fn raw_bytes(&self) -> Result<Vec<u8>, Error> { ... } }
A type which can be read or written.
Required Methods
fn read(read: &mut Read) -> Result<Self, Error>
Reads a type for a stream.
fn write(&self, write: &mut Write) -> Result<(), Error>
Writes a type to a stream.
Provided Methods
Implementors
impl Type for bool
impl Type for u8
impl Type for i8
impl Type for u16
impl Type for i16
impl Type for u32
impl Type for i32
impl Type for u64
impl Type for i64
impl Type for f32
impl Type for f64
impl<T: Type> Type for Vec<T>
impl<S: Integer, T: Type> Type for Array<S, T>
impl Type for String
impl<S: Integer> Type for String<S>
impl Type for char
impl<T0, T1> Type for (T0, T1) where T0: Type, T1: Type
impl<T0, T1, T2> Type for (T0, T1, T2) where T0: Type, T1: Type, T2: Type
impl<T0, T1, T2, T3> Type for (T0, T1, T2, T3) where T0: Type, T1: Type, T2: Type, T3: Type
impl<T0, T1, T2, T3, T4> Type for (T0, T1, T2, T3, T4) where T0: Type, T1: Type, T2: Type, T3: Type, T4: Type
impl<T: Type> Type for Option<T>
impl<T> Type for LinkedList<T> where T: Type
impl<T> Type for VecDeque<T> where T: Type
impl<T> Type for BTreeSet<T> where T: Type + Ord
impl<T> Type for HashSet<T> where T: Type + Hash + Eq
impl<K, V> Type for HashMap<K, V> where K: Type + Hash + Eq, V: Type
impl<K, V> Type for BTreeMap<K, V> where K: Type + Ord, V: Type
impl<T: Type> Type for Rc<T>
impl<T: Type> Type for Arc<T>