Standardではない邪道なC++ライブラリの開発日誌
最近になってTR1のサポートがいろいろな形で現れてきました。Boost C++ Librariesを使用する場合でも、TR1で対応できるものについてはTR1として扱った方が、将来的にBoost C++ Librariesへの依存性を少なくすることができるはずです。
識別子の命名規約を深く考え出すときりがありません。Dradnats C++ Libraryでは、可能な限りSTLの方式にならって識別子を命名することにします。ただし、既存の関数、例えば標準Cライブラリのgetsを代替する関数を定義するのであれば、それはgetsまたはそれに近い名前にするのが妥当ですので、そうした事情がある場合は必ずしも原則には従わないことにします。
ライブラリ内部で使用する識別子がアプリケーション側で定義した識別子と衝突しないようにするため、一定のルールの識別子をライブラリに予約することにします。あまり複雑なルールにしたり、他のライブラリで使用していそうな名前を予約するのは得策ではないので、単純に接頭辞を付けるだけにしておきます。
Dradnats C++ Libraryはライブラリですので、ヘッダは一種のユーザーインタフェースということになります。ユーザーといっても、実際に動作するアプリケーションのユーザーではなく、ライブラリのユーザー、すなわちアプリケーション開発者に対するインタフェースということです。
Dradnats C++ Libraryは標準や準標準のような立場を目指すものではないため、厳密な移植性に対する配慮は行わず、より現実的なスタンスで開発することにします。そのためには、あらかじめ対象とする処理系に対する仮定を行う必要があります。
昨日からスタートしたこのブログですが、しばらくは下準備などが中心で、退屈な話が続きます。退屈な内容は早めに切り上げてしまいたいので、数日間は連続投稿することにしました。
まだ何も出来ていない状態でライセンスのことを云々するのは時期尚早な気もしますが、いつも後からあわてていい加減に決めることになるので、今回は最初に決めてしまうことにします。
ライブラリを開発するにあたり、最初に決めておかなければならないことがかなりあります。名前空間もそのひとつです。もっとも、決めておかなければならないことは確かですが、これについてはほとんど選択肢はありません。ライブラリ名を取って、dradnatsとするのが妥当でしょう。