タグ

boostに関するrin1024のブックマーク (7)

  • MacのXcodeでBoostを使う - 強火で進め

    MacC++の高速ライブラリBoostをインストールした - 強火で進め http://d.hatena.ne.jp/nakamura001/20081225/1230195789 こちらでインストールの解説をしましたが実際に使うときも色々と設定を行わないと上手く行かないところがあったのでそちらについても解説しておきます。 Boostライブラリの使い方 今回は例として正規表現のライブラリである regex.hpp を使用する方法を解説します。 1. C++プロジェクトを作成する。BoostはC++向けのライブラリなので「Command Line Utility」-「C++ Tool」でプロジェクトを作成します。なお、Objective-Cと一緒に使いたい場合は拡張子を .mm にすれば使えるはずです。 2. inclucde する。取りあえずincludeしない事には話が進みません。

    MacのXcodeでBoostを使う - 強火で進め
  • Boost Pool Library

    Boost Pool Library はじめに Poolとは何か? Poolアロケーションは使い方の制限があるものの非常に高速なメモリー割り当て方法である。 Poolアロケーション(「単純分割記憶域(simple segregated storage)」とも言う)のより詳細な情報は概念資料を見よ。 なぜPoolを使うのか? Poolsを使用すると、プログラム中でどのようにメモリーが使用されるかを、よりうまく管理することができる。 例えば、一度に小さなオブジェクトを大量に割り当てたいときがあり、 そしてそれらの一切が要らなくなるというときがやってくる、という状況になり得るだろう。 プールインターフェイス使えば、それらのデストラクターを実行するか、忘却の彼方へ送り去るかを選ぶことができる。 プールインタフェースはメモリーリークが起きないことを保証してくれる。 いつPoolを使うべきか? 通常、

  • boost::bimapsのメモ - NO!と言えるようになりたい

    boostのbimapを使うと双方向アクセス可能なmapを使えるようになる.要素には,通常のsetのみではなく,multisetやvectorなどが利用できる.以下がサンプル. #include <iostream> #include <string> #include <boost/bimap/bimap.hpp> #include <boost/bimap/multiset_of.hpp> #include <boost/foreach.hpp> typedef boost::bimaps::multiset_of<int> int_set; typedef boost::bimaps::bimap<std::string, int_set> bimap; typedef boost::bimaps::bimap<std::string, int_set>::value_type va

    boost::bimapsのメモ - NO!と言えるようになりたい
    rin1024
    rin1024 2009/11/10
    刹那w
  • letsboost::spirit

    abstract 必要なヘッダ <boost/spirit/include/qi.hpp> 構文解析の基機能, <boost/spirit/include/phoenix.hpp> SemanticAction記述用ライブラリPhoenix, <boost/spirit/include/karma.hpp> 文字列生成の基機能, ..., <boost/spirit/include/classic.hpp> 旧バージョン(Spirit v1)のAPI 出来ること 字句解析/構文解析(LL∞)/文字列化 リファレンス en / jp sample サンプルの動作確認バージョン [GCC4.4/1.41.0] [VC9/1.41.0] #include <iostream> #include <string> #include <vector> #include <boost/fusion

  • C++ Labyrinth - boost::spirit を使う(CSVパーサーの作成)

    parse_info<> を使ったパージング ループは、およそ次のようになるだろう。 IteratorT first, last; rule<> r; while ( first != last ) { // パージング実行 parse_info<IteratorT> info = parse( first, last, r ); // パージングに失敗したらループを終了 if (!info.hit) break; // 次のパージング位置を設定 first = info.stop; } grammar<> 文法を定義するには、grammar<> という基底クラスから派生させたクラスを用いるのが便利である。 grammar<> は、派生させるクラスを引数とするクラステンプレートで、 そのスケルトンは次のようになる。 (The Grammar より引用) struct my_grammar

  • Boost C++ライブラリ - Wikipedia

    コミュニティとしてのBoostはC++標準化委員会の委員により設立されており、現在でもその多くが構成員として留まっている。このような経緯もあり、BoostコミュニティはC++の標準化において大きな影響力を有している。実際に標準化委員会が発表した「TR1」の2/3以上がBoostライブラリを基にしている。Random, Regex, ThreadなどはいずれもC++11規格の標準ライブラリとして正式に導入・標準化されている。その後もOptionalやAnyなどがC++17規格で導入されており、影響を与え続けている。このことから、Boostは考案された新機能を標準化させる前の試験運用の場であるとも言える。 Boostで公開されるライブラリはコミュニティの公開レビューによって精選されている。Boostを使用して作成したプログラムは、商用、非商用を問わず無償のBoost Software Lice

  • Boost.uBLAS で特異値分解(SVD) - yanoの日記

    Boost.uBLAS と Boost.Bindings, clapack をインストールした今,特異値分解を簡単に実装することができます. というのも,Boost.Bindings を通して bindings.lapack.gesvd(lapack.dgesvd) を呼び出すだけだからです. 以下に私の実装例を示します. math.hpp #ifndef MATH_HPP_20090501 #define MATH_HPP_20090501 #if defined(_MSC_VER) && (_MSC_VER >= 1020) # pragma once #endif #include <boost/numeric/ublas/fwd.hpp> namespace math { void svd(const boost::numeric::ublas::matrix<double>& A

    Boost.uBLAS で特異値分解(SVD) - yanoの日記
    rin1024
    rin1024 2009/07/13
  • 1