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]);