!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
↑同じ内容を3行貼り付けること
次スレは>>980が立てること
無理なら細かく安価指定
※前スレ
C++相談室 part161
https://mevius.5ch.net/test/read.cgi/tech/1653135809/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
C++相談室 part162
■ このスレッドは過去ログ倉庫に格納されています
1sage (ワッチョイ fbf0-ofdD)
2022/10/31(月) 14:29:35.57ID:J5sgTSch02デフォルトの名無しさん (ワッチョイ d9f0-ofdD)
2022/10/31(月) 17:11:42.28ID:FSs0hrWX0 保守です
3デフォルトの名無しさん (スップ Sd73-OvbD)
2022/11/01(火) 07:31:00.75ID:8mAHYLmxd 寿限無寿限無五劫の擦り切れ海砂利水魚の水行末雲来末風来末食う寝る処に住む処藪ら柑子の藪柑子パイポパイポ パイポのシューリンガンシューリンガンのグーリンダイグーリンダイのポンポコピーのポンポコナーの長久命の長助
4デフォルトの名無しさん (スップ Sd73-pLSs)
2022/11/01(火) 12:22:19.23ID:LNKvo44sd 今更話すことある?
5デフォルトの名無しさん (ワッチョイ 79c2-iO6U)
2022/11/03(木) 09:15:40.37ID:AvIGv7Uk0 template <template<class...> class T>
struct is_map : std::false_type { };
template<> struct is_map<std::map> : std::true_type { };
template<> struct is_map<std::multimap> : std::true_type { };
template<> struct is_map<std::unordered_map> : std::true_type { };
template<> struct is_map<std::unordered_multimap> : std::true_type { };
template <template<class...> class T>
concept map_t = is_map<T>::value;
template <template<class...> map_t MAP, class... ARGS> //C3339
void test(MAP<ARGS...>&&) {}
うーん、困った
どうしよう。。。
struct is_map : std::false_type { };
template<> struct is_map<std::map> : std::true_type { };
template<> struct is_map<std::multimap> : std::true_type { };
template<> struct is_map<std::unordered_map> : std::true_type { };
template<> struct is_map<std::unordered_multimap> : std::true_type { };
template <template<class...> class T>
concept map_t = is_map<T>::value;
template <template<class...> map_t MAP, class... ARGS> //C3339
void test(MAP<ARGS...>&&) {}
うーん、困った
どうしよう。。。
6デフォルトの名無しさん (ワッチョイ 917c-T8wd)
2022/11/03(木) 10:13:40.98ID:GMyBvZ220 requires map_t<MAP>でええやん
7デフォルトの名無しさん (ワッチョイ 79c2-iO6U)
2022/11/03(木) 10:30:49.88ID:AvIGv7Uk0 あ、そっか
㌧x
一応、報告
template <template<class...> class MAP, class... ARGS> requires map_t<MAP> //OK
void test(MAP<ARGS...>&&) {}
㌧x
一応、報告
template <template<class...> class MAP, class... ARGS> requires map_t<MAP> //OK
void test(MAP<ARGS...>&&) {}
8デフォルトの名無しさん (ワッチョイ 0bda-PhZD)
2022/11/03(木) 18:33:03.71ID:A3AnwOcy0 テンプレートにテンプレート重ねて滅茶苦茶する典型
9デフォルトの名無しさん (ワッチョイ 917c-T8wd)
2022/11/03(木) 20:41:25.83ID:GMyBvZ220 AssociativeContainer要件のコンセプトは標準ライブラリには無いんだな
規格上定義してるrequirementは一通り作っとけばいいのに
規格上定義してるrequirementは一通り作っとけばいいのに
10デフォルトの名無しさん (ワッチョイ 13a5-T+yX)
2022/11/03(木) 22:05:17.66ID:f0rgVbxY011はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 7b3e-Tk+f)
2022/11/03(木) 22:28:39.04ID:b1nVlp4p0 >>10
コンパイラが無限のリソースを使えるわけじゃないから制限があってもいいし、
わかっている制限は文書化するべきということになっている。
https://timsong-cpp.github.io/cppwp/n3337/implimits
言語仕様の側でもどの程度まで処理すべきかという最低限の数値は与えていて
この場合だと
Recursively nested template instantiations [1024].
ってのが当てはまる。
あくまでもガイドラインなのでこれ以下に制限された処理系がないとは言えないんだけど、
1024 が提示されているところで 100 やそこらに制限するような処理系はたぶんあんまりないとは期待できると思う。
コンパイラが無限のリソースを使えるわけじゃないから制限があってもいいし、
わかっている制限は文書化するべきということになっている。
https://timsong-cpp.github.io/cppwp/n3337/implimits
言語仕様の側でもどの程度まで処理すべきかという最低限の数値は与えていて
この場合だと
Recursively nested template instantiations [1024].
ってのが当てはまる。
あくまでもガイドラインなのでこれ以下に制限された処理系がないとは言えないんだけど、
1024 が提示されているところで 100 やそこらに制限するような処理系はたぶんあんまりないとは期待できると思う。
12デフォルトの名無しさん (ワッチョイ 79c2-iO6U)
2022/11/04(金) 14:22:03.44ID:MccBwaps0 そんなん言い出したら自動変数は合計何バイトまでとか
しょーもないことを規格票に書くハメにならないか?
しょーもないことを規格票に書くハメにならないか?
13デフォルトの名無しさん (ワッチョイ 8901-T+yX)
2022/11/04(金) 14:28:53.41ID:I5Ua2kB10 GCCとClangの -ftemplate-depth-?? の話?
14デフォルトの名無しさん (スッップ Sd33-pLSs)
2022/11/04(金) 15:45:10.91ID:nV9i8Ccmd 昔は17だったなその制限
■ このスレッドは過去ログ倉庫に格納されています
