2 releases
0.1.4 | Mar 24, 2021 |
---|---|
0.1.3 | Mar 24, 2021 |
0.1.2 |
|
0.1.1 |
|
0.1.0 |
|
#39 in #cc
8KB
79 lines
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![
<link>]
get a mutable reference of the pointed field.
pt![
<link> =
<expression>];
assign expression to the pointed field.
pt![
<link> =
<link>];
assign the pointed field to the other pointed field.
Explanation
Objects | Explanations |
---|---|
<func> | A function returning the *mut pointer of a struct. |
<met> | A method which returns the *mut pointer of a struct. |
<ptr>-> <field> |
Dereferences and accesses the field. |
<struct>. <field> |
Accesses the field directly. |
<link> | (<func> | <ptr> | <struct>) ((-> | . )(<field> | <met>))+ |
Example
let mut stack: Stack<char> = 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];