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


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

Boostを語れゴラァ part4



1 名前:デフォルトの名無しさん [2007/04/04(水) 14:09:06 ]
語って.はぁと part boost::mpl::int_<4>

過去スレ
part 3 pc11.2ch.net/test/read.cgi/tech/1158991211/
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/

334 名前:デフォルトの名無しさん mailto:sage [2007/06/29(金) 20:29:45 ]
StateChartは使いどころが今ひとつわかんね

アレのお世話になるほど状態遷移が複雑になるならむしろ
専用のツール作って(あるいはExcel使うとか)そのツールからコードジェネレート
した方が早いんじゃないかと思ったりする


ひょっとして実はすごく多機能なんだろうか・・・

335 名前:デフォルトの名無しさん mailto:sage [2007/06/29(金) 20:50:32 ]
>>333
valarray は要素の連続性を保証してるみたいだよ。

26.3.2.3p3
任意の型 size_t の i 及び 型 size_t の j について、
i+j が非定値の配列 a の要素数よりも小さい場合、
式 &a[i+j] == &a[i] + j は真とする。

vector も今は連続性を保証してる。

23.2.4p1 抜粋
ベクトルの要素は、連続した場所に蓄えられる。
すなわち、T を bool 以外の型とし、v を型 vector<T, Allocator> のベクトルとした場合、
0 ≦ n < v.size()) となるすべての n について、
同一性 &v[n] == &v[0] + n が成り立つ。

336 名前:デフォルトの名無しさん mailto:sage [2007/06/29(金) 23:37:34 ]
>>334
(゚Д゚)ハァ?

337 名前:デフォルトの名無しさん mailto:sage [2007/06/30(土) 00:00:23 ]
意味がわからんならスルーしろよ

338 名前:デフォルトの名無しさん mailto:sage [2007/06/30(土) 17:42:13 ]
>>334
Boost.FSM がレビュー待ち

339 名前:デフォルトの名無しさん mailto:sage [2007/06/30(土) 17:57:26 ]
一瞬フライングスパゲティモンスターに見えた
有限状態機械だった

340 名前:デフォルトの名無しさん mailto:sage [2007/06/30(土) 19:21:15 ]
uBlasってboostの標準ライブラリですか?

341 名前:デフォルトの名無しさん mailto:sage [2007/06/30(土) 19:52:52 ]
そうだお

342 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 14:56:36 ]
そそ。依存してるヘッダをプロジェクト内に突っ込んどくとそこそこインテリ化するよね。



343 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 14:57:45 ]
うわ、誤爆したorz

344 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 16:45:56 ]
>>342
そそって言うの止めろよ。気持ち悪い

345 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 17:50:18 ]
そそそ

346 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 17:54:36 ]
どうだっていいだろ
せめてプログラムの事で絡めよ気持ち悪い

347 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 18:20:51 ]
やっぱりvalarrayの(賢い方法での)range対応化は無理でした…
そもそもこれSTLコンテナのインターフェースじゃないんですよね
range関数やrangeイテレータの特殊化が組み込み型一つ一つの場合において特殊化していくような
強引なやり方でしか出来ませんでした><(といっても組み込み型に対してしか使えないから問題なさそうだけど)


348 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 20:02:26 ]
部分特殊化できないの?

349 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 01:08:17 ]
部分特殊化ってカリー化みたいだな・・・

350 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 21:22:26 ]
だからなに

351 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 00:03:09 ]
無性にカレーを食いたくなってきた


352 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 00:09:57 ]
日本印度化計画が脳裏に



353 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 02:11:29 ]
低所得者域は既にインド化済み。
雇用形態は真逆だがな。

354 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 16:09:21 ]
>>353
日本じゃ所得に関わりなく奥さんがお弁当とどけてくれたりしないですよ

355 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 20:08:58 ]
サリーさんのような嫁が欲しい

356 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 20:55:27 ]
>>349
むしろカリー化を型志向言語で体現する手法がテンプレートなんじゃないのか

357 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 22:44:35 ]
>>349>>356
全くの見当違いですので。

358 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 00:38:36 ]
>>349>>356
テンプレートでは引数の数は変わりません。

359 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 13:47:10 ]
カリー化と引数の数は関係ないんじゃ?

360 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 15:38:09 ]
関係あるだろ。自由変数が引数になる。
>>349は全くの逆だが。


361 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 18:40:45 ]
boost::ublasのmatrixって、宣言と同時に初期化できないの?
いちいち

mat( 0, 0 ) = 1; mat( 0, 1 ) = 2; mat( 0, 2) = 3;

みたいな書き方してるとだるいし、コードが読みにくくなる・・・
Blitz++だと、

mat =
1, 2, 3,
4, 5, 6,
7, 8, 9;

みたいな書き方できるけど、イテレータがビミョーらしいしorz
> T_iterator is an iterator type. NB: this iterator is not yet fully
> implemented, and is NOT STL compatible at the present time.

362 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 18:50:26 ]
mat =
  1 = 2 = 3 =
  4 = 5 = 6 =
  7 = 8 = 9;

みたいなのは作ろうと思えば作れそうだな。



363 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 21:21:08 ]
>>362
明らかに実装不可能な = を例に出すようなおまえにゃムリだな。

364 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 21:35:22 ]
= は右結合だったな・・・。
<< でいいや。

365 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 21:51:23 ]
右結合云々以前にoperator=はクラス外部で宣言できないから


366 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 21:58:07 ]
せめてboost::assignみたいにmatrix_list_of(1,2,3)(4,5,6)(7,8,9)
ってできればいいんだけど

367 名前:デフォルトの名無しさん mailto:sage [2007/07/06(金) 13:04:57 ]
ttp://sheepman.sakura.ne.jp/diary/?date=200605

#include <boost/numeric/ublas/vector.hpp>
#include <boost/numeric/ublas/io.hpp>
#include <iostream>

int main () {
using namespace boost::numeric;
using namespace std;

ublas::vector<double> v;
istringstream is("[3] (0.1, 2, 2)");
is >> v;

cout << v << endl;
}

$./a.out
[3](0.1,2,2)

これが一番よさそうかなぁ。
matrixでできるかどうかはわからんけど

368 名前:デフォルトの名無しさん mailto:sage [2007/07/06(金) 13:23:22 ]
>>365
誰もクラス外部での話に限定してなかったけどな。

369 名前:デフォルトの名無しさん mailto:sage [2007/07/06(金) 17:57:06 ]
こんなの書いてみた
template <class T>
class Vectorizer {
public:
    typedef typename boost::numeric::ublas::vector<T>::size_type size_type;
        explicit Vectorizer(size_type size) : cur_(0), vector_(size) {}

    template <class T2> Vectorizer& operator&(const T2& t) {
        vector_(cur_++) = t;

        return *this;
    }

    operator boost::numeric::ublas::vector<T>() const {
        return vector_;
    }

private:
    size_type                               cur_;
    boost::numeric::ublas::vector<T> vector_;
};
使い方
ublas::matrix<int> m(Vectorizer<int>(3) & 0 & 1 & 2); // m = [3](0,1,2)
コピーが発生するから効率は良くない・・・RVO的なものが効くかも知れないけど
rvalue-referenceが欲しいところ

370 名前:デフォルトの名無しさん mailto:sage [2007/07/06(金) 18:14:44 ]
最適化なら・・・最適化ならきっとなんとかしてくれる・・・!!

371 名前:デフォルトの名無しさん mailto:sage [2007/07/07(土) 06:39:39 ]
Visual Studio 2005 で IntelliSense がきかねぇよ・・・
しかも特定のライブラリ使ったときに顕著。
っていってたやつですが、using 使うと結構回避できるんですね。

boost::filesystem::path とか boost::spirit::file_iterator とか
がそれなんですが、 using boost::filesystem::path するとか
using filesystem=boost::filesystem すると IntelliSense が
効くみたい。

372 名前:デフォルトの名無しさん mailto:sage [2007/07/07(土) 09:40:53 ]
>>371
へぇーやってみよ



373 名前:デフォルトの名無しさん mailto:sage [2007/07/07(土) 17:38:23 ]
二版出るって。タプルのために買おうかな。
ttp://www.kmonos.net/pub/BoostBook/

374 名前:デフォルトの名無しさん mailto:sage [2007/07/07(土) 17:44:38 ]
いつの間にか、circular_bufferが削除されてる……?
ttp://svn.boost.org/trac/boost/changeset/4154

一体何があった?

375 名前:デフォルトの名無しさん mailto:sage [2007/07/07(土) 21:07:13 ]
>>373
おお。
あれから(初版)だいぶboostも進化したし、時代遅れになってたから
そろそろ新しく書いてくれないかと思ってたところなんだ。
これは買おう。

376 名前:デフォルトの名無しさん mailto:sage [2007/07/07(土) 21:14:27 ]
boostそのものより、その実装に使ってる技術(とその理由)を解説したものってないのかなぁ

shared_ptrのchecked_delete
でさえ何でこんな事してんの??

とさんざん悩んだよ
よく読むとドキュメントに書いてあったけど、書いてないものもあるし・・・

377 名前:デフォルトの名無しさん mailto:sage [2007/07/07(土) 21:23:54 ]
ああ、確かにそういう本欲しいなあ。
boostを題材にModern C++みたいなことをしてくれる本

378 名前:デフォルトの名無しさん mailto:sage [2007/07/07(土) 23:03:17 ]
そんなニッチな本売れねーよ

379 名前:デフォルトの名無しさん mailto:sage [2007/07/07(土) 23:23:43 ]
俺も欲しいけどなあ、そんな本。
使い方の解説はWeb上にたくさんあるけど、仕組みまで解説したところはほぼ皆無だし。

380 名前:デフォルトの名無しさん mailto:sage [2007/07/07(土) 23:44:10 ]
C++の本自体もうあまりでねーだろうが・・・

381 名前:デフォルトの名無しさん mailto:sage [2007/07/07(土) 23:44:38 ]
>>380

382 名前:デフォルトの名無しさん mailto:sage [2007/07/07(土) 23:47:18 ]
方向性がどんどんマニアックになってるからね。
素人向けしない仕様・思想がてんこもり



383 名前:デフォルトの名無しさん [2007/07/08(日) 04:21:56 ]
いわゆる Smalltalk 系の OOP が好きな奴は
C# とか Java とか Ruby でいいと思うよ。

C++ はどんどんマニアックになってほしい。


384 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 05:27:34 ]
>>373
秀和の本って紙が厚くない?
もちっと薄い紙にしてほしいけど単価高いのかなぁ。


385 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 06:48:21 ]
最近のコンパイライには tr1 名前空間以下にいろいろと
用意されているの?

386 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 07:00:42 ]
お化けのqueue太郎が復刊されるらしいね

387 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 07:41:18 ]
blogに内部構造の話書こうかと思ったけど、
解読している時間が少なくなってしまってもったいないんだよね。
持続してblogに技術話書き続けている人って本当にすごい。

388 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 07:50:52 ]
>>387
自分のメモ程度の物でいいんじゃないの?
そういうサイトも結構役に立つんだよね、暗中模索しちゃったときとか







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

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

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