こちらは筆者($p$進大好きbot)の作成したC++ソースコードへのリンク集です。これらのソースコードはMITライセンスに準拠して公開されています。使用の際はページ下部の注意点をよくお読みになって下さい。
- 競技プログラミングコンテスト用ライブラリ
- 例外処理用ライブラリ
- 数学用ライブラリ
- 音楽用ライブラリ
- SFINAEマクロ用ライブラリ
- 汎用ライブラリ
注意点
- 筆者にとっては`namespace std`がとても便利なので、至るところで使っています。`namespace std`を使ってはならない宗派の方はご遠慮下さい。
- 筆者にとってはセッタ/ゲッタの組み合わせによるカプセル化よりもメンバ変数への参照返しをする単一の関数の方が使いやすいので、しばしばセッタ/ゲッタを経由せずにメンバ変数を扱っています。完全なカプセル化をしなければならない宗派の方はご遠慮下さい。
- 筆者にとっては人が作ったクラスをなるべく含まないコードの方がはるかにデバッグしやすいため、可変長配列やスマートポインタは自作のものを使っています。コンテナ等を自作してはならない宗派の方はご遠慮下さい。
- 筆者にとってはメンバの命名を自由に行う方が分かりやすいので、特定の命名規則に従っていません。命名規則を固定しなければならない宗派の方はご遠慮下さい。
- 筆者にとってはデバッグとSFINAEのようなメタプログラミングや同じ定義の繰り返しをマクロでパッケージ化することがとても便利なので、マクロを多用しています。マクロを使ってはならない宗派の方はご遠慮下さい。
また筆者は独学でありかつチームでの開発はしていないので、ソースコードは自身にとっての可読性のみが重視されているためコメントもほとんど書いておらず他の人にとっては可読性が低いことが予想されます。使い方や動作を詳しく知りたいソースコードがあったら筆者のtwitterアカウントまでお問い合わせして下されば、解説を書くかもしれません。また不具合を見つけましたら教えていただけますと助かります。