Macro binary_tuples::tuple
[−]
[src]
macro_rules! tuple { ($( $x:expr ),*) => { ... }; }
A macro for creating a serialized tuple
Supports all types of segments as plain values - these are wrapped in TupleSegments before
being serialized.
The easiest way to create tuples is using the exposed tuple!
macro:
#[macro_use] extern crate binary_tuples; let user_id = 1; let value = tuple!("users", user_id, "posts"); // Returns as a byte array let bytes = value.into_bytes();
Tuples can reused as efficient prefixes for other tuples
#[macro_use] extern crate binary_tuples; let user_id = 1; let post_id_1 = 1; let post_id_2 = 2; let users_tuple = tuple!("users", user_id, "posts"); let post_1 = tuple!(&users_tuple, post_id_1); let post_2 = tuple!(&users_tuple, post_id_2); assert_eq!(post_1.into_bytes(), vec![2, 117, 115, 101, 114, 115, 0, 21, 1, 2, 112, 111, 115, 116, 115, 0, 21, 1]); assert_eq!(post_2.into_bytes(), vec![2, 117, 115, 101, 114, 115, 0, 21, 1, 2, 112, 111, 115, 116, 115, 0, 21, 2]);