macro_rules! tuple {
($( $x:expr ),*) => { ... };
}
Expand description
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]);