Boost.Asio だけだとしんどそうだったので netlib でちょっと書いてみました。 [環境]netlib 0.9.5Boost 1.53.0Visual Studio 2010 [ソース] #include struct hello_world{ typedef boost::network::http::server server; void operator ()(server::request con... 続きを読む
そういえば C++ のヘッダファイルを #include するだけで使える GC を書きました。使い方は下のサンプルコードを見てもらえばいいとして、特徴としては、 ヘッダファイルを #include するだけで使えるC++ の標準機能だけを使っているのでポータブル*1 mark-and-... 続きを読む
Embed code for this video iFrame Silverlight HTML5 Copy the code above to embed our video on your website/blog. Close Video format Auto Use our suggested format for this video. Smooth Streaming Adaptive bitrate streaming - little buffering bu... 続きを読む
2011/04/19 C++0xのUTF-8対応に問題あり Tweet B! 今まであまり気にしていなかったのだが、C++0xのUTF-8対応には、非常に深刻な問題があるように思われる。 C++0xでは、u8 encoding prefixを使うことによって、UTF-8でエンコードされた文字列リテラルが使える。... 続きを読む
Boost.勉強会 #4 発表者や資料のまとめ、関連リンクなどはboostjpの方にまとめておきましたのでそちらをご参照ください。こちらでは感想などを書いてみます。 会場について今回も、IIJ様のセミナールームをお借りしてBoost.勉強会を開催させていただきました。... 続きを読む
An open-source multi-platform crash reporting system 続きを読む
threadpool is a cross-platform C++ thread pool library. In general terms thread pools are an efficient mechanism for asynchronous task processing within the same process. They realise the thread pool pattern. A thread pool manages a group of ... 続きを読む
たとえば libevent のような C 言語でかかれたイベント駆動型のライブラリを C++ から使っていると、C++ のメンバ関数をコールバックとしてセットできたらうれしいことが多いですよね。以下のようにすればできます。たとえば、コールバック関数をセットする関数... 続きを読む
Boost.DateTimeが使いにくかったので、日時計算を目的とした簡単なDateTimeライブラリを書きました。SHAND_DATE_TIME_CUSTOM_NOW_TIMEをdefineすることで、現在日時を返す関数を書き換えることができるようになるので、Testableです。 フォーマット指定は、strf... 続きを読む
https://sites.google.com/site/cpprefjp/ まだサイトを用意しただけで、中身はまだまだです。C++ Referenceが便利だったので、それの日本語版 + C++0x対応したサイトがほしい、というのが動機です。 boostjp Google Groupのメンバであれば編集できるようにして... 続きを読む
言語のバージョン(C++0xは暫定で「C++0x」と表記。正式名称が決まったら置き換え。)開発環境のバージョン(例:「Microsoft Visual C++では2010から使用可能」「GNU C++ Compilerでは4.3から使用可能(-std=c++0xオプション)。」) 開発環境の表記がない場合は、C+... 続きを読む
C++, Boost Boost.Optional Must Go - 銀天随筆集 Boost.Optional Must Go (2) - 銀天随筆集 最近、何回かに分けて、 Boost.Optional について、(細かい)不満を日記に書いてきました。これは別に Boost.Optional が嫌いだから不満を書いた訳ではなく、むし... 続きを読む
「アドレス通知機能なしP2Pアプリ」でboost::asioのSSLを使っているので載せてみる。SSLSocket.h /** * 2009/3/1 * author:Softgels * Copyright(C) Softgels All rights reserved. */ #pragma once #pragma warning(disable: 4996) #pragma warning(disable: 4... 続きを読む
例えばこう、ディレクトリの名前とその中のファイル名を / でくぎって結合する関数を書くとします。引数が std::string でも使いたいし const char* でも使いたい、ということで、たいていは void JoinFilePathStr(const string& dir, const string& base, stri... 続きを読む
otoco に限らず、 PC 上で動作するプログラムの多くは、テキストを処理することを目的の一部またはすべてとしています。 otoco の場合は特に、どこの誰とも分からない人が MML を書き、それを読み込んで XML やら SMF やらオーディオやら楽譜やらに変換すること... 続きを読む
少し間があいてしまいました。 前回、次はC++じゃない話を・・・と書きましたが今回もやっぱりC++の話です。 C言語やC++でも、日本語のようなマルチバイト文字列を扱おうという話になった時に、まず選択肢としてあがるのがwchar型でしょう。 wchar型で扱えば、... 続きを読む
C++AdventCalendarの記事です。さて、生配列使ってますか?tr1::array(boost::array)使ってますか?生配列使っていると答えた貴方、→まず死ね。はい、arrayが常識ですよね。さて、とはいえ、「テンプレートを使うと遅いしコードがでかいし」「生配列が一番速... 続きを読む
C++ Advent Calendar です。だけどC++ではなくてV8エンジンで遊ぶ方法について書きます。google の V8 engine を 組み込んで簡易スクリプトにしてしまおうという話です。 C++の言語仕様や boost の話は超絶詳しい人たちがされているので、誰もやらなそうな ぬる... 続きを読む
gmane.comp.lib.boost.devel - 【Foreach】 Proposal to simplify using Boost.Foreach with maps こんなことできたんだ! #include #include #include #include int main() { std::mapint, int> m; m[1] = 3; m[2] = 2; m[3] = 1; int key, value; BOOST_FOREA... 続きを読む
つい最近、C++の文字列splitが必要な場面がありました。 いい加減C++のsplitを毎回書くのが面倒になってきましたので、忘れないようにメモっておきたいと思います。 C++でsplitを書く方法はいくらでも方法があると思いますが、代表的な実装例をあげてみます。 b... 続きを読む