OptionalかわいいよOptional(2)

3
普通のC++使い、銀天すばる @SubaruG

せめてコンストラクタがカリー化出来れば…。

2010-06-03 13:39:12
Akira Takahashi @cpp_akira

みんな思ってるけど、現状無理っぽいこともみんな知ってる。 RT @SubaruG: ぐぬぬ。 tuple を unpack したい…(半ば定期post)

2010-06-03 13:41:17
普通のC++使い、銀天すばる @SubaruG

めんどくさいからタプルからは構築できないようにしよう。

2010-06-03 13:42:14
普通のC++使い、銀天すばる @SubaruG

と書くことにより、 *x が T( a, b, c ) で初期化される。うむ。

2010-06-03 13:45:26
普通のC++使い、銀天すばる @SubaruG

in_place_construct じゃなくて emplace_construct にした方がいいか?

2010-06-03 13:49:15
普通のC++使い、銀天すばる @SubaruG

コンテナ以外で emplace って単語を使っている例がないか、 N3092 を検索ちう

2010-06-03 13:51:36
普通のC++使い、銀天すばる @SubaruG

in-place って単語は規格にあるのかな?

2010-06-03 13:53:38
普通のC++使い、銀天すばる @SubaruG

in_place でも in place でもいいけど。

2010-06-03 13:54:55
普通のC++使い、銀天すばる @SubaruG

in place of がヒットしまくって困る。

2010-06-03 13:55:55
普通のC++使い、銀天すばる @SubaruG

emplace って、コンテナに対する要素の追加での局面しか使ってないみたいだにゃー。

2010-06-03 13:59:27
普通のC++使い、銀天すばる @SubaruG

といっても、それ以外の局面で「直接構築」するのは pair の piecewise_construct くらいか。

2010-06-03 14:01:09
普通のC++使い、銀天すばる @SubaruG

pair の該当する部分では piecewise construction という用語しか使ってないし…。

2010-06-03 14:03:18
普通のC++使い、銀天すばる @SubaruG

いいや、 emplace_construction という用語を勝手に作っちゃおう。そもそも optional ってのは空か1要素かのみ格納出来るコンテナと考えられなくも無いし。

2010-06-03 14:09:42
普通のC++使い、銀天すばる @SubaruG

ヤバい。関数のデフォルトテンプレートパラメータで SFINAE するのが簡潔すぎて感動する。

2010-06-03 14:16:07
普通のC++使い、銀天すばる @SubaruG

これって規格的にOKだよな…? VC10的にはどうなんだろ。

2010-06-03 14:16:26
普通のC++使い、銀天すばる @SubaruG

戻り値とか引数にコッソリSFINAEを紛れ込ませるコードとか書きたくない…。

2010-06-03 14:17:05
普通のC++使い、銀天すばる @SubaruG

まぁ gcc4.5.0 で可能だからおkということにしよう。うむ。

2010-06-03 14:18:07
普通のC++使い、銀天すばる @SubaruG

明示的な破棄を opt = none; ではなくもっと分かりやすい表現にしたいけど、名前はどうしようかなー。 dispose ?

2010-06-03 14:29:58
普通のC++使い、銀天すばる @SubaruG

N3092 では unique_ptr の項で dispose っていう単語が登場してる。

2010-06-03 14:31:18
普通のC++使い、銀天すばる @SubaruG

destroy だと再構築できなさそうだし、ここは dispose でいいかな?

2010-06-03 14:32:04
普通のC++使い、銀天すばる @SubaruG

うにーくぽいんたとの整合性を考えて reset() にしとくか。

2010-06-03 14:33:39
普通のC++使い、銀天すばる @SubaruG

コピーして swap すべきか、自己代入チェックして真面目に処理すべきか

2010-06-03 14:37:45