å¶ç´ä»ãã¢ã«ã´ãªãºã (C++20以ä¸)
C++20 ã§ã¯ã»ã¨ãã©ã®ã¢ã«ã´ãªãºã ã®å¶ç´ä»ããã¼ã¸ã§ã³ãåå空é std::ranges
ã§æä¾ããã¾ãã ãããã®ã¢ã«ã´ãªãºã ã§ã¯ãç¯å²ã¯ iterator 㨠sentinel ã®çµã¨ãã¦ã¾ãã¯åä¸ã® range 弿°ã¨ãã¦æå®ãããã¨ãã§ããå°å½±ã¨ã¡ã³ããã¤ã³ã¿ã® callable ããµãã¼ãããã¾ãã ããã«ãã»ã¨ãã©ã®ã¢ã«ã´ãªãºã ã®æ»ãå¤ã®åã¯ã¢ã«ã´ãªãºã ã®å®è¡ä¸ã«è¨ç®ãããå½¹ã«ç«ã¤ãããããªããã¹ã¦ã®æ
å ±ãè¿ãããã«å¤æ´ããã¦ãã¾ãã
ç®æ¬¡ |
[ç·¨é] ã¢ã«ã´ãªãºã ã®ã³ã³ã»ããã¨ã¦ã¼ãã£ãªãã£
ããã <iterator> ã¯å ±éã¢ã«ã´ãªãºã æä½ãå¶ç´ä»ãã«ãããã¨ã容æã«ããããã«è¨è¨ãããã³ã³ã»ããããã³é¢é£ã¦ã¼ãã£ãªãã£ã®ã»ãããæä¾ãã¾ãã
ããã
<iterator> ã§å®ç¾© | |
åå空é
std ã§å®ç¾© | |
鿥 callable ã³ã³ã»ãã | |
å¼ã³åºãå¯è½åã indirectly_readable åãéåç
§ããçµæãç¨ãã¦å¼ã¶ãã¨ãã§ãããã¨ãæå®ãã¾ã (ã³ã³ã»ãã) | |
å¼ã³åºãå¯è½åã indirectly_readable åãéåç
§ããçµæãç¨ãã¦å¼ã°ããã¨ãã« predicate ãæºãããã¨ãæå®ãã¾ã (ã³ã³ã»ãã) | |
callable åã2ã¤ã® indirectly_readable åãéåç
§ããçµæãç¨ãã¦å¼ã°ããã¨ãã« predicate ãæºãããã¨ãæå®ãã¾ã (ã³ã³ã»ãã) | |
callable åã2ã¤ã® indirectly_readable ãéåç
§ããçµæãç¨ãã¦å¼ã°ããã¨ãã« strict_weak_order ãæºãããã¨ãæå®ãã¾ã (ã³ã³ã»ãã) | |
å ±éã¢ã«ã´ãªãºã è¦ä»¶ | |
indirectly_readable åãã indirectly_writable åã«å¤ãã ã¼ãã§ãããã¨ãæå®ãã¾ã (ã³ã³ã»ãã) | |
indirectly_readable åãã indirectly_writable åã«å¤ãã ã¼ãã§ãããã¨ã¨ãã®ã ã¼ããä¸éãªãã¸ã§ã¯ãçµç±ã§è¡ããã¨ãã§ãããã¨ãæå®ãã¾ã (ã³ã³ã»ãã) | |
indirectly_readable åãã indirectly_writable åã«å¤ãã³ãã¼ã§ãããã¨ãæå®ãã¾ã (ã³ã³ã»ãã) | |
indirectly_readable åãã indirectly_writable åã«å¤ãã³ãã¼ã§ãããã¨ã¨ãã®ã³ãã¼ãä¸éãªãã¸ã§ã¯ãçµç±ã§è¡ããã¨ãã§ãããã¨ãæå®ãã¾ã (ã³ã³ã»ãã) | |
2ã¤ã® indirectly_readable åã®åç
§å
ã®å¤ãã¹ã¯ããå¯è½ã§ãããã¨ãæå®ãã¾ã (ã³ã³ã»ãã) | |
2ã¤ã® indirectly_readable åã®åç
§å
ã®å¤ãæ¯è¼ã§ãããã¨ãæå®ãã¾ã (ã³ã³ã»ãã) | |
ãã®å ´ã§è¦ç´ ãä¸¦ã¹æ¿ããã¢ã«ã´ãªãºã ã®å
±éã®è¦ä»¶ãæå®ãã¾ã (ã³ã³ã»ãã) | |
è¦ç´ ãã³ãã¼ãããã¨ã«ãã£ã¦ã½ã¼ãæ¸ã¿ã·ã¼ã±ã³ã¹ãåºåã·ã¼ã±ã³ã¹ã«ãã¼ã¸ããã¢ã«ã´ãªãºã ã®è¦ä»¶ãæå®ãã¾ã (ã³ã³ã»ãã) | |
ã·ã¼ã±ã³ã¹ãé åºä»ãã·ã¼ã±ã³ã¹ã«ä¸¦ã³æ¿ããã¢ã«ã´ãªãºã ã®å
±éã®è¦ä»¶ãæå®ãã¾ã (ã³ã³ã»ãã) | |
ã¦ã¼ãã£ãªã㣠| |
indirectly_readable åã®ä½ããã®éåãéåç
§ããçµæã«å¯¾ã㦠callable ãªãã¸ã§ã¯ããå¼ã³åºããçµæãè¨ç®ãã¾ã (ã¨ã¤ãªã¢ã¹ãã³ãã¬ã¼ã) | |
å°å½±ãåãåãã¢ã«ã´ãªãºã ã«å¯¾ããå¶ç´ãæå®ããããã®ãã«ãã¼ãã³ãã¬ã¼ã (ã¯ã©ã¹ãã³ãã¬ã¼ã) |
[ç·¨é] å¶ç´ä»ãã¢ã«ã´ãªãºã
ããã
<algorithm> ã§å®ç¾© | |
åå空é
std::ranges ã§å®ç¾© | |
é夿´ã·ã¼ã±ã³ã¹æä½ | |
æå®ç¯å²å
ã®è¦ç´ ã®ãã¹ã¦ã1å以ä¸ãã¾ãã¯0åã«å¯¾ãã¦è¿°èªã true ãè¿ããã©ãã調ã¹ã¾ã (ãã¼ããã¤ã) | |
æå®ç¯å²ã®è¦ç´ ã«é¢æ°ãé©ç¨ãã¾ã (ãã¼ããã¤ã) | |
ç¹å®ã®åºæºãæºããè¦ç´ ã®æ°ãè¿ãã¾ã (ãã¼ããã¤ã) | |
2ã¤ã®ç¯å²ãç°ãªãæåã®ä½ç½®ãæ¢ãã¾ã (ãã¼ããã¤ã) | |
2ã¤ã®éåã®è¦ç´ ãåããã©ããå¤å®ãã¾ã (ãã¼ããã¤ã) | |
ããç¯å²ãå¥ã®ç¯å²ããè¾æ¸é ã§å°ããå ´åã« true ãè¿ãã¾ã (ãã¼ããã¤ã) | |
ç¹å®ã®åºæºãæºããæåã®è¦ç´ ãæ¢ãã¾ã (ãã¼ããã¤ã) | |
ç¹å®ã®ç¯å²å
ã®è¦ç´ ã®æå¾ã®ã·ã¼ã±ã³ã¹ãæ¢ãã¾ã (ãã¼ããã¤ã) | |
è¦ç´ ã®éåã®ãããããæ¤ç´¢ãã¾ã (ãã¼ããã¤ã) | |
æåã®çãã (ã¾ãã¯æå®ã®è¿°èªãæºãã) 飿¥ãã2ã¤ã®é
ç®ãæ¢ãã¾ã (ãã¼ããã¤ã) | |
æå®ç¯å²ã®è¦ç´ ã«å¯¾ãã¦æ¤ç´¢ãè¡ãã¾ã (ãã¼ããã¤ã) | |
æå®åæ°ã®é£ç¶ããæå®è¦ç´ ãæå®ç¯å²ããæ¤ç´¢ãã¾ã (ãã¼ããã¤ã) | |
夿´ã·ã¼ã±ã³ã¹æä½ | |
æå®ç¯å²ã®è¦ç´ ãæ°ããä½ç½®ã«ã³ãã¼ãã¾ã (ãã¼ããã¤ã) | |
æå®åæ°ã®è¦ç´ ãæ°ããä½ç½®ã«ã³ãã¼ãã¾ã (ãã¼ããã¤ã) | |
æå®ç¯å²ã®è¦ç´ ãéé ã«ã³ãã¼ãã¾ã (ãã¼ããã¤ã) | |
æå®ç¯å²ã®è¦ç´ ãæ°ããä½ç½®ã«ã ã¼ããã¾ã (ãã¼ããã¤ã) | |
æå®ç¯å²ã®è¦ç´ ãæ°ããä½ç½®ã«éé ã§ã ã¼ããã¾ã (ãã¼ããã¤ã) | |
ç¹å®ã®å¤ãæå®ç¯å²ã®è¦ç´ ã«ä»£å
¥ãã¾ã (ãã¼ããã¤ã) | |
å¤ãæå®åæ°ã®è¦ç´ ã«ä»£å
¥ãã¾ã (ãã¼ããã¤ã) | |
æå®ç¯å²ã®è¦ç´ ã«é¢æ°ãé©ç¨ãã¾ã (ãã¼ããã¤ã) | |
颿°ã®çµæãæå®ç¯å²ã«ä¿åãã¾ã (ãã¼ããã¤ã) | |
颿°ã® N åã®é©ç¨ã®çµæãä¿åãã¾ã (ãã¼ããã¤ã) | |
ç¹å®ã®åºæºãæºããè¦ç´ ãåé¤ãã¾ã (ãã¼ããã¤ã) | |
ç¹å®ã®åºæºãæºããè¦ç´ ãçããªããæå®ç¯å²ã®è¦ç´ ãã³ãã¼ãã¾ã (ãã¼ããã¤ã) | |
ç¹å®ã®åºæºãæºãããã¹ã¦ã®å¤ãå¥ã®å¤ã«ç½®ãæãã¾ã (ãã¼ããã¤ã) | |
ç¹å®ã®åºæºãæºããè¦ç´ ãå¥ã®å¤ã§ç½®æããªããç¯å²ãã³ãã¼ãã¾ã (ãã¼ããã¤ã) | |
2ã¤ã®ç¯å²ã®è¦ç´ ãå
¥ãæ¿ãã¾ã (ãã¼ããã¤ã) | |
æå®ç¯å²ã®è¦ç´ ã®é åºãå転ããã¾ã (ãã¼ããã¤ã) | |
æå®ç¯å²ã®éé ã®ã³ãã¼ã使ãã¾ã (ãã¼ããã¤ã) | |
æå®ç¯å²ã®è¦ç´ ã®é åºãå転ããã¾ã (ãã¼ããã¤ã) | |
æå®ç¯å²ã®è¦ç´ ãã³ãã¼ãã¦å転ããã¾ã (ãã¼ããã¤ã) | |
æªå®ç¯å²ã®è¦ç´ ãã©ã³ãã ã«ä¸¦ã¹æ¿ãã¾ã (ãã¼ããã¤ã) | |
æå®ç¯å²ã®é£ç¶ããéè¤è¦ç´ ãåé¤ãã¾ã (ãã¼ããã¤ã) | |
é£ç¶ããéè¤ãå«ã¾ãªãè¦ç´ ã®ç¯å²ã®ã³ãã¼ã使ãã¾ã (ãã¼ããã¤ã) | |
åå²æä½ | |
æå®ç¯å²ãæå®ã®è¿°èªã§åå²ããã¦ãããã©ããå¤å®ãã¾ã (ãã¼ããã¤ã) | |
æå®ç¯å²ã®è¦ç´ ã2ã¤ã®ã°ã«ã¼ãã«åå²ãã¾ã (ãã¼ããã¤ã) | |
è¦ç´ ã2ã¤ã®ã°ã«ã¼ãã«åå²ããªããæå®ç¯å²ãã³ãã¼ãã¾ã (ãã¼ããã¤ã) | |
ç¸å¯¾é åºãç¶æããªããè¦ç´ ã2ã¤ã®ã°ã«ã¼ãã«åå²ãã¾ã (ãã¼ããã¤ã) | |
å岿¸ã¿ç¯å²ã®åå²ç¹ãæ¢ãã¾ã (ãã¼ããã¤ã) | |
ã½ã¼ãæä½ | |
æå®ç¯å²ãæé ã«ã½ã¼ãããã¦ãããã©ãã調ã¹ã¾ã (ãã¼ããã¤ã) | |
æã大ããªã½ã¼ãæ¸ã¿é¨åç¯å²ãæ¢ãã¾ã (ãã¼ããã¤ã) | |
æå®ç¯å²ãæé ã«ã½ã¼ããã¾ã (ãã¼ããã¤ã) | |
æå®ç¯å²ã®æåã® N åã®è¦ç´ ãã½ã¼ããã¾ã (ãã¼ããã¤ã) | |
æå®ç¯å²ã®è¦ç´ ãã³ãã¼ãã¦é¨åçã«ã½ã¼ããã¾ã (ãã¼ããã¤ã) | |
çããè¦ç´ éã®é åºãç¶æããªããæå®ç¯å²ã®è¦ç´ ãã½ã¼ããã¾ã (ãã¼ããã¤ã) | |
æå®è¦ç´ ã§åå²ããããã¨ãä¿è¨¼ããªããæå®ç¯å²ãé¨åçã«ã½ã¼ããã¾ã (ãã¼ããã¤ã) | |
äºåæ¢ç´¢æä½ (ã½ã¼ãæ¸ã¿ç¯å²ç¨) | |
æå®ãããå¤ããå°ãããªãæåã®è¦ç´ ãæãã¤ãã¬ã¼ã¿ãè¿ãã¾ã (ãã¼ããã¤ã) | |
ç¹å®ã®å¤ãã大ããæåã®è¦ç´ ãæãã¤ãã¬ã¼ã¿ãè¿ãã¾ã (ãã¼ããã¤ã) | |
ç¹å®ã®ç¯å²ã«è¦ç´ ãåå¨ãããã©ããå¤å®ãã¾ã (ãã¼ããã¤ã) | |
ç¹å®ã®ãã¼ã«ãããããè¦ç´ ã®ç¯å²ãè¿ãã¾ã (ãã¼ããã¤ã) | |
éåæä½ (ã½ã¼ãæ¸ã¿ç¯å²ç¨) | |
2ã¤ã®ã½ã¼ãæ¸ã¿ç¯å²ããã¼ã¸ãã¾ã (ãã¼ããã¤ã) | |
2ã¤ã®é åºä»ãç¯å²ããã®å ´ã§ãã¼ã¸ãã¾ã (ãã¼ããã¤ã) | |
ããéåãå¥ã®éåã®é¨åéåã§ããã° true ãè¿ãã¾ã (ãã¼ããã¤ã) | |
2ã¤ã®éåã®å·®ãè¨ç®ãã¾ã (ãã¼ããã¤ã) | |
2ã¤ã®éåã®äº¤å·®ãè¨ç®ãã¾ã (ãã¼ããã¤ã) | |
2ã¤ã®éåã®å¯¾ç§°å·®ãè¨ç®ãã¾ã (ãã¼ããã¤ã) | |
2ã¤ã®éåã®åãè¨ç®ãã¾ã (ãã¼ããã¤ã) | |
ãã¼ãæä½ | |
æå®ãããç¯å²ãæå¤§ãã¼ããã©ãã調ã¹ã¾ã (ãã¼ããã¤ã) | |
æå¤§ãã¼ãã§ããæã大ããªé¨åç¯å²ãæ¢ãã¾ã (ãã¼ããã¤ã) | |
æå®ç¯å²ã®è¦ç´ ããæå¤§ãã¼ãã使ãã¾ã (ãã¼ããã¤ã) | |
æå¤§ãã¼ãã«è¦ç´ ã追å ãã¾ã (ãã¼ããã¤ã) | |
æå¤§ãã¼ãããæã大ããªè¦ç´ ãåé¤ãã¾ã (ãã¼ããã¤ã) | |
æå¤§ãã¼ããæé ã«ã½ã¼ããããè¦ç´ ã®ç¯å²ã«å¤æãã¾ã (ãã¼ããã¤ã) | |
æå°/æå¤§æ¼ç® | |
æå®ãããå¤ã®å¤§ããæ¹ãè¿ãã¾ã (ãã¼ããã¤ã) | |
æå®ç¯å²ã®æã大ããªè¦ç´ ãè¿ãã¾ã (ãã¼ããã¤ã) | |
æå®ãããå¤ã®å°ããæ¹ãè¿ãã¾ã (ãã¼ããã¤ã) | |
æå®ç¯å²ã®æãå°ããªè¦ç´ ãè¿ãã¾ã (ãã¼ããã¤ã) | |
2ã¤ã®è¦ç´ ã®å°ããæ¹ã¨å¤§ããæ¹ãè¿ãã¾ã (ãã¼ããã¤ã) | |
æå®ç¯å²ã®æãå°ããªè¦ç´ ã¨æã大ããªè¦ç´ ãè¿ãã¾ã (ãã¼ããã¤ã) | |
é åæä½ | |
ã·ã¼ã±ã³ã¹ãå¥ã®ã·ã¼ã±ã³ã¹ã®é åãã©ããå¤å®ãã¾ã (ãã¼ããã¤ã) | |
æå®ç¯å²ã®è¦ç´ ããè¾æ¸çã«å¤§ããªæ¬¡ã®é åãçæãã¾ã (ãã¼ããã¤ã) | |
æå®ç¯å²ã®è¦ç´ ããè¾æ¸çã«å°ããªæ¬¡ã®é åãçæãã¾ã (ãã¼ããã¤ã) |
[ç·¨é] å¶ç´ä»ãæªåæåã¡ã¢ãªã¢ã«ã´ãªãºã
ããã
<memory> ã§å®ç¾© | |
åå空é
std::ranges ã§å®ç¾© | |
(C++20) |
ã¡ã¢ãªã®æªåæåé åã«æå®ç¯å²ã®ãªãã¸ã§ã¯ããã³ãã¼ãã¾ã (ãã¼ããã¤ã) |
(C++20) |
ã¡ã¢ãªã®æªåæåé åã«æå®åæ°ã®ãªãã¸ã§ã¯ããã³ãã¼ãã¾ã (ãã¼ããã¤ã) |
(C++20) |
æå®ãããç¯å²ã§å®ç¾©ãããã¡ã¢ãªã®æªåæåé åã«ãªãã¸ã§ã¯ããã³ãã¼ãã¾ã (ãã¼ããã¤ã) |
(C++20) |
æå®ãããéå§ä½ç½®ã¨åæ°ã§å®ç¾©ãããã¡ã¢ãªã®æªåæåé åã«ãªãã¸ã§ã¯ããã³ãã¼ãã¾ã (ãã¼ããã¤ã) |
(C++20) |
ã¡ã¢ãªã®æªåæåé åã«æå®ç¯å²ã®ãªãã¸ã§ã¯ããã ã¼ããã¾ã (ãã¼ããã¤ã) |
(C++20) |
ã¡ã¢ãªã®æªåæåé åã«æå®åæ°ã®ãªãã¸ã§ã¯ããã ã¼ããã¾ã (ãã¼ããã¤ã) |
æå®ãããç¯å²ã§å®ç¾©ãããã¡ã¢ãªã®æªåæåé åã«ããã©ã«ãåæåã§ãªãã¸ã§ã¯ããæ§ç¯ãã¾ã (ãã¼ããã¤ã) | |
æå®ãããéå§ä½ç½®ã¨åæ°ã§å®ç¾©ãããã¡ã¢ãªã®æªåæåé åã«ããã©ã«ãåæåã§ãªãã¸ã§ã¯ããæ§ç¯ãã¾ã (ãã¼ããã¤ã) | |
æå®ãããç¯å²ã§å®ç¾©ãããã¡ã¢ãªã®æªåæåé åã«å¤åæåã§ãªãã¸ã§ã¯ããæ§ç¯ãã¾ã (ãã¼ããã¤ã) | |
æå®ãããéå§ä½ç½®ã¨åæ°ã§å®ç¾©ãããã¡ã¢ãªã®æªåæåé åã«å¤åæåã§ãªãã¸ã§ã¯ããæ§ç¯ãã¾ã (ãã¼ããã¤ã) | |
(C++20) |
æå®ã¢ãã¬ã¹ã®ãªãã¸ã§ã¯ããç ´æ£ãã¾ã (ãã¼ããã¤ã) |
(C++20) |
æå®ç¯å²ã®ãªãã¸ã§ã¯ããç ´æ£ãã¾ã (ãã¼ããã¤ã) |
(C++20) |
æå®åæ°ã®ãªãã¸ã§ã¯ããç ´æ£ãã¾ã (ãã¼ããã¤ã) |