std::optional
ãææ¡ãããæåã®ææãä¸èº«ã®ãã¼ã¿ãåãåºãæ¹æ³ããéæ¥åç
§æ¼ç®åããããã¾ããã§ããããã®ãã¨ãç§ããboost::optional
ã«ã¯get()
ã¡ã³ãé¢æ°ããããããã¡ãã«ã¯ãªããç§ã¯ãã¤ã³ã¿ã¤ã³ã¿ãã§ã¼ã¹ããã¯ããã¡ãã使ãããããã¨ææ¡ããã¨ãããget()
ã¡ã³ãé¢æ°ã®ä»£ããã«ãvalue()
ã¡ã³ãé¢æ°ãå
¥ãã¾ããã
ãã®çµç·¯ã¨ãã¦ã¯ãããããã®ã§ãã
shared_ptr
ã¨unique_ptr
ã«ã¯ãçãã¤ã³ã¿ãåå¾ããããã®get()
ã¡ã³ãé¢æ°ããããoptional
ã¯ãè¦ããã«ãã£ã¦ã¯ã¹ãã¼ããã¤ã³ã¿ã¨è¦ãªããã¨ãã§ãããoptional
ã«get()
ã¡ã³ãé¢æ°ãå ¥ããã®ã§ããã°ãã¹ãã¼ããã¤ã³ã¿ã®ããã«ããã¤ã³ã¿ãè¿ãã¹ãã§ã¯ãªãããoptional
ã®get()
ã¯ã¹ãã¼ããã¤ã³ã¿ã®ã¤ã³ã¿ãã§ã¼ã¹ã§ã¯ãªããçãã¼ã¿(raw data, base data)ãåç §ããã»ãã³ãã£ã¯ã¹ãªã®ã§ãå¥åã¨ãã¦value()
ã«ãããã
ãã®çµè«ãæªãã¨ã¯æãã¾ããããç§å人ã¯ãoptional
ãboost::initialized
ãstd::chrono::duration
ã®ãããªã©ããã¼åã®ãçãã¼ã¿ãåç
§ããã¤ã³ã¿ãã§ã¼ã¹ãå
±éåãããã¨èããã®ã§ãç§ãä½ãã¯ã©ã¹ã§ã¯ãget()
ã¡ã³ãé¢æ°ã«çµ±ä¸ããã¦ãã¾ãã
å
æ¥ã®ããã§ãã¯ä»ãéæ¥åç
§ã®ææ¡ ã¾ãã®åããã¿ã¼ã³ãããããåãå
¥ããããå ´åã¯ãçãã¼ã¿ãåç
§ããã¤ã³ã¿ãã§ã¼ã¹ãå
±éãã¦ããã»ããããã§ãããããããã®ãããªè©±ã«ãªã£ãããoptional
ã®ã¤ã³ã¿ãã§ã¼ã¹ãè¦ç´ãã«ãªãããããã¾ãããéæ¥åç
§æ¼ç®åãå
±éã¤ã³ã¿ãã§ã¼ã¹ã«ã¯ããããªããã©ãã¤ã³ã¿ãæ±ããããã«ããããã¨ãããªããtraitsã®ãããªä¸éã¤ã³ã¿ãã§ã¼ã¹ãç¨æãããã¨ã«ãªãã¨ã¯æãã¾ãã