募: いい感じのパンくずリストのデザイン

mylib: オレオレライブラリ

GitHub: 2023-11-14T20:53:37Z

完全に自分用に作っています。 仕様はコロコロ変わるし機能も貧弱なので,参考程度に……。

目次

C++

argparse.hh: コマンドライン引数解析

auto main(int argc, char* argv[]) -> int {
  Args args{argc, argv};
  args.def_flag("help", "--help", "-h");
  args.def("file", "--file", "-f");
  args.parse();

  if(args["help"].flag()) {
    cout << "This is the help.\n";
    return 0;
  }

  auto fpath = args["file"].str();
  ...

logger.hh: ロガー

logger 使用例

nullstream.hh: 虚無stream

NullStream() << u8"虚無へ出力"s;

D

cstr.d: Cっぽいやつ

具体的にはstrlen(3)らへんとか。

dyns.d: 可変サイズのフィールドを持つクラス

使い方はunittest見てください。

reflection.d: ランタイム時のリフレクション

struct S { int i; }
S s;
s.set("i", 123);

utils.d: 雑多

これがあると若干コードの量が減るかなーって感じのやつ。

TypeScript

interleave.ts: flattenする

いつ使うねん。

// [1, 10, 100, 2, 20, 200, 3, 30, 4, 5]
interleave([1, 2, 3, 4, 5],
           [10, 20, 30],
           [100, 200])

sleep.ts: sleep()

ブラウザでもnode:timers/promisesが使えたらなぁ……。