サブルーチン(関数とかクラスとか)なソースをさらして置くページ.
実際に使っているものもあれば、
書いてみただけのモノもあり。
使うためってより、理解のための手習い、といったものもあり
(既存品の再実装なんかは正にそう)。
後でで何とかするかもしれないけど、
折角書いたんだし、とりあえずさらしておこう、というもの。
おもに 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 は修正前のものなので注意).
|