Top Page > C++ 小物集


C++ 小物集


C++の小物ライブラリ集。C++標準準拠、のはずです。Boostで既出だった物は封印しました。あ、でも今度Boostにarg_parserっぽいのが…。

ライブラリ名
説明
動作確認
ダウンロード
reg_manager 1.7
Perl的正規表現ユーティリティ
C++で正規表現をPerlっぽく簡単に扱うクラスです。Boost.Regexのラッパとして働きます。
サンプル
BCB6 Pro、VC.NET 2003、gcc 3.4 / Boost 1.33 reg_manager17.zip過去のバージョン
socket 1.5
TCP/IP通信用streamなど
TCP/IP通信用のstreamと、UDP/IPの薄いラッパ。Windows(WinSock2)、UNIX(POSIX Socket)に対応しています。
詳細サンプル
BCB6 Pro、VC.NET、VC.NET 2003、
gcc 3.4(cygwin、FreeBSD)
socket.h
Maprof 1.2
手動プロファイラ
各関数にタグを埋め込んで使うプロファイラ。マルチスレッドに(いい加減に)対応。
出力例
BCB6 Pro maprof12.lzh
arg_parser 1.1
コマンドライン引数パーサ
コマンドライン引数(主にオプション)を処理するクラス。
長いオプション(ex. --login)には対応していませんが、その分指定が簡単です。
サンプル
BCB6 Pro、gcc 3.2/3.3 arg_parser11.zip
simple_streambuf 1.0
簡易streambuf
拡張が容易な出力用と入力用のstreambuf。それぞれ1つの仮想関数をオーバライドするだけでstreambufとして機能する。
サンプル
BCB6 Pro simple_streambuf.h
singleton_ptr 1.2
シングルトンポインタ
シングルトン(アプリケーション内でそのクラスのインスタンスが唯一つしかない事を保証する)を管理するポインタ。シングルトンはARM本のnifty_count方式。
サンプル
BCB6 Pro singleton_ptr.h
ass_vector 1.1
範囲チェック付きベクタ
operator[]などでのアクセス時に範囲チェックを行うstd::vector。NDEBUGを定義するとチェックが無効化される。
BCB6 Pro、gcc 3.2 ass_vector.h
thread_local_ptr 1.0
スレッドローカルポインタ
スレッドローカル変数を作るポインタ。boost::thread_specific_ptrのOSによる個数制限を取り除いたもの。
BCB6 Pro、gcc 3.2 thread_local_ptr10.lzh
deep_ptr 1.1
深いポインタ
コピー時に「深いコピー」(指す内容のコピー)を行うスマートポインタです。あまり使わなそう(笑)。
BCB6 Pro deep_ptr.h

封印されたライブラリ達

*1 全てのクラスは名前空間gimiteの中に有ります。
*2 ここに置いてあるライブラリの使用、改変、転載、再配布は完全に自由です。パブリックドメインって奴ですかね。
*3 マニュアルはヘッダファイルの先頭に有るか、HTMLが付いているか、無いか、のどれかです(笑)。
*4 ご意見、バグ報告は掲示板まで。


更新履歴

2005/9/4 reg_managerをVer. 1.6に。Boost 1.33対応とsubstitute()追加。
2005/5/2 arg_parserをVer. 1.1に。1つのオプションの複数指定に対応。
2004/11/26 reg_managerをVer. 1.6に。Boost 1.32対応とバグ修正。
2004/11/1 socketをVer. 1.4に。ip_address、socket_addressの比較とstream対応、バグ修正など。
2004/5/28 reg_managerをVer. 1.5に。Boost 1.31に対応。
2003/12/15 socketをVer. 1.2に。socket_stream::recv()とsocket_stream::send()を追加。
2003/11/28 socketをVer. 1.1に。高速化、diagram_socketの追加など。
2003/10/12 socketを公開。
2003/9/27 reg_managerをVer. 1.4に。splitを追加。
2003/9/14 ass_vectorをVer. 1.1に。デフォルト以外のコンストラクタが使えないバグを修正。範囲外の時の動作を、例外発生からアサーション失敗に変更。operator[]以外のメンバ関数でも範囲チェックするように。
2003/7/3 ass_vectorを公開。
2003/4/13 thread_local_ptrを公開。
2003/4/13 MaprofをVer. 1.2に。マルチスレッドに対応。
2003/4/12 singleton_ptrをVer. 1.2に。BCB6 Up#4などのクラステンプレートのstaticメンバ変数に関するバグを回避。
2003/1/22 Maprofを公開。
2002/11/10 singleton_ptrをVer. 1.1に。
2002/11/8 simple_streambufを公開。
2002/11/8 ページ構成を変更。
2002/11/3 arg_parserを公開。
2002/10/12 deep_ptrを公開。
2002/10/12 reg_managerをVer. 1.3に。VC6に対応。
2002/10/11 singleton_ptrを公開。
2002/9/24 reg_managerをVer. 1.2に。VC.NETに対応。
2002/9/20 reg_managerをVer. 1.1に。
2002/9/19 リニューアル(笑)。


C++ 小物集 < TopPage