トップページ⇒tech
989コメント340KB

Boost総合スレ part7

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2009/01/19(月) 21:22:22
過去スレ
part 6 http://pc11.2ch.net/test/read.cgi/tech/1207749841/
part 5 http://pc11.2ch.net/test/read.cgi/tech/1192662575/
part 4 http://pc11.2ch.net/test/read.cgi/tech/1175663346/
part 3 http://pc11.2ch.net/test/read.cgi/tech/1158991211/
part 2 http://pc8.2ch.net/test/read.cgi/tech/1139313234/
part 1 http://pc8.2ch.net/test/read.cgi/tech/1091198276/

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

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

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

boost info
http://shinh.skr.jp/boost/
0002デフォルトの名無しさん2009/01/19(月) 21:28:03
>>1
乙
0003デフォルトの名無しさん2009/01/19(月) 21:31:09
乙
こ、これは>>1乙じゃなくて>>2乙なんだからね!
0004デフォルトの名無しさん2009/01/19(月) 21:31:40
■関連書籍■
Boost C++をチューンアップする最先端ライブラリ
http://www.amazon.co.jp/exec/obidos/ASIN/4894714191/

Boost C++ Libraryプログラミング
http://www.amazon.co.jp/exec/obidos/ASIN/4798017043/

Beyond The C++ Standard Library
http://www.amazon.co.jp/exec/obidos/ASIN/0321133544/

C++ Template Metaprogramming
http://www.amazon.co.jp/exec/obidos/ASIN/0321227255/

The Boost Graph Library
http://www.amazon.co.jp/exec/obidos/ASIN/0201729148/

■関連スレ■
C++相談室 part65
http://pc11.2ch.net/test/read.cgi/tech/1230341243/

C++0x 4
http://pc11.2ch.net/test/read.cgi/tech/1214407525/

【C++】STL(Standard Template Library)相談室 11
http://pc11.2ch.net/test/read.cgi/tech/1231640024/
0005デフォルトの名無しさん2009/01/19(月) 21:32:40
Loki
http://sourceforge.net/projects/loki-lib/

JTC1/SC22/WG21 - The C++ Standards Committee
http://www.open-std.org/jtc1/sc22/wg21/

POCO, the C++ Portable Components
http://www.appinf.com/poco/info/
http://sourceforge.net/projects/poco/

The unofficial BCB Boost patches
http://bcbboost.sourceforge.net/
0006デフォルトの名無しさん2009/01/19(月) 21:34:00
テンプレは以上です.

>>4に
・Boost C++をチューンアップする最先端ライブラリ
を加えたのと,
・Boost C++ Libraryプログラミング
のリンクを第二版に修正しました.
0007デフォルトの名無しさん2009/01/20(火) 01:04:16
コンパイラ VC8
boost 1_37_0

次のコードがC2780連発です。

#include <boost/bind.hpp>
#include <boost/numeric/interval.hpp>

using namespace boost;
using namespace boost::numeric;

int main()
{
  bind(&in, 3, interval<int>(2, 4));
}

何か対処法などご存知の方いらっしゃるでしょうか?
find_ifなどの条件式に使いたいのですが。
0008デフォルトの名無しさん2009/01/20(火) 02:08:01
>>7
in のテンプレート引数を指定すれば、とりあえずうまくいくと思うけどbind(&in<int, interval<int>::traits_type>, 3, interval<int>(2, 4));
もっと簡単にかけるかどうかはわからんです
0009デフォルトの名無しさん2009/01/20(火) 16:07:04
       //
     /  /   パカッ
     //⌒)∩__∩
    /.| .| ノ     ヽ
    / | |  ●   ● |     
   /  | 彡  ( _●_) ミ  まピョーん☆
   /  | ヽ  |∪|  /_
  // │   ヽノ  \/
  " ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ
0010デフォルトの名無しさん2009/01/22(木) 02:09:13
OS: Mac OS X 10.5.6
コンパイラ: gcc 4.0.1
boost: 1_37_0

この環境で,filesystemをソースからビルドしてパスを通して,
g++ test.cpp -lboost_filesystem-gcc40-mt-1_37
みたいにコンパイルしようとすると,リンカがsymbol not foundとエラーをはきます.

ubuntuでは問題ないためmac特有の問題だと思うのですが,原因,対策がお分かりの方いらっしゃいませんか?

ちなみに,以下がコンパイル結果です.
g++ test.cpp -lboost_filesystem-gcc40-mt-1_37
Undefined symbols:
"boost::system::get_generic_category()", referenced from:
__static_initialization_and_destruction_0(int, int)in ccCDIN5Z.o
(長いので中略)
libboost_filesystem-gcc40-mt-1_37.a(operations.o)
__static_initialization_and_destruction_0(int, int)in libboost_filesystem-gcc40-mt-1_37.a(operations.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status
0011102009/01/22(木) 02:20:10
ソースコードは以下の通りです.
#include <boost/filesystem.hpp>

using namespace boost;

int main(int argc, char** argv)
{
filesystem::path dir("test");
filesystem::create_directory(dir);
return 0;
}
0012デフォルトの名無しさん2009/01/22(木) 07:21:21
>>8
コンパイルできました。
ありがとう。
0013デフォルトの名無しさん2009/01/22(木) 09:19:21
>>10
-lboost_system-mt
0014102009/01/22(木) 16:35:26
>>13
無事コンパイルできました.
冷静に考えてみると,エラーを見たらboost::systemを参照してたんですね...
それにしてもなんでmacだけ挙動が違うんだろうか.
とにかくありがとうございました!!
0015デフォルトの名無しさん2009/01/22(木) 17:21:16
ubuntuに入ってるのが1.34.1以前なんじゃね
0016デフォルトの名無しさん2009/01/23(金) 18:33:46
更新しました。
ttp://booster.x0.to/
0017デフォルトの名無しさん2009/01/23(金) 21:08:29
いったい何人が落としてるのか知らんが
RSS配信でもしてテンプレにURL貼るとかすりゃいいのに
毎度毎度スパムのように貼るな

と言ったら荒れるのだろうか
0018デフォルトの名無しさん2009/01/24(土) 08:17:34
>>17
そうカリカリすんな。お前は本物のスパムにもマジレスするのか?
目障りだと感じたなら黙ってあぼーんするだろ?
0019デフォルトの名無しさん2009/01/24(土) 12:04:12
もうすぐ1.38ですね。
何が変わったのか楽しみ
0020デフォルトの名無しさん2009/01/24(土) 15:45:15
0xまでC++はおあずけ
0021デフォルトの名無しさん2009/01/25(日) 11:03:31
0xいらね
0022デフォルトの名無しさん2009/01/25(日) 23:18:01
マイクロ秒の値をミリ秒に変換するのにboost::unitsを使うのは重すぎ?
1000で割るだけのことなんだけど、1000倍する人がいたりするので、
こういう仕組みを導入する必要もあるかもしれないと思って勉強してるんだが、
思ったより複雑でちょっと挫折しかけてる。
0023デフォルトの名無しさん2009/01/26(月) 10:54:49
>1000で割るだけのことなんだけど、1000倍する人がいたりするので、
>こういう仕組みを導入する必要もあるかもしれないと思って勉強してるんだが、
そういう仕組みを導入するより、1000倍して尚且つテストもしてみない阿呆を切るべき。
0024デフォルトの名無しさん2009/01/26(月) 11:30:44
boost::functionより速いらしい・・・
http://www.codeproject.com/KB/cpp/fastdelegate2.aspx
0025デフォルトの名無しさん2009/01/26(月) 18:14:43
>>24
実装は面白いけれどさ。
正直言って速度差は微々たる物だなぁ。
呼び出しにかかる時間は、現実的に問題にならない。
実際のコードでは、桁が何桁も違うくらい遅い処理を、その呼び出された関数の中でするはず。
すると一千万回呼んで500〜1000msぐらいの速度差なんてどうでも良くなってしまう。

劇的に違うのはコピーにかかる時間で、
これはBoost.Functionの実装ではヒープを使っているために目に見える速度差がでるんだろうけど。
一千万回コピーして十秒足らず。

そんなにコピーする?
0026デフォルトの名無しさん2009/01/26(月) 18:33:18
それよりコンパイルが早いのがほしいわ
0027デフォルトの名無しさん2009/01/26(月) 22:13:44
>>26
激しく同意
0028デフォルトの名無しさん2009/01/26(月) 22:15:05
公共の仕事に配属された。

boost禁止だと・・・orz
0029デフォルトの名無しさん2009/01/26(月) 22:23:06
コンパイル早くするのはマシン変えるのがいいんじゃね。
0030デフォルトの名無しさん2009/01/26(月) 23:13:36
そりゃ、下手すりゃ数十年単位で保守を続けるプログラムに変化の激しいboostは論外だろ。
大人しくC++0xの正式リリースを待て。
0031デフォルトの名無しさん2009/01/26(月) 23:47:25
boostのソースもってきて独自実装に入れちゃえよ。
0032デフォルトの名無しさん2009/01/27(火) 00:00:44
boostのソースコードを使うことにはライセンス的にまったく問題ないわけだから、
お前の書いたコードして使うってのはだめなの?
0033デフォルトの名無しさん2009/01/27(火) 00:43:46
そのBoostのコードだれかメンテできんのか?
あ,本家のコードに追随して更新していけばいいか…
0034デフォルトの名無しさん2009/01/27(火) 08:46:32
>>33
俺は自分がメンテできるとこだけ移植してるな

その過程でソースを詳しく見ることになるので
いろいろと勉強になることも多い
0035デフォルトの名無しさん2009/01/27(火) 10:45:02
>>33
別に更新し続けなければいけない理由はないだろ。
もし、自分が「更新されたboostに追加された機能」を使いたいなら必要だけど。
0036デフォルトの名無しさん2009/01/27(火) 17:11:35
boost.intrusive.listでアロケータを設定したいのですが設定できませんか?
std::allocatorや自作のアロケーターをテンプレートレベルで混在させたいですぅ。
0037デフォルトの名無しさん2009/01/27(火) 17:30:30
すみません自己解決しました。
0038デフォルトの名無しさん2009/01/28(水) 13:21:57
1.38のリリース準備が完了したみたいですね。
0039デフォルトの名無しさん2009/01/29(木) 00:06:48
New Libraries: Flyweight, ScopeExit, Swap. Updated Libraries: Accumulators, Exception, Hash, Multi-index Containers, Proto, Unordered, Xpressive
ttp://beta.boost.org/users/news/version_1_38_0
0040デフォルトの名無しさん2009/01/29(木) 00:54:31
>ScopeExit
もう自前でscope_guard書く必要がなくなるんだろうか
0041デフォルトの名無しさん2009/01/29(木) 12:04:22
boost::hoge
を文章の中で言うときは
boost.hoge
って書くことになってるの?
0042デフォルトの名無しさん2009/01/29(木) 12:43:31
>>41
いいえ
0043デフォルトの名無しさん2009/01/30(金) 21:52:32
更新しました。
ttp://booster.x0.to/

迷惑という意見が多い様でしたらサイトを閉じます。
0044デフォルトの名無しさん2009/01/30(金) 22:16:05
>>43
稀によく落とすからなくなると寂しい。
とは言え更新箇所わからないし最新版欲しかったら自分からチェック入れるからな。
0045デフォルトの名無しさん2009/01/31(土) 01:29:45
>>43
気にせず続けてくれ
0046デフォルトの名無しさん2009/01/31(土) 02:04:04
更新の通知の仕方に文句を付けられただけなのに、いきなりサイト閉鎖とは気が早いな。
0047デフォルトの名無しさん2009/01/31(土) 07:21:27
あれ!?
>>43
のサイトまじで消えてる!!
0048デフォルトの名無しさん2009/01/31(土) 09:18:59
今日は1.38のリリース日だー(・∀・)
0049デフォルトの名無しさん2009/01/31(土) 10:40:19
>>47
あるよ。リロードしてごらん

boostの発展のためには、ライブラリを簡単に使えるよに支援してくれるサイトの存在は良いことだと思うよ。

0050デフォルトの名無しさん2009/01/31(土) 22:45:18
もうすぐ1.38 wkwkbnbn
0051デフォルトの名無しさん2009/02/01(日) 20:12:06
>>43
サイトを閉じることで更新の報告がなくなるのなら、ぜひお願いします。
0052デフォルトの名無しさん2009/02/01(日) 20:37:30
スレの保守を兼ねていて悪くないとは思うんだけどな。
0053デフォルトの名無しさん2009/02/01(日) 20:48:11
更新報告でスレが埋まる訳でも無し
>>51は個人的に恨みでもあるのか
0054デフォルトの名無しさん2009/02/01(日) 21:28:51
>51
むしろお前がなくなればいい
0055デフォルトの名無しさん2009/02/01(日) 22:21:23
>>43様の報告レスがあれば保守ageをしなくて済むというメリットが
0056デフォルトの名無しさん2009/02/01(日) 22:46:27
では次回から、SVNのコメントから重要そうなものを幾つか抜粋して
書き込み時に添える様に致します。
0057デフォルトの名無しさん2009/02/02(月) 13:48:03
あー、それなら更新点報告ということで役にも立つな。
0058デフォルトの名無しさん2009/02/02(月) 17:32:05
便利なサイトだった
コメントつけたことはなかった
0059デフォルトの名無しさん2009/02/03(火) 10:03:03
1.38がまでリリースされてない件について!!
0060デフォルトの名無しさん2009/02/03(火) 10:34:25
beta2出たのが1/30だぜ?
0061デフォルトの名無しさん2009/02/03(火) 13:46:37
C++0xが出た後のboostはどうなるんだろうね。
0x拡張分の6割だか7割だかはboost発祥だそうだし、
0xとの重複分を廃止した上で新たなクラスを追加構築していくのかな?
0062デフォルトの名無しさん2009/02/03(火) 16:54:35
いやいや、非対応の古い処理系向けに残ってくれないと困る。
今だってTR1が出た後にunorderedとかhashとか追加しているくらいだ。
0063デフォルトの名無しさん2009/02/03(火) 17:50:53
C++0xが広く普及するまではlambdaにはboost版はやっぱり必要だもんな。
0xの普及が遅いとboost版から抜けられなくなるかも

0064デフォルトの名無しさん2009/02/03(火) 18:08:47
すみません、#ifdefでboostが使えるかどうかの判定ってできますか?
0065デフォルトの名無しさん2009/02/03(火) 18:32:57
>>64
ヘッダーが読み込まれていれば頭で何らかのシンボル定義してるだろうから、それで確認?

0066デフォルトの名無しさん2009/02/03(火) 18:37:09
>>65
ありがとうございます。やってみます。
0067デフォルトの名無しさん2009/02/03(火) 21:07:35
ヘッダーの読み込みが余所で行われている前提ならともかく自分で #include するなら
boost 使えない時にエラーになっちゃうし。
普通そーいうのは configure とかでやる。
0068デフォルトの名無しさん2009/02/06(金) 11:40:39
boostの正規表現ライブラリって日本語対応してないんだな。
ショック
0069デフォルトの名無しさん2009/02/06(金) 12:29:26
wide char版なら使えるんでは?
0070デフォルトの名無しさん2009/02/06(金) 17:22:40
>>68
boost::wregex
boost::u32regex
好きなほう使え

mingwでicuのstatic作るのにmakefileかなり修正させられた。
0071デフォルトの名無しさん2009/02/06(金) 18:23:49
boost::regexよりもboost::xpressive(非静的記述でも)のほうが速いって認識であってる?
0072デフォルトの名無しさん2009/02/06(金) 19:53:36
UTFにすることで日本語も問題なく使えるんじゃなかったっけ?
0073デフォルトの名無しさん2009/02/07(土) 04:48:31
更新しました。
ttp://booster.x0.to/
今回から、前回のビルドからの変更点を記載したchangelog.txtを同梱する様に致しました。
以下その一部
Fix bug in bessel_jn for n == -1.
Add new test case.
Modified : /trunk/boost/math/special_functions/detail/bessel_jn.hpp
Modified : /trunk/libs/math/test/test_bessel_j.cpp
Added missing config.hpp include for the wide characters support configuration macro.
Modified : /trunk/libs/date_time/test/testfrmwk.hpp
Changed to two_bit_color_map by default
Modified : /trunk/boost/graph/dijkstra_shortest_paths.hpp
Default color map to white, and fixed some warnings
Modified : /trunk/boost/graph/two_bit_color_map.hpp
Add missing #include <iostream>.
Modified : /trunk/libs/asio/example/buffers/reference_counted.cpp
Modified : /trunk/libs/asio/example/chat/posix_chat_client.cpp
Modified : /trunk/libs/asio/example/nonblocking/third_party_lib.cpp
Make validation a static member function. Fixes #2673
Modified : /trunk/boost/random/inversive_congruential.hpp
Modified : /trunk/boost/random/linear_feedback_shift.hpp
added missing std::
Modified : /trunk/boost/flyweight/intermodule_holder.hpp
Use a pipe if eventfd is not supported at runtime. Fixes #2683.
Modified : /trunk/boost/asio/detail/eventfd_select_interrupter.hpp
Ensure arguments to windows::overlapped_ptr::complete() are passed through to
the completion handler. Fixes #2614.
Modified : /trunk/boost/asio/detail/win_iocp_overlapped_ptr.hpp
fix wrong include
Modified : /trunk/boost/fusion/include/remove.hpp
0074デフォルトの名無しさん2009/02/07(土) 05:47:16
>>71
長い条件以外では大体そんな感じだと思ってる
ttp://www.boost.org/doc/libs/1_37_0/doc/html/xpressive/appendices.html
0075デフォルトの名無しさん2009/02/07(土) 11:13:26
>73
毎回そのまま張るとまた論議を呼びそうな気が。
張るんなら↓みたいにまとめた方が見やすいんじゃないだろうか。機械的処理も可能だし。
各ファイルの Added とかは要らないのでは、と思って抜いてみたんだけど Graph とかは厳しいな。

[Math]
  - Fix bug in bessel_jn for n == -1.
  - Add new test case.
[DateTime]
  - Added missing config.hpp include for the wide characters support configuration macro.
[Graph]
  - Changed to two_bit_color_map by default
  - Default color map to white, and fixed some warnings
[Asio]
  - Add missing #include <iostream>.
  - Use a pipe if eventfd is not supported at runtime. Fixes #2683.
  - Ensure arguments to windows::overlapped_ptr::complete() are passed through to the completion handler. Fixes #2614.
[Random]
  - Make validation a static member function. Fixes #2673
[Flyweight]
  - added missing std::
[Fusion]
  - fix wrong include
0076デフォルトの名無しさん2009/02/07(土) 11:26:23
現在何がアクティブなのかがわかって便利だね
0077デフォルトの名無しさん2009/02/07(土) 15:03:26
>>74
thx
たいていの場合で2倍以上速いんですね
0078デフォルトの名無しさん2009/02/08(日) 00:18:47
Boost.Regexオブジェクト構築に毎回コストがかさむのですが、
すべてクラスの変数にするとかしかないのかな。
いっぱい関数有るんでめんどくさいわ・・・
0079782009/02/08(日) 00:36:08
変更が少なくていいので、
とりあえずstatic変数にすることにしました。
0080デフォルトの名無しさん2009/02/09(月) 19:50:24
1.38.0きてるお
0081デフォルトの名無しさん2009/02/09(月) 22:14:02
spiritのast_treeの質問なんですが、

//型名など一部省略してます
spirit::rule intp, expp;
intp = leaf_node_d[int_p];
expp = int_p >> *(root_node_d[ch_p(L'+')] >> int_p);

上記のようなルールで、スキップパーサにblank_pを指定して
 1 + 2
を構文解析させたとき、スキップ指定しているにもかかわらず、
2つ目の値のツリーの結果に、+から2までの間のスペースが' ''2'といった
感じに含まれてしまうのですが、leaf_node_dはそういう仕様なんでしょうか?
(1つ目の値はスペースは含まれていない)

リーフノードにスペースを含まないようにするには、スキップパーサを指定してても
intp = no_node_d[*blank_p] >> leaf_node_d[int_p];
の様に、ルール側でもスペースを飛ばすしか方法がないのでしょうか?
0082812009/02/09(月) 22:51:59
訂正
expp = intp >> *(root_node_d[ch_p(L'+')] >> intp);
0083デフォルトの名無しさん2009/02/13(金) 18:41:55
更新しました。SVNは1.39に移行しました。
ttp://booster.x0.to/
以下更新内容の一部
[Units]
Zeroing in on bug with sun < 5.9
Begin tracing xlc failure
[Graph]
Integrating SOC 2007 code
Importing all_cliques, all_cycles algorithms
Importing geodesic distance module from SOC.
Imported clustering coefficient, eccentricity and core numbers algorithms.
[Regex]
Fixes #2713: change table initialisation so that it's initialised statically.
Workarounds to allow compilation by Sun studio without the -library=stlport4 option.
[Random]
correctly detect the end of the range in lagged_fibonacci_01::seed. Fixes #2703
Split random_test.cpp into multiple files to avoid hitting resource limits.
Correct stringizing
[Spirit]
Bug fix to iterator

亦、2月8日付で1.38の正式版もリリースされました。
ttp://www.boost.org/users/news/version_1_38_0

>>75
有難うございます、改善致しました。
0084デフォルトの名無しさん2009/02/13(金) 18:54:59
ttp://booster.x0.to/
を利用してる奴どれくらいいるの?
手あげて

0085デフォルトの名無しさん2009/02/13(金) 19:11:38
利用してます bccのバリなりもほしいです
0086デフォルトの名無しさん2009/02/13(金) 19:13:19
自鯖なら、ダウンロード数、アクセス数は把握してるんでは?
0087デフォルトの名無しさん2009/02/13(金) 19:35:58
age厨は自演で何をしたいんだ?
前スレから延々つきまとってるだろお前。
0088デフォルトの名無しさん2009/02/13(金) 23:41:16
>81 の質問はスルーですか?
他所のastのサンプルでほぼ同じようなコード書かれてるけど、
スキップ文字が入るなんて説明ないし自分のミスっぽい気はするんですが。
0089デフォルトの名無しさん2009/02/14(土) 10:26:38
少なくても最近ここに訪れている人の中には回答できる人はいないと思う。
0090デフォルトの名無しさん2009/02/14(土) 10:40:56
つかえねー
0091デフォルトの名無しさん2009/02/14(土) 11:23:14
>>88
> >>81の質問はスルーですか?

お前が答えてやれよ。
0092デフォルトの名無しさん2009/02/14(土) 12:57:25
>>81
blank_p ではなく space_p

http://tamachan.club.kyutech.ac.jp/~gridbug/spirit/spirit01.html
0093デフォルトの名無しさん2009/02/14(土) 13:02:52
>>92
やっぱ、違うっぽいorz
0094デフォルトの名無しさん2009/02/14(土) 15:14:53
>>81
intpいらない。int_pは元々単一ノードとして解析される。
expp = int_p >> *(root_node_d[ch_p(L'+')] >> int_p);
多分、leaf_node_dがint_pの前にスキップされた空白をノードに取り込んでるんだろう。
0095デフォルトの名無しさん2009/02/14(土) 16:04:06
>>94
int_pのみだと空白スキップされることはまでは試して
気がついてたのですが、int以外の自作トークンが使いたいときに
どうすれば良いのかで悩んでます。
やはりno_node_dで空白飛ばすのが正答なんでしょうかね。
0096デフォルトの名無しさん2009/02/14(土) 17:43:19
>>95
バグかも知れんね。
spirit/tree/common.hppの907行あたりを書き換えたら予想通りの結果になったよ。
if (hit) {
std::advance(from, std::distance(from, scanner.first) - hit.length());
return result_t(hit.length(),
factory_t::create_node(from, scanner.first, true));
}
0097統合しました。。。:2009/02/14(土) 18:08:11
http://pc11.2ch.net/test/read.cgi/tech/1234420483/

真・スレッドリスターター。。。( ̄ー ̄)ニヤリッ
0098デフォルトの名無しさん2009/02/14(土) 18:08:15
>>96
なるほど、そうでしたか。
チュートリアルなどでもこの不具合の発生するコードがあるのに
今まで誰も問題にしなかったみたいだし、割と最近の修正で
混入したバグなんでしょうね。

わざわざ調べていただいて、ありがとうございました。
0099892009/02/14(土) 22:21:42
>>96
正直侮りすぎた。スマンかった。
0100デフォルトの名無しさん2009/02/15(日) 04:17:45
謝らなくていい。ただ邪魔だから消えろ。
0101デフォルトの名無しさん2009/02/16(月) 13:09:53
それよりその不具合についてコミットしといたほうがいいんでは
■ このスレッドは過去ログ倉庫に格納されています