# c-arrow This Rust library allows you to use the arrow operator `->` to access the field of the row pointer, just like C/C++. ## Usage `pt![`\`]` get a mutable reference of the pointed field. `pt![`\ `=` \`];` assign expression to the pointed field. `pt![`\ `=` \`];` assign the pointed field to the other pointed field. ### Explanation | Objects | Explanations | | :---: | :---- | | \ | A function returning the `*mut` pointer of a struct. | | \ | A method which returns the `*mut` pointer of a struct. | | \`->`\ | Dereferences and accesses the field. | | \`.`\ | Accesses the field directly. | | \ | (\ \| \ \| \) ((`->` \| `.`)(\ \| \))+ | ## Example ```rust let mut stack: Stack = Stack::new(); "abcdefgh" .chars() .for_each(|c| stack.push(c)); use c_arrow::{ pt, ref_pt }; let top_back = pt![stack.top->back]; pt![back_of(top_back)->back->data = 'x']; pt![stack.top->backs(4)->data = stack.back_of_top()->data]; ```