[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2chのread.cgiへ]
Update time : 01/28 12:10 / Filesize : 175 KB / Number-of Response : 739
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Boostを語れゴラァ part3



1 名前:デフォルトの名無しさん [2006/09/23(土) 15:00:11 ]
語って.はぁと part boost::mpl::int_<3> 

前スレ
part 2 pc8.2ch.net/test/read.cgi/tech/1139313234/
part 1 pc8.2ch.net/test/read.cgi/tech/1091198276/

■関連サイト■ 
Boost C++ Libraries 
www.boost.org/ 

Boost 翻訳プロジェクト 
boost.cppll.jp/HEAD/ 

Let's Boost 
www.kmonos.net/alang/boost/ 

boost info 
shinh.skr.jp/boost/ 

672 名前:デフォルトの名無しさん mailto:sage [2007/01/24(水) 23:14:27 ]
後者は書かないことをすすめる

673 名前:デフォルトの名無しさん mailto:sage [2007/01/24(水) 23:20:45 ]
>>672
なんで? <...> は標準ヘッダでしょ?
boost は標準じゃないから "..." だと思うよ。

674 名前:デフォルトの名無しさん mailto:sage [2007/01/25(木) 00:02:55 ]
>>673
くだすれC言語(初心者用)
pc10.2ch.net/test/read.cgi/tech/1153542424/


675 名前:デフォルトの名無しさん mailto:sage [2007/01/25(木) 00:03:34 ]
>>673
<>と""の違いは、ファイル探索順の違いしかないと思ったが。

676 名前:668 mailto:sage [2007/01/25(木) 00:05:11 ]
えーと、つまり俺の問題は俺の環境のみで起きるのであって、そんなもん
知るかヴォケ、悔しかったらboost::regexなんぞに頼らず
テメェがDFAとかNFAとか書きやがれ。

ということでよろしいでしょうか。
このタイプの正規表現で、入力量の大きい時にコケる、という印象なのですが。

677 名前:デフォルトの名無しさん mailto:sage [2007/01/25(木) 00:06:17 ]
個人的にはプロジェクト内のものは " "、プロジェクト外のものは < > にしてる。
つまり <boost/....hpp> 派だな。

678 名前:デフォルトの名無しさん mailto:sage [2007/01/25(木) 00:08:08 ]
>>676
君のプログラムを試したわけはないが VC7 ってとこにちょっと引っ掛かる。
可能であれば VC8 とか cygwin/mingw とかで試してみなはれ。

679 名前:668 mailto:sage [2007/01/25(木) 00:13:15 ]
>>678
VC8は持ってないんすよ。
localeまわりでstd::wcoutが腐るとかfstream::open()が上手くいかねーとか
腐った風評しか聞きませんので、移行するとしても二の足を踏んでしまいますが。

VC7.1をboostはサポートしていないのですか?


680 名前:デフォルトの名無しさん mailto:sage [2007/01/25(木) 00:16:42 ]
VC8でも同じ例外発生したよん。



681 名前:デフォルトの名無しさん mailto:sage [2007/01/25(木) 02:33:59 ]
bindが必要とするresult_typeを
sig templateで代用することはできないのでしょうか?


682 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 06:33:13 ]
MPLで次元解析する方法みて感動したけど、
いざ自分の問題で使おうと思っても、使いどころが微妙

いり込んだ type の木構造でも使わない限り
enable_ifの延長としてしか使えない

683 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 20:40:23 ]
boost::bindを
boost::lambda::bind
に変えたら挙動が違う

protectで囲ってあるところを呼んだり呼ばないで落ちたり

どっちのbinsを使うのが推奨なの?

684 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 00:47:54 ]
>>668
の問題に関して:

capslockabcjp.kitunebi.com/faq.html

boostのバグ?

スレでの指摘により、boostの動作が怪しいという指摘がありました。
boost1.33および1.33.1で/\1/を使用した場合に落ちることを確認しました。

685 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 19:43:57 ]
boostがC++でC++のコンパイラ作るのはいつ?

686 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 20:43:41 ]
spiritでC++のコンパイラ書けってことか

687 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 03:04:59 ]
Boostのおなじみの形式のドキュメント
こんなやつをdoxgenみたいに自動生成するツールってないのかな
boost-sandbox.sourceforge.net/libs/time_series/doc/html/index.html


688 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 16:49:09 ]
ヘッダーファイルの置き場所について教えてください

既存のboostの拡張として
boost/X/Y/z.hpp
に、おきたくなるようなヘッダーがあります。
しかしboost MLに投稿してもrejectされる可能性を考えて
my_lib_name/X/Y/z.hpp
においておくべきか,どうかで迷ってます

ヘッダーの場所を
#define my_lib_name/X/Y/z.hpp INC_XYZ
として後で変更できるようにしておくのが無難なのでしょうか?

namespaceも
boost::X::Y::z
などとせず
#define my_lib_name::X::Y::z NAME_XYZ
としておくのが無難なのでしょうか?





689 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 17:22:21 ]
>>688
boost 気にすんな。紛らわしい。
どうせ accept されないし。
書き換えるにしてもたいした手間じゃない。

690 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 16:44:56 ]
>>671
確か、mingwで使おうと思ったときに""だとどうしてもエラーになった気がする。
それ以後ずっと<>にしてる。
""で行けている人居る?



691 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 17:58:52 ]
#define BOOST_DIR c:/lib/boost_ver_xxx/
#define BOOST_BIND_INC BOOST_DIR##bind.hpp

うまくいかない
#include "BOOST_BIND_INC "

うまくいくのかな?
#include <BOOST_BIND_INC >


692 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 18:04:41 ]
Makefileの先頭で

INCLUDE=C:/boost
LIB=C:/boost/mingw

こんなんでいけたはず。
というかUNIXルーツのソフトのお約束で常識だったはず。

x.ccをコンパイルする時はこうだった思う。

A>echo "INCLUDE=C:/boost">Makefile
A>echo "LIB=C:/boost/mingw">>Makefile
A>gmake x

693 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 18:25:49 ]
>>691
それをやるならこんな感じ。

# define BOOST_DIR c:/lib/boost_ver_xxx/
# define PP_IDENTITY(x) x
# define PP_STRINGIZE(x) PP_STRINGIZE_I(x)
# define PP_STRINGIZE_I(x) #x
# define BOOST_INC(name) PP_STRINGIZE(PP_IDENTITY(BOOST_DIR)name)

# include BOOST_INC(bind.hpp)

694 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 23:43:27 ]
>>691
ちょw

695 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 19:16:12 ]
ヨーロッパ系の人の作るライブラリーにboostが使われないのは
ライセンスの関係?単なる好み?


696 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 21:58:14 ]
変なレビュー投稿しちまった

697 名前:デフォルトの名無しさん mailto:sage [2007/01/31(水) 05:06:16 ]
spiritって、もしかしてUnicodeは対応してない?

698 名前:デフォルトの名無しさん mailto:sage [2007/01/31(水) 11:15:53 ]
いや、普通にいけるはず。
Unicodeのtextファイル相手にfile_iterator使ってる場合はBOMに注意。

699 名前:デフォルトの名無しさん mailto:sage [2007/01/31(水) 11:51:17 ]
さんクスコ

700 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 23:37:31 ]
boost::tuples::get<0>をbindしたいのですが
なぜかうまくいきません。

struct tmp_bi_op_t
{
double sum;
double operator()(double a ,double b)
{
sum +=a+b;
std::cout << "(" <<a << " " <<b << " " << sum << ")";
return a+b;
}
};

tmp_bi_op_t tmp_bi_op;
tmp_bi_op.sum=0;

std::vector<double > vec,vec2(2);
vec.push_back(2);
vec.push_back(1);

std::for_each(
boost::make_zip_iterator(
boost::make_tuple(vec.begin(), vec.begin())
),
boost::make_zip_iterator(
boost::make_tuple(vec.end(), vec.end())
),
boost::bind<void>( boost::ref( tmp_bi_op),
boost::bind(boost::tuples::get<0>,_1),
boost::bind(boost::tuples::get<1>,_1)));
std::cout << tmp_bi_op.sum;



701 名前:デフォルトの名無しさん mailto:sage [2007/02/08(木) 22:12:27 ]
こんにちは
vista+vc2005環境にboostを組み込みたいんですけどうまく行きません
何が原因なんでしょうか・・以下の手順で駄目でした

まずboost1_33_1とjamを落とし展開、jamをboostフォルダに移動し、
コマンドプロンプトで以下を実行
(boostのフォルダ以下略)>"C:\Program Files\Microsoft Visual Studio 8\VC\bin\vcvars32.bat"
bjam -sTOOLS=vc-8_0 --prefix="C:\Program Files\Microsoft Visual Studio 8\VC" install
すると一見快調にビルドしてるようでしたが>>380氏と同様のエラーが頻発していて、
かつ「Unicodeで保存してください」ワーニングも量産されてました
6.0では組み込みが成功していたんですが、そのときコンパイラに組み込んでいた
(VCのフォルダ)\INCLUDE\boost-1_33_1みたいなフォルダは生成されてませんでした

次に>>391のサイトにあるインストーラを試してみましたがこれも例のフォルダは見当たらず・・

ひょっとしてvc2005ではboostの組み込み方が違っていて
私は壮大な勘違いをしてるんでしょうか?
今日一日かけて調べてみましたが全然分かりません
どうかよろしくお願いしますm(_ _;;)m

702 名前:デフォルトの名無しさん mailto:sage [2007/02/08(木) 23:22:12 ]
>>701
391さんのお任せのやつなら、
VC8.0用を指定して展開位置を指定するとそこににboost-1-33-1のディレクトリが出来ているので、
その中にboostがあるから、自分のプロジェクトのインクルードディレクトリに追加指定すれば
よいかと思いますけど。リンク対象のライブラリ本体はlibの中にバイナリが入ってます。
VCのINCLUDEに入れたければ、boostフォルダごとコピーすれば使えるのはないですか?
VCのLIBにもlibの中身をコピーして。

見当違いでしたら、すみません。


703 名前:デフォルトの名無しさん mailto:sage [2007/02/09(金) 19:15:31 ]
>>702
レスありがとうございます。
それでいいんですね、VC6.0でいけてたときは自動でVC以下にフォルダが
できてたような気がしたので、てっきり失敗してるのかと思ってました。
で、プロジェクトにインクルードとライブラリのフォルダを追加したのですが・・・

どうやらboostを認識してるようですがまたもや意味不明のエラーが多量にorz
SP1適用もなんかうまくいってないようなのでもう一度よく調べて出直してきます

704 名前:デフォルトの名無しさん [2007/02/09(金) 19:41:07 ]
公式サイトのゲッティング スタートからvc8.0のリンクから飛んだ先にEEのときがある
規制中なので携帯からリンク貼れね

705 名前:デフォルトの名無しさん mailto:sage [2007/02/09(金) 19:55:20 ]
>>702
コピーしなくてもいいだろ。

706 名前:デフォルトの名無しさん mailto:sage [2007/02/09(金) 20:02:16 ]
ビルドしたboostフォルダは1GB超えるからな

707 名前:デフォルトの名無しさん [2007/02/10(土) 21:11:13 ]
C++の標準ライブラリになるまでは様子見だな。

708 名前:デフォルトの名無しさん mailto:sage [2007/02/10(土) 22:22:59 ]
Boostがまんま標準化されると思ってる奴がまだいるのか

709 名前:デフォルトの名無しさん [2007/02/10(土) 22:45:21 ]
だから様子見なんだろ

710 名前:デフォルトの名無しさん [2007/02/10(土) 23:58:59 ]
>>703
俺は、C直下にboost_1_33_1のフォルダ入れて
VS2005std使ってて
VC++のインクルードディレクトリにC\boost_1_33_1
ライブラリファイルフォルダにC\boost_1_33_1\lib
って設定したら、問題なく使えてる。



711 名前:デフォルトの名無しさん mailto:sage [2007/02/11(日) 20:27:53 ]
boostのリビューアー募集してるね

712 名前:デフォルトの名無しさん mailto:sage [2007/02/13(火) 13:33:23 ]
Xpressive の人のライブラリか?
何かスゲーな。

713 名前:デフォルトの名無しさん mailto:sage [2007/02/18(日) 00:37:48 ]
serializationでshared_ptrをシリアライズしようと思ってるんですけど訳分からんです。

とりあえずただの参照でテストしてみたら
unregistered_classが発生したので調べたとおりに
BOOST_CLASS_EXPORT(Derived);
を入れたら今度はunregistered_castが発生したのでいろいろ調べて
boost::serialization::void_cast_register<Derived, Base>(0, 0);
を入れたらただの参照ならシリアライズできるようになりました。

これを今度はshared_ptrに入れてみようかと思ったら
またもやunregistered_classが発生しました。
どうやらsp_counted_base_implとかいうのが絡んでるようで
いろいろ試してみたのですがなかなかうまくいきません。
boost_132::shared_ptrとかいう中途半端なものもあるみたいですけど
これはもしかしたら仕様策定中ですか?

714 名前:713 mailto:sage [2007/02/19(月) 18:24:41 ]
すいません。抜けてました。
派生クラスをベースクラスのポインタでシリアライズしたいのです。
バージョンは1.33.1です。

715 名前:デフォルトの名無しさん mailto:sage [2007/02/21(水) 18:45:54 ]
Accumulatorsの仕様がもう一回変わるとかいってるのですが
もう自分のプログラムにいれちゃったよ

716 名前:デフォルトの名無しさん mailto:sage [2007/02/22(木) 10:40:57 ]
TR1、TR2、C++0xとboostの主機能が取り込まれるのを期待しているが、
実際C++0xが2010年位にできたとして、実際主なコンパイラがサポートしだすのは
いつになるんだろう。
GCCは期待できるとして、次期Visual C++で何も動きがないとすると、
結局今後5年くらいはshared_ptrつかうにもboostのお世話になったりして。

1_34いつになるのかなぁ・・・。

717 名前:デフォルトの名無しさん mailto:sage [2007/02/22(木) 10:57:48 ]
規格殺すにゃ刃物はいらぬ
MSのサポートがなけりゃいい

718 名前:デフォルトの名無しさん mailto:sage [2007/02/22(木) 11:05:36 ]
つか、MSがその頃までC++をサポートしてるかどうか

719 名前:デフォルトの名無しさん mailto:sage [2007/02/22(木) 12:26:40 ]
今となっては TR1,TR2 以外のライブラリも増えたんで主機能という風でもないような。
C++0x 後にゃ、今度はその新機能を使いまくりのライブラリが作られるだろうし。

720 名前:デフォルトの名無しさん mailto:sage [2007/02/22(木) 14:13:29 ]
>>718
ドライバとか、どうしてもC/C++が必要な領域もあるだろうから、
当分はVisualC++無くならないと思う。たぶん。



721 名前:デフォルトの名無しさん mailto:sage [2007/02/22(木) 14:17:11 ]
いずれはドライバも C# の unsafe 使って書いてくれとか言われるのかなw

722 名前:713 mailto:sage [2007/02/23(金) 19:57:51 ]
どうにか自己解決しました。
デバッグのためのコードが邪魔してたみたいです。
スレ汚しすいませんでした。

723 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 01:32:35 ]
以前スレで紹介されていたBoostのインストーラーを使いセットアップし、regexを使ってソースを書いたところ、Boost側のソースで

boost\regex\v4\regex_raw_buffer.hpp(177) : error C2661: 'operator new' : 3 個の引数を伴うオーバーロードされた関数はありません。
boost\regex\v4\perl_matcher_non_recursive.hpp(99) : error C2059: 構文エラー : '*'

というエラーが出たんですが、どうすれば直るんでしょうか?
コンパイラはVC++2005Expressです。

724 名前:723 mailto:sage [2007/02/26(月) 23:31:23 ]
自己解決。
stdafx.hで
#include <boost/regex.hpp>
すればOKだった。

725 名前:デフォルトの名無しさん mailto:sage [2007/02/26(月) 23:58:53 ]
boostって何で流行らないの?糞だから?

726 名前:デフォルトの名無しさん mailto:sage [2007/02/27(火) 00:06:08 ]
流行ってると思うけど

727 名前:デフォルトの名無しさん mailto:sage [2007/02/27(火) 08:26:44 ]
俺だけ取り残されてるわけじゃないんだ! という
必死の念仏でしょう。

728 名前:デフォルトの名無しさん mailto:sage [2007/02/27(火) 14:38:27 ]
常に最新の boost を使いたい場合は、
CVS から定期的に取って来て自動的にビルド、
エラー無ければ直前のバージョンと入れ替え、
というようなシステムを自前で用意しないとダメ?

PHP の PEAR のようにリポジトリから
最新バージョンを持ってきてくれると便利なんだが。
って、スクリプト言語の手軽さと比較するほうが間違いか。

729 名前:デフォルトの名無しさん mailto:sage [2007/02/27(火) 21:30:35 ]
Visual Studio用にバイナリで配ってない時点で、流行ってないことは明らかだろ。

730 名前:デフォルトの名無しさん mailto:sage [2007/02/27(火) 21:58:05 ]
流行っているといえば流行っている
流行っていないといえば流行っていない
結構微妙な位置づけな気がする

巨大な非標準ライブラリってだけで、使いにくい局面は多いよな



731 名前:デフォルトの名無しさん mailto:sage [2007/02/27(火) 22:03:29 ]
>>729
bjamの宣伝をしたいからじゃね?

732 名前:デフォルトの名無しさん mailto:sage [2007/02/27(火) 22:05:00 ]
対応してるコンパイラが何十種類もあるのにVC++だけ特別扱いするわけにはいかんだろう

733 名前:デフォルトの名無しさん mailto:sage [2007/02/27(火) 22:11:59 ]
デバッグ・リリース、静的・動的リンクの
全ての組み合わせのLIB/DLLを合計すると軽く1GiB超えていた覚えがある。

でも今確かめてみたらDLLとそのインポートライブラリに限れば、
10MiB以下に収まっている(1.33.1のVC++ 7.1でのビルド)。

俺は動的リンク版が無いもの以外静的ライブラリを削除しているのだが、
残った静的ライブラリの合計は、およそ221MiB。
(ただしNTFSの圧縮でディスク上は68.5MiBとなっている)


734 名前:デフォルトの名無しさん mailto:sage [2007/02/28(水) 00:19:33 ]
>>732
ユーザが多い順にバイナリくらい提供した方がいいだろ。

735 名前:デフォルトの名無しさん mailto:sage [2007/02/28(水) 00:26:46 ]
流行ってるかどうかとはあまり関係ない話だな

736 名前:デフォルトの名無しさん mailto:sage [2007/02/28(水) 01:08:04 ]
>734
馬鹿除けになるからバイナリは無い方がいい。bjamぐらい使え。
そもそもバイナリ必要なのは一部だけだし。

737 名前:デフォルトの名無しさん mailto:sage [2007/02/28(水) 01:09:49 ]
無いと困るような人とその存在すら知らない人が同じフロアで仕事してる
つうか技術寄りな人が勝手に調べて喜んで使ってる感じ

738 名前:デフォルトの名無しさん mailto:sage [2007/02/28(水) 10:24:58 ]
VCユーザなら、こっからinstaller落とせるけど。
www.boost-consulting.com/download.html







[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<175KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef