タグ

c++とboostに関するlizyのブックマーク (36)

  • 最近のBoost - Faith and Brave - C++で遊ぼう

    Boost 1.56.0のリリースまでもう少しかかりそうなので、Boostの近況を書きます。 Boostの開発リポジトリが、SubversionからGit(GitHub)に移行しました。 https://github.com/boostorg/ リポジトリからのビルド方法は、egtraさんのブログを参照:「Modularized Boost(GitHubへ移行したリポジトリ)を使用する」 「Boostの一部の機能を使いたいだけなのに、全部入れないといけないのはしんどい」というのに応えよう、という活動を始めました。 GitHubでモジュールごとにリポジトリを分けてるのも、その一環。 現在、モジュール間の依存関係を整理中。そのうち何らかの方法で、「自分が使いたいモジュール(とその依存モジュール)だけを持ってくる」というのができるようになるでしょう。(現在もbcpツールを使えばできることはできる

    最近のBoost - Faith and Brave - C++で遊ぼう
    lizy
    lizy 2014/07/01
  • Objective-C++でSwiftに挑む - Qiita

    Objective-C特有の型だってもちろん使えます。 ターゲット2 コレクション型 Swiftでは基となるコンテナクラスは今のところDictionaryとArrayのみという極めて貧弱極まりない環境です。 しかしその点Objective-C++なら、Objective-Cのコレクションクラスはもちろん、 状況に応じてC++のよく熟成された標準ライブラリに簡単に統合することが可能ですね。 例えば以下のように #import <Foundation/Foundation.h> #include <map> int main(int argc, const char * argv[]) { @autoreleasepool { struct CompareNSString { bool operator()(NSString * lhs, NSString *rhs)const { retu

    Objective-C++でSwiftに挑む - Qiita
  • MySQLの実装にBoost.Geometryが使われはじめた - Faith and Brave - C++で遊ぼう

    Why Boost.Geometry in MySQL? MySQL 5.7のリリースから、そのビルドがBoostに依存するようになります。MySQLの幾何演算を、Boost.Geometryライブラリのコードに置き換えることになったからです。 近年、ロケーションベースのサービスが途方もない成長を続けており、MySQLがそのストレージとして重要視されるようになってきました。 MySQL 5.6時点でも、これまでGIS関係の機能は持っていましたが、その幾何アルゴリズムは多くのコーナーケース(Corner Case:めったに発生しない厄介なケース)を扱えませんでした。それを一つひとつ修正するか、既存のアルゴリズムを置き換えるか、どちらを選ぶかという選択肢で、MySQLはBoost.Geometryで既存アルゴリズムを置き換えることを選択したようです。 MySQLコミュニティはBoost.Geo

    MySQLの実装にBoost.Geometryが使われはじめた - Faith and Brave - C++で遊ぼう
    lizy
    lizy 2014/04/28
    DBでジオメトリ処理する場合は今のところPostGIS優勢だと思うけどどうなるやら
  • C++で作るWebアプリケーション

    14 views Boost.勉強会 #12で発表した「C++で作るWebアプリケーション」 ... More… Boost.勉強会 #12で発表した「C++で作るWebアプリケーション」 C++JavaScriptにコンパイルするコンパイラ Emscriptenを使ってC++でブラウザ上で動くアプリケーションを開発する方法を解説します C++で作るWebアプリケーション Presentation Transcript そんなC++の進出を拒んできた領域C++はとてつもなく汎用的な言語である2013年6月22日土曜日 WEB2013年6月22日土曜日 サーバ クライアントこっちは割とどんな言語でも書ける問題はこっち2013年6月22日土曜日 JavaScriptWEBブラウザで動く物を作るために長らく使われてきた言語近代的な多くのブラウザが共通して対応している唯一の言語2013年6月22

  • ゲームプログラミングにおけるC++の都市伝説 - ソフトウエア研究会in秋葉原 - PukiWiki

    ゲームプログラミングにおけるC++の都市伝説 † この記事は、C++ Advent Calendar 2012 22日目の記事です。 Prev 21日目の記事 CEANによる配列操作 Next 23日目の記事 構造化並列プログラミング 時間の関係で3つの都市伝説しかご紹介できませんでしたが、またの機会があれば他の都市伝説についてもお話したいと思います。 2012/12/22 written by h.godai @hgodai 目次 初めに 都市伝説1 C++は遅いのでゲームには向いていない 都市伝説2 boost::poolはゲームには向いていない 都市伝説3 boostライブラリは怪しいライブラリだ。使うと呪われる。 ↑ 初めに † かつて、8bit時代はゲームのプログラムはアセンブラが主流でした。やがて、ゲームのプラットフォームが16bitから32bitになるに従い、C言語でゲーム

  • でらうま倶楽部 : C++ 初心者だって Boost が iPhone で使えるんだぜ!

    2012年12月06日00:00 カテゴリプログラムiPhone C++ 初心者だって Boost が iPhone で使えるんだぜ! C++ Advent Calendar 2012参加中! 今年は、生まれて始めてC++で書いたiPhoneアプリ「こなへん」をリリースした特別な一年でした。 信じられないかと思われるんですが、当にC++は初めてだったんです! ゲーム業界の片隅で20年以上プログラムを書いてる人のいう台詞じゃないですよね…すいません。 でもそれが現実なんだよ! これまで何度もそのチャンスはあったんですが、なんかこうズルズルと(言い訳) ここ数年のC++の参考書の充実っぷりは目を見張りますね。結局のところ、リファレンスを読んでstd::stringとstd::vectorの使い方を覚えたらあとはすんなりでした。単なるわず嫌い。 でもまだ多重継承とかテンプレートメタプログラミ

  • メールでデータベースを更新するココロミ ~C++での即興実装

    今回のお題 先日引き受けた相談事は「メールを使ってデータベースにレコードを登録したい」とのこと。レコードを文としたメールを投げて、そいつがデータベースに格納されるカラクリが欲しいってんですね。例えば売上データやらアンケート結果やら、あちこちで収集したデータをメールでかき集めるのが目的なのでしょう。「そんなもん、どこぞにWeb-serviceをホストしておいてHTTPで投げればいぃんじゃね?」と答えたところ、できるだけチープに実現したく、サーバ立てるのは避けたいそうな。 なるほど、そう言うことなら納得です。テキトーなメールアカウントを1つ用意し、みんなが寄ってたかってそいつめがけてメールを投げつけ、小さなアプリケーションがメールを読んでデータベースに流し込むってスンポーですか。「登録したいレコードって定型なの? どれも同じフォーマットなら実装楽なんだけど」と訊くと依頼主曰く「いや、ゆくゆく

    メールでデータベースを更新するココロミ ~C++での即興実装
  • Boost Advent Calendar 2011 4日目 - Boost.Foreachの裏側 - にゃははー

    Boost Advent Calndar 2011 の4日目です。 ネタがないので既知のことかもしれないですが、いろいろテクニックが使われてるBoost.Foreachの実装について紐解いてみたいと思います。 Boost.Foreachとは C++11でrange-based forという構文が追加されたのはみなさんご存知かもしれないですが、これと同じような構文でrangeを舐めるということをC++03の範囲で行なおうというのがBoost.Foreachです。 rangeがどうとかrange-based forがどうとかってのは多分C++11 Advent Calendar 2011で紹介されると期待しているので省きます。 boost/foreach.hpp をインクルードするとBOOST_FOREACHマクロが使えるようになります。 このgrammarは BOOST_FOREACH( f

    Boost Advent Calendar 2011 4日目 - Boost.Foreachの裏側 - にゃははー
  • boost::pythonを使ってC++のPythonラッパーを作る - シリコンの谷のゾンビ

    最近コーディングにはC++をメインに使っているのだけれど,軽いを処理はやっぱりスクリプト言語の方が楽.以前はラッパーを作るのにSWIGを使ったことがあるけれど,インタフェースファイルを用意するのにだいぶ苦労したので手軽にラッパーを書ける感覚がなかった.Boost (Boost C++ Librariesプログラミング第2版) を眺めていたら「boost::python」というページがあって,かなり手軽にPythonラッパーが書けそうな気がしたので試してみたのでメモ こんな感じのコードを用意する. #include <string> #include <boost/python.hpp> std::string add_hello (std::string s) { return "Hello, " + s; } int square (int n) { return n * n; } B

    boost::pythonを使ってC++のPythonラッパーを作る - シリコンの谷のゾンビ
  • Boost の定番機能はこれだ - てっく煮ブログ

    C++, BoostC++ の定番ライブラリ Boost はいまや不動の地位を得ていますが、機能が多岐にわたりすぎていて、何から使い始めていいのか分からずにとっつきにくい印象がありました。Boost 関連の情報を探していて、Boostを使用しているプロジェクト - boostjp というページを見つけました。ここから、boost.org 上の次の3ページ製品情報オープンソースプロジェクト会社にリンクされていす。このページでは、様々な製品やプロジェクトで利用されている Boost のライブラリが紹介されています。せっかくなので、利用数ランキングを集計してみました。ランキング1〜10位早速1位から10位を紹介!!順位コンポーネント名利用数1Boost.SmartPointers241Boost.Bind243Boost.Regex204Boost.Function175Boost.String

  • Google Sites: Sign-in

    Not your computer? Use a private browsing window to sign in. Learn more

    lizy
    lizy 2011/07/15
    「ラブプラスi」は書いてなかった
  • Boost.勉強会#5 名古屋の雑感 - Cube Lilac

    Boost.勉強会#5 名古屋に行ってきました.Boost.勉強会が「Boost があるかもしれない勉強会になりつつある」と言う噂もちらほら聞きましたが,非常に濃い内容で楽しかったです.発表された方,関係者の方々いつもお疲れ様です. 以下,印象に残ったものをメモ.発表資料ほか関連リンクは,https://sites.google.com/site/boostjp/study_meeting/study5 にあります. 春のLock-Free祭り (@kumagi, id:kumagi) 意義 マルチスレッドプログラミングに置いて古典的な手法は、共有リソースにアクセスするときはロックをかけることである。ミューテックスやセマフォといった排他制御はソースコードのある領域を同時に実行しないようにし、それゆえ、共有メモリの構造を破壊しないようにする。もし、他のスレッドが事前に獲得したロックをあるスレ

    Boost.勉強会#5 名古屋の雑感 - Cube Lilac
    lizy
    lizy 2011/05/16
    C++0x資料がすごい
  • Boost.Localeがクソすぎる

    Boost.Localeがレビューされているので見てみたが、クソすぎる。しかも、作者はそれが糞であることに気がついていない。 Boost.Locale: Boost.Locale Boost.Localeはstd::localeの機能を持っている。しかし、日人なら誰でも知るように、std::localeはクソの役にも立たない。よって、Boost.Localeも、その機能としては役立たずだ。 Boost.Locale: CollationとBoost.Locale: Conversionsでは、大文字、小文字、アクセント記号の有無に対する無視や、相互変換などの機能を提供している。これは、日語には何の役にも立たない機能である。 Boost.Locale: Numbers, Time and Currency formatting and parsing これは、数値や日付、貨幣単位に対する

  • ポインタの使用 - Cube Lilac

    この記事は,C++プログラマであるかを見分ける10の質問 - Life like a clown の「ポインタの使用方法について,メモリーリーク問題等と絡めながら戦略を述べよ」に対する回答的な記事です. ポインタの使用に関する戦略ですが,経験上は以下の 2点辺りになるかと思います. C++ は意外とポインタ(と言うよりは動的なメモリ確保)をユーザが明示的に使わずとも何とかなるケースが多いです.STL コンテナ等すでに用意されてあるライブラリの使用も考慮に入れ,当にポインタが必要な場面かどうかを熟考しましょう. ポインタが必要になった場合,「自力で後処理をする」と言う思想は危険なのでスマートポインタを使用するようにしましょう. あんまりメモリリークの話絡めてないですね. スマートポインタに関しては ポインタは用法用量を守って正しくお使いください - kikairoyaの日記 で上手く纏めら

    ポインタの使用 - Cube Lilac
    lizy
    lizy 2011/03/31
  • ポインタは用法用量を守って正しくお使いください - kikairoya’s diary

    lizy
    lizy 2010/12/23
    なるほど、共有可能性によってunique_ptrとshared_ptrを使い分けるのね
  • Boost.勉強会#2を開催したよ - Faith and Brave - C++で遊ぼう

    9/11(土)は、Boost.勉強会#2でした。 会場をご提供いただいたIIJ様、ありがとうございました。 Ustの配信をお願いしていた方が急遽来れなくなるというトラブルもありましたが、 IIJさんの計らいにより、なんとか配信/録画できました。以下に動画への各URLを記載しますので、来れなかった方はチェックしてみてください。 Boostライブラリ一周の旅(id:faith_and_brave, @cpp_akira) 動画 : http://www.ustream.tv/recorded/9486579 資料 : Boost tour 1_44_0View more presentations from faithandbrave. Boost tour 1_44_0_allView more presentations from faithandbrave. 今回は差分のみで量も少なかっ

    Boost.勉強会#2を開催したよ - Faith and Brave - C++で遊ぼう
  • Boostのあるプログラミング生活

    constexpr関数はコンパイル時処理。これはいい。実行時が霞んで見える。cpuの嬌声が聞こえてきそうだ

    Boostのあるプログラミング生活
  • C++で例外を使ったプログラムをうまく書くにはどうすればいいのか - 射撃しつつ前転 改

    C++とはできるだけ離れた人生を送りたいと願ってきた。しかし、なかなかそうもいかず、最近はだんだんとC++の知識を学びつつある。今更C++を勉強するなんてちょっと出遅れすぎてるんじゃないかという気もするが、もうすぐ新規格であるC++0xもリリースされるはずであるし、意外とC++を学ぶにはいいタイミングかもしれない。 プログラムの品質はエラー処理をどこまで丁寧に書くかで決まる。エラー処理の書き方には、 エラーコードを返す(エラーコードを返せるように設計しておく) エラー時に例外を投げる の2種類があるが、今悩んでいるのはそのC++の例外についてである。 例えば、機械学習のツールを書くことを考える。このようなツールではデータをパースする部分を書く必要が出てくるだろう。1行に1つのデータが以下のような形式で書かれているものをパースしたい。 1 2:1 4:2 5:1 このデータをパースするコード

    C++で例外を使ったプログラムをうまく書くにはどうすればいいのか - 射撃しつつ前転 改
  • Appleマクロの恐怖 - Faith and Brave - C++で遊ぼう

    Avoid bad Apple macros - Trac 【inspect】 Apple macro check Appleが用意している<AssertMacros.h>では、check, require, verify, check_errorというのがdefineされていて、Boostで全体的に名前衝突が発生しているらしい。 これはなんとかしないと・・・という動きがあります。 とくに、checkという名前はSFINAE周りで多く使われてるのでまずい。

    Appleマクロの恐怖 - Faith and Brave - C++で遊ぼう
  • それでも Boost.Optional を使う、大きく分けて2つくらいの理由 - 野良C++erの雑記帳

    Boost.Optional Must Go - 野良C++erの雑記帳 Boost.Optional Must Go (2) - 野良C++erの雑記帳 最近、何回かに分けて、 Boost.Optional について、(細かい)不満を日記に書いてきました。 これは別に Boost.Optional が嫌いだから不満を書いた訳ではなく、むしろ その逆、 Boost.Optional が便利な分、逆に不満点が目立つので書いていたわけですが、 よく考えたら、 Boost.Optional の便利さを、纏まった記事で書いていないなー、 と、そう思い至ったので、この辺で Boost.Optional を徹底的に推奨する記事でも書いてみようかな、 というわけで、さんざん既出なネタばかりですが、折角なので書いてみることにしましたよ。 冒頭に挙げた以外で参考になるような記事は、この辺でしょうか: C++

    それでも Boost.Optional を使う、大きく分けて2つくらいの理由 - 野良C++erの雑記帳