#token-tree #equals #tt #whether #predicate #acts #macro

tt-equal

tt_equal 用于判断两个token树是否相等

3个版本

0.1.2 2019年9月28日
0.1.1 2019年9月27日
0.1.0 2019年8月30日

过程宏 中排名第 718

MIT/Apache

12KB
132

tt-equal

Build Status Latest Version Rust Documentation

这个库是 tt_call 系列模块化互操作tt-muncher构建块的一部分。

包含过程宏 tt_equal,该宏用于判断两个token树是否相等。适用于 tt_if

use tt_equal::tt_equal;
use tt_call::tt_if;

macro_rules! same_ident{
    {
        $id1:ident, $id2:ident
    } => {
        tt_if!{
            condition = [{tt_equal}]
            input = [{ $id1 $id2 }]         // The two identifiers are here passed to 'tt_equal'
            true = [{
                const $id1: bool = true;
            }]
            false = [{
                const $id1: bool = false;
            }]
        }
    }
}

same_ident!(AN_IDENT, AN_IDENT);            // Equal identifiers result in a true constant
same_ident!(A_DIFFERENT_IDENT, AN_IDENT);   // Different identifiers result in a false constant

fn main() {
    assert_eq!(AN_IDENT, true);
    assert_eq!(A_DIFFERENT_IDENT, false);
}

许可证

根据您的选择,在以下任一许可证下授权:[Apache许可证,版本2.0] 或 [MIT许可证]。
除非您明确声明,否则根据Apache-2.0许可证定义的,您有意提交给本crate的贡献将根据上述许可证双授权,不附加任何额外条款或条件。

依赖

~105KB