# 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];
```