D言語のオーバーロードセットで実現するアドホックなテンプレートAPI
(Ab)Using Overload Sets to Create Ad-Hoc Template APIs in D
D言語のオーバーロードセットは、同じ名前を持つ関数群をまとめて扱う仕組みで、テンプレートの特殊化と組み合わせることで、柔軟なAPIを設計できます。本記事では、オーバーロードセットの基本から、整数値による特殊化、実在のライブラリでの活用例、`std.conv.to`を差し替え可能にするパターンまでを解説します。さらに、型や値の特殊化を利用して、コンパイル時にパターンマッチングを行うアドホックなテンプレートAPIの作り方を紹介します。
名付けうるるAPIは、不滅のAPIにあらず。