#field #arrow #cc #pointers #access #operator #row

c-arrow

此Rust库允许您使用箭头运算符 -> 来访问行指针的字段,就像C/C++一样。

2个版本

0.1.4 2021年3月24日
0.1.3 2021年3月24日
0.1.2 2021年3月24日
0.1.1 2021年3月24日
0.1.0 2021年3月24日

#39 in #cc

自定义许可

8KB
79

c-arrow

此Rust库允许您使用箭头运算符 -> 来访问行指针的字段,就像C/C++。

用法

pt![<link>]

获取指向字段的可变引用。

pt![<link> = <expression>];

将表达式赋给指向的字段。

pt![<link> = <link>];

将指向的字段赋给另一个指向的字段。

说明

对象 说明
<func> 一个返回结构体 *mut 指针的函数。
<met> 一个返回结构体 *mut 指针的方法。
<ptr>-><field> 取消引用并访问字段。
<struct>.<field> 直接访问字段。
<link> (<func> | <ptr> | <struct>) ((-> | .)(<field> | <met>))+

示例

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

无运行时依赖