kuretchi's blog

kuretchi's blog

競技プログラミングなどなど...

2019-04-01から1ヶ月間の記事一覧

Rust で自動メモ化マクロ

作ってしまいました.かなり雑.Rust 1.15.1 で動きます. macro_rules! __memoize_internal { (@vec $FRetT:ty) => { Option<$FRetT> }; (@vec $FRetT:ty, $memo_param_head:ident $(, $memo_param:ident)*) => { Vec<__memoize_internal!(@vec $FRetT $(, $memo_param)*)> }; (@indices [$($t:tt)*]) => { [$($t</__memoize_internal!(@vec>…

ラッパーの参照と参照のラッパー

何かをラップした構造体を作ることがよくある.例えば,何らかの 1 ワードの値 hoge を常に引き回す必要があるとき: struct Value {} impl Value { fn f0(&self, hoge: usize) {} fn f1(&self, hoge: usize, fuga: i32) {} // ... } こんな構造体を作って,…