[−][src]Function genco::prelude::register
pub fn register<T, L>(inner: T) -> RegisterFn<T> where
T: Register<L>,
L: Lang,
Function to provide item registration.
Examples
use genco::prelude::*; let write_bytes_ext = rust::import("byteorder", "WriteBytesExt").with_alias("_"); let read_bytes_ext = rust::import("byteorder", "ReadBytesExt").with_alias("_"); let cursor = &rust::import("std::io", "Cursor"); let big_endian = &rust::import("byteorder", "BigEndian"); let tokens = quote! { #(register((write_bytes_ext, read_bytes_ext))) let mut wtr = vec![]; wtr.write_u16::<#big_endian>(517).unwrap(); wtr.write_u16::<#big_endian>(768).unwrap(); assert_eq!(wtr, vec![2, 5, 3, 0]); let mut rdr = #cursor::new(vec![2, 5, 3, 0]); assert_eq!(517, rdr.read_u16::<#big_endian>().unwrap()); assert_eq!(768, rdr.read_u16::<#big_endian>().unwrap()); }; assert_eq!( vec![ "use byteorder::{BigEndian, ReadBytesExt as _, WriteBytesExt as _};", "use std::io::Cursor;", "", "let mut wtr = vec![];", "wtr.write_u16::<BigEndian>(517).unwrap();", "wtr.write_u16::<BigEndian>(768).unwrap();", "assert_eq!(wtr, vec![2, 5, 3, 0]);", "", "let mut rdr = Cursor::new(vec![2, 5, 3, 0]);", "assert_eq!(517, rdr.read_u16::<BigEndian>().unwrap());", "assert_eq!(768, rdr.read_u16::<BigEndian>().unwrap());" ], tokens.to_file_vec()?, );