N3059

21
前へ 1 ・・ 6 7
でちまるさん(実際かわいい) @decimalbloat

あー、引数にbraced-init-listを含む場合、関数テンプレートはviable functionにはならないんだっけ?

2010-04-28 18:40:19
普通のC++使い、銀天すばる @SubaruG

第一引数に std::piecewise_construct_t が渡されるお陰で正しく推論されるんだろうな、ってのは分かるのですが…

2010-04-28 18:40:25
でちまるさん(実際かわいい) @decimalbloat

template<typename T> f(T); に対してf({1});ではTはなんなのか分からないから無理だよね、ということか

2010-04-28 18:41:25
でちまるさん(実際かわいい) @decimalbloat

template<typename T, typename U> f(pair<T, U>); も、 f({1, 2}); ではオーバーロード解決に失敗するんじゃないかいな?

2010-04-28 18:42:47
普通のC++使い、銀天すばる @SubaruG

pair 以外に候補があれば失敗しますよね。 RT @DecimalBloat: template<typename T, typename U> f(pair<T, U>); も、 f({1, 2}); ではオーバーロード解決に失敗するんじゃないかいな?

2010-04-28 18:45:19
ひいかめ @hiikame_

@SubaruG まあ、落としどころとしてはそこが妥当ですかね。boostならそのうちやってくれるでしょう

2010-04-28 19:10:39
普通のC++使い、銀天すばる @SubaruG

boost::in_place を使えば noncopyable なオブジェクトでも普通に optional に入れられる、って事実は意外と知られてない気がするのよねー。 one-phase construction 教にも繋がる大事なコトなのに。

2010-04-28 22:22:04
普通のC++使い、銀天すばる @SubaruG

そういや boost::in_place は Variadic Templates にまだ対応してなかった気が。

2010-04-28 22:24:32
普通のC++使い、銀天すばる @SubaruG

Boost.Optional と Boost.Variant はそろそろ emplace 代入をサポートするべき。

2010-04-28 22:29:25
普通のC++使い、銀天すばる @SubaruG

と思ったけど in_place_factory が Variadic Templates に対応すればそれでいい気もしてきた。

2010-04-28 22:32:20
前へ 1 ・・ 6 7