サブルーチン(関数とかクラスとか)なソースをさらして置くページ.

実際に使っているものもあれば、 書いてみただけのモノもあり。 使うためってより、理解のための手習い、といったものもあり (既存品の再実装なんかは正にそう)。 後でで何とかするかもしれないけど、 折角書いたんだし、とりあえずさらしておこう、というもの。

おもに C/C++. なるべく汎用的なつもりだけど、 実際に別のコンパイラでコンパイルしたら敗北するパターンは いくらでもある(あった)ので、その程度のもの. 大半、ろくに使われず、チェックやデバッグがすんでないソースだろうで、 もし流用や参考にしようっという奇特な方は自己責任でお願いします.

ExArgv
(h)
main() の初っ端で ExArgv_conv(&argc,&argv); のように実行することで (あるいは WinMain での コマンドライン を渡すことで)、 argv中の *? ワイルドカード や @レスポンスファイル を argvとして展開済み にするルーチン. (exe連動.cfgや環境変数の展開も設定可). ワイルドカードは ** 指定で再帰検索可能.
Cベース. Win/Linux(unix)用. (unix系はワイルドカード展開はshellの役割なのであまり意味ないけど).
tiny_gettext メッセージの多国語対応のための仕組みである gettext の、 簡易な代用ルーチン. 主に win 用(コンパイル自体はlinuxでもできるけど)。 .moファイルじゃなくて、exeフォルダにある.poファイルを読み込む. (.poファイルは予めwinのロケール(日本ならSJIS)に変換しとく). Cベース.
PerfCnt 時間計測用. ソートの計測等で使ったルーチンを抜き出したもの. Cベース. (win/linux)
fname ファイルや URL のパス文字列を操作する関数群. パス名の部分取得やフルパス化相対パス化等を、(getcwd等せず) 文字列としての処理. MBC考慮. win/linux(unix)を想定. c文字列, C++のstring,CString用.
file_hdl
(h)
win/linux(unix)のファイルハンドル/ディスクリプタを 用いたapi(open,read,write,close等)の薄いラッパー. cベース.
※os api を主にしたまま共通化したい場合用... というか、使うためってより、apiの対応表がわり、か. (ちゃんと共通化ならC/C++標準ライブラリのものを使えばよく)
disk
(h)
cベース. win/linux 用. ディレクトリエントリ弄ったりするようなapi(CreateDirectory等) の薄いラッパー や、途中も掘るmkdirテンポラリファイル等.
FindFile
(h)
C++. ディレクトリ検索クラス. ワイルド指定. (**による再帰検索可)
TimeCnv
ファイル時間、年月日時分秒構造体等の変換関係のラッパー.
CharsetConv
(h)
mlang または iconv を用いた文字エンコード変換クラス. C++. (mlangが使えるのが実質vcのみだろうで、あとは、iconvが使えるかどうか).
intrusive_ptr_ref_count C++. boost::intrusive_ptrの対象にするクラス用の参照カウンタ処理.
vecmap
(h)
C++. vectorをmap風にするアダプタ.
vecque
(h)
C++. 内部でポインタのvectorで管理するdeque風vector.
mem1_allocator 指定サイズのプールから固定サイズのメモリを取得するアロケータ. (vecqueでの使用等)
a_vector
(h)
C++. std::arrayのように class内部に固定メモリを持つ capacity 固定の vector クラス.
ya_array
(h)
C++. ほぼ std::array そのもの. (設定で例外をassertに変更可).
ya_vector
(h)
C++. ほぼ std::vector そのもの. (設定で例外をassertに変更可).
ya_string
(h)
C++. ほぼ std::string そのもの. (設定で例外をassertに変更可).
v_string C++. vectorクラスを継承して、stringクラス化するアダプタ.
unitst
(h)
我流な C++ unit test ルーチン. このページに貼ってるけど一応リンク.
dbg
(h)
assert系デバッグマクロ関係.
MtRand
xorshift
乱数ネタのページのサンプルを一応リンク.
quick_sort
merge_sort
radix_sort
backet_sort
ソートねたのページのサンプルを一応リンク. テストルーチンや他のソートはそちらを. (※zipの中の quick_sort は修正前のものなので注意).