OptionalかわいいよOptional(2)

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

俺々 Boost.Optional 開発開始。折角なのでC++0xで書く。

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

無理に既存の Boost.Optional と合わせるようなことはせず、C++0xとして(僕主観で)自然になるように書いてみよう。

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

つまり in_place factory からの明示的変換/代入ではなく、別の one-phase construction を模索する。

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

コンパイラの自動生成にはいつもお世話になっております(ただしC++に限る)

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

んー。 右辺値参照ポインタが欲しくなってしまった。

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

多分ないよな。ない理由も分かるし。うりゅうりゅ。

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

ってかふと思ったけど optional<T&&> って必要じゃね?

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

とりあえず気付かなかった振りをしておこう

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

optional<T&&> ってどんなオブジェクトなんだろう。正直、あんまりイメージできない/。

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

とりあえず * を適用すると T&& になるクラス、だから…

2010-06-03 12:40:48
若年寄(もう若くない) @kikairoya

optional<T &&>はすごく扱いづらい気がする [宮崎産を食べよう]

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

つまり operator*() も operator*() const も operator*() && も T&& になるクラスってことか?

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

一回参照外したらハイ終了、という

2010-06-03 12:44:25
若年寄(もう若くない) @kikairoya

vector<T &&>って出来ないよな・・・ [宮崎産を食べよう]

2010-06-03 12:45:48
若年寄(もう若くない) @kikairoya

それを考えるとoptional<T &&>は単純に禁止したほうが幸せかも [宮崎産を食べよう]

2010-06-03 12:46:04
若年寄(もう若くない) @kikairoya

ああoptionalがこんな実装になってるのはpartial specializationがないコンパイラのためか [宮崎産を食べよう]

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

std::is_convertible と std::is_explicitly_convertible って同じものっぽい?

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

うわ、 std::enable_if って integral_constant じゃなくて bool をとるのかよ。

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

つまりいちいち std::enable_if< is_xxx<T>::value > って書かなければいけない、とか…面倒。

2010-06-03 13:08:08
Akira Takahashi @cpp_akira

boost::enable_if_cです。 RT @SubaruG: うわ、 std::enable_if って integral_constant じゃなくて bool をとるのかよ。

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

boost::enable_if は依然として必要ということが理解出来た。

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

is_convertible<From&, To> って表現はだいじょうぶだよな。ちょっと闇の書を見てくるか。

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

is_convertible<From, To> は、 From&& から To への暗黙変換が可能なときに true_type になる、と。

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

From が T& の場合は、 T& && -> T& となるから…うむ、問題ない。

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

ぐぬぬ。 tuple を unpack したい…(半ば定期post)

2010-06-03 13:38:42
1 ・・ 4 次へ