åŸ ã£ãŠãééã£ãã©ã€ãã©ãªã
2011幎3æãISO C ++å§å¡äŒã¯ãææ°ã®C ++æšæºã®æçµãã©ãããæ¿èªããŸããã ãã®èšèªã¯ããã®å¹Žã®8æã«æ£åŒã«æšæºåãããC ++ 11ãšããŠç¥ãããããã«ãªããŸããã2幎åŸãèšèªã«åœ±é¿ããåé¡ã®ããã€ããæ¯ãè¿ã£ãŠèŠãããšãã§ããŸãïŒ1998幎ã«æåã®åœéæšæºãæ¡çšãããŠä»¥æ¥ïŒãã®æçµããŒãžã§ã³ãäžè¬çãªC ++ Boostã©ã€ãã©ãªãšæ¯èŒããŸãã
æšæºã®æåã®ããŒãžã§ã³ã§ã¯ãC ++ã«ã©ã€ãã©ãªã®å ¬åŒä»æ§ãå«ãŸããŠããŸããã ããã«å ç«ã¡ãããŸããŸãªçµç¹ãå人ãã©ã€ãã©ãªãäœæããŸããããã³ãã¬ãŒããããŒã¹ã«ããŠããã¯ã¿ãŒãã¹ã¿ãã¯ãªã©ã®ããŸããŸãªçš®é¡ã®ã³ã³ãããæäŸããããšããããŸããã ANSI / ISOã®æ³šç®ã«å€ãããã®ãããªã©ã€ãã©ãªã®1ã€ã¯ãAlexander Stepanovãšããååã®ç·ãç«ã¡äžããStandard Template LibraryïŒSTLïŒã§ãã ããããåœæã¯èšèªèªäœã«æšæºã¯ãªããã³ã³ãã€ã©ã®ããŸããŸãªãµãã©ã€ã€ãåãââã§ããã解éããæ©äŒããããŸããã ïŒ90幎代åã°ã«Borland C ++ã³ã³ãã€ã©ã䜿çšããŠããªã³ã¯ããªã»ãããããããšãå¯èœã§ããããæšæºã®ãªãªãŒã¹ã§ã¯äžå¯èœã«ãªããŸããïŒã
ãã³ãã¬ãŒãã¯ãå¥ã®åé¡ã§ããã ãã³ããŒã¯ããŸããŸãªæ¹æ³ã§ããããå®è£ ããŸããã ãã ããSTLã®åºçŸã«ãããC ++ã®éèŠãªã®ã£ãããç¹ã«ãæ確ã«å®çŸ©ãããååã«ãã¹ããããã³ã³ããã¯ã©ã¹ã®å¿ èŠæ§ãåããããŸããã ãããã人çãèã«èŠããªãããã«ãããŸããŸãªSTLå®è£ ãããã«ç»å ŽããŸããã HPã®ããŒãžã§ã³ïŒå ã®ããŒãžã§ã³ã®1ã€ïŒãã©ã®ããã«äœ¿çšããããèŠããŠãããåæã«äŒç€ŸãSilicon Graphicsã®ããŒãžã§ã³ãéžæããŸããã åæã«ãRogue Wave Softwareã®ãã°ãããã©ã€ãã©ãªãååšããŸããããã®ã©ã€ãã©ãªã«ã¯ããã³ãã¬ãŒãã«åºã¥ãããã®ãšããã§ãªããã®ããããŸããã ããã¯åœææã人æ°ã®ãã£ãåçšã©ã€ãã©ãªã®1ã€ã§ãããSTLãsomewhatãšãããŸãã éèŠãªç¹ïŒãããã®ã©ã€ãã©ãªã¯ãããã亀æå¯èœã§ã¯ãããŸããã§ããã åãã¯ã©ã¹ãšé¢æ°ã䜿çšãããŠãããšæ³å®ãããŠããå Žåã§ãããããååŸããŠã#includeããå¥ã®ã©ã€ãã©ãªã«çœ®ãæãããã¹ãŠãæ©èœããããšãæåŸ ããããšã¯ã§ããŸããã ãããã¯åã«äºææ§ããããŸããã§ããã 2ã€ã®ã©ã€ãã©ãªãå ã®STLã«åºã¥ããŠããã¯ã¿ãŒãã¯ã©ã¹ãå®è£ ãããšããäºå®ã¯ãåãã§ããããšãæå³ããŸããã§ããã
ã«ãªã¹
ãã®åŸ1998幎ã«ãæšæºã©ã€ãã©ãªãšåŒã°ããç¬èªã®ã©ã€ãã©ãªä»æ§ãå«ãæšæºãçºè¡šãããŸããã ããã¯STLã«ãã䌌ãŠãããå®éã«ããã«åºã¥ããŠããŸããã ããã¯èšèªä»æ§ã®äžéšã§ããããã³ã³ãã€ã©ã«çµã¿èŸŒãŸããŠããªããšããæå³ã§æšæºã©ã€ãã©ãªã¯äžéšã§ã¯ãããŸããã§ããã ãã®ã©ã€ãã©ãªã¯ããã³ããŒãC ++ã§éçºããã³ã³ãã€ã©ã«å梱ã§ããäžé£ã®ã¯ã©ã¹ã®ä»æ§ã§ããã ããã¯ãå¿ èŠã«å¿ããŠæšæºã©ã€ãã©ãªãç¡èŠãã代ããã«å¥ã®ã©ã€ãã©ãªã䜿çšã§ããããšãæå³ããŸããããã¯ãé»æ°éä¿¡æ¥çåãã®ãœãããŠã§ã¢ãäœæããè¥ããšã³ãžãã¢ãªã©ãã»ãšãã©ã®çµç¹ãè¡ã£ãããšã§ãã ãã®äŒç€Ÿã§ã¯ãç§ããåã«åããŠããããã°ã©ããŒãSTLããŒãžã§ã³ã®Silicon Graphicsã䜿çšããŠããŸããããããããé¢ããŠæšæºã©ã€ãã©ãªã®å®è£ ã«çœ®ãæããã«ã¯å€å€§ãªåŽåãå¿ èŠã§ããã ãã¡ããã1999幎ã«ã³ã³ãã€ã©ã®ææ°ããŒãžã§ã³ã«åãæ¿ããŠå€ãã®å€æŽãå ããåŸããã³ããŒã¯ãã³ã³ãã€ã©ãæšæºã«æºæ ããŠããããšãèªãããã«çºè¡šããŸãããã€ãŸããç§ãã¡ãæžããã³ãŒãã®ã»ãšãã©ã¯ãåžžã«æ°ããã³ã³ãã€ã©ã«ãã£ãŠã³ã³ãã€ã«ãããããã§ã¯ãããŸããã
ãã®ããããœãããŠã§ã¢éçºè ã¯æ°ãããããžã§ã¯ããéå§ããã¿ã€ãã³ã°ãéžæããããåŸãŸããã§ãããæšæºã©ã€ãã©ãªãŸãã¯å®çžŸã®ããSTLã䜿çšããSTLã®å Žåã¯ã©ã®ããŒãžã§ã³ã§ãã ãŸãã¯ãRogue Waveã®ãããªåªããåçšã©ã€ãã©ãªãŒã«ç«ã¡å¯ã£ãŠãã ããã 圌ãã¯ãŸãããããã®ãããããéžæãããšãé·æé䜿çšããããšãäœåãªããããããšãç解ããŸããã æšæºã©ã€ãã©ãªèªäœã«ã€ããŠã¯ãã³ã³ãã€ã©ãã³ããŒãç¬èªã®ããŒãžã§ã³ãäœæããããšãå€ããåžžã«ãªãªãžãã«ãšäžèŽãããšã¯éããŸããã§ããã
ããã¯å®å šãªæ··ä¹±ã§ããã ãããŠãéšåçã«ã¯ãæšæºåããã»ã¹èªäœãåé¡ã§ããïŒçŸåšã¯åé¡ã§ãïŒã STLã¯1993幎ã«æšæºåå§å¡äŒã§åããŠå®èšŒãããŸããããæšæºãçºè¡šããããŸã§ã«5幎ãçµéããŸããã ãã®éãã©ã€ãã©ãªã¯èšããŸã§ããªããèšèªèªäœã®æšæºãããªãã£ããããã³ã³ãã€ã©ãã³ããŒã¯ã©ã€ãã©ãªãäœæããèªç±ã ãã§ãªããèšèªèªäœãåãåããŸããã 1996幎é ãæ··ä¹±ã¯æé«æœ®ã«éããŸããã Borlandã¯ãC ++ã®ããŒãžã§ã³ã«å€ãã®æ°æ©èœãçµã¿èŸŒã¿ãŸããããå¥ã®ã³ã³ãã€ã©ã§ã³ãŒããåçŽã«ã³ã³ãã€ã«ããããšã¯äžå¯èœã§ããã ãŸããSTLã䜿çšããå Žåã¯ãã³ã³ãã€ã©ã«ç§»æ€ãããããŒãžã§ã³ãèŠã€ããå¿ èŠããããŸããã
1998幎ãŸã§ã«ãã»ãšãã©ã®ãã³ããŒã¯æšæºã«åŸã£ãŠã³ã³ãã€ã©ãæŽæ°ããŸããããããã¯ããŸã圹ã«ç«ã¡ãŸããã§ããã 以åã®ããŒãžã§ã³çšã«å€§éã®ã³ãŒããäœæãããŸããã å®éãäžéšã®äŒæ¥ã¯ãå€ãã³ãŒãã®ã³ã³ãã€ã«ãåæ¢ãããããæ°ããã³ã³ãã€ã©ã«ã¢ããã°ã¬ãŒãã§ããŸããã§ããã ã³ã³ãã¥ãŒã¿ãŒã®äžçã§ã¯å€ãã®ããšã6幎ã«ããã£ãŠè¡ãããã³ã³ãã€ã©ãã³ããŒã¯ãä»åŸã®æšæºã«ãããããããæ°ããããŒãžã§ã³ããªãªãŒã¹ãç¶ããŸããã
ãã®ããã»ã¹ã§ã¯ã»ãšãã©å€æŽã¯ãããŸããã 2006幎ïŒå°ããªæŽæ°ã®3幎åŸïŒã«ãæ°ããC ++æšæºãçŸå®ã«ãªãã¯ãã§ãã æçµçã«2011幎ã«ç»å ŽããŸããã å€ãã®æéãçµã¡ãŸããã
ããŒã¹ã
2000幎代åé ãæ°ããã©ã€ãã©ãªã®äººæ°ãé«ãŸã£ãŠããŸãã-Boostã
Boostã¯ãæšæºã©ã€ãã©ãªã ãã§ãªãèšèªèªäœã®ããŸããŸãªã®ã£ãããåããC ++ã©ã€ãã©ãªã®ã»ããã§ãã C ++ã¯ãéçºã®4幎åŸã®1983幎ã«ç»å Žãã1972幎ã«ç»å ŽããCã«åºã¥ããŠããŸããã
æ£çŽã«èšããšãç§ã¯C ++ãæ¬åœã«å¥œãã§ãããã§ãïŒç¹ã«ç§ã®ããªãŒã©ã³ã¹ãããžã§ã¯ãã®1ã€ã§ãããã«ãã³ã¢ããã°ã©ãã³ã°ã«ïŒäœ¿çšããŠãããšããäºå®ã«ãããããããå®éã«ã¯ã JavaãPythonã®ããã«ãèšèªã«çŽæ¥çµã¿èŸŒãŸãã䟿å©ãªæ©èœïŒC ++ã®äžéšã§ã¯ãªãæ©èœïŒãèŠã€ããããšãã§ããŸãã å°çãæåååã¯ãŸã èšèªã®ã³ã¢ã«çµã¿èŸŒãŸããŠããŸããããæšæºã©ã€ãã©ãªã®ãã³ãã¬ãŒããšããŠå®è£ ãããŠããŸãã èšèªèªäœã¯ãäŸç¶ãšããŠã·ã³ããªãã¯ãã€ã³ã¿ãŒãšãªã³ã¯ã«åºã¥ããŠããŸãã æååãå¿ èŠãªå Žåã¯ãã©ã€ãã©ãªã®1ã€ã䜿çšããæååã¯ã©ã¹ã®c_strïŒïŒã¡ãœãããåŒã³åºããŠãæåãžã®ãã€ã³ã¿ãŒãååŸããå¿ èŠããããŸãã æåå㯠ããªã¹ããèŸæžãªã©ã¯èšããŸã§ããªããèšèªã«ãã€ãã£ãã«åã蟌ãŸããŠããªãããã§ãã Pythonã®ãªã¹ããå¿ èŠã§ããïŒ ãa = [1,2,3]ããšå ¥åããã ãã§ãã ã§ãã
ã©ã ãé¢æ°ïŒå€ãã®èšèªã§ããã€ãã£ãã«ãµããŒããããŠããŸãïŒãªã©ãããé«åºŠãªãã®ã«ã€ããŠã¯ããããBoostã®ãããªã©ã€ãã©ãªã圹ç«ã€å Žæã§ãã
ãã¡ãããC ++ã®åºæ¬çãªéãã¯ãå®å šã«ã³ã³ãã€ã«ãããŠããããšã§ãã ããããããã¯ãC ++ãJITã³ã³ãã€ã«ã䜿çšããå Žåãšäœ¿çšããªãå Žåã®äž¡æ¹ã§ãçŸä»£ã®åçèšèªãããåªããŠããŠé«éã§ãããã©ãããåãæ°ã«ãããè°è«ã§ãã
Boostã©ã€ãã©ãªã¯æçµçã«ããã€ãã®ç®çãæãããŸãããŸããããã°ã©ããŒã«é¢æ°åããã°ã©ãã³ã°ãªã©ã®é«åºŠãªæ©èœãšãã¹ããŒããã€ã³ã¿ãŒãªã©ã®åºæ¬çãªæ©èœã®äž¡æ¹ãæäŸããŸãã 第äºã«ãããã¯æšæºã«ãªãåŸãæ°ããèšèªæ©èœã®ããã®äžçš®ã®ã€ã³ãã¥ããŒã¿ãŒã§ãã
Boostã®ã¡ã€ã³ããŒãžã§ ããã®æ§æãã10åã®ã©ã€ãã©ãªãC ++ 11æšæºã«å«ãŸããŠããããšã«æ°ä»ããŸãããã¯ããæšæºã®æ¡çšã®ãã£ãšåã®10幎åã®2003幎ã«ãªãªãŒã¹ãããŸããã
ãªããªã 2011æšæºã®æ¡çšã«ã¯éåžžã«æéãããããå€ãã®éçºè ãBoostïŒãŸãã¯å®å šã«æŸæ£ãããC ++ïŒã®äœ¿çšãéå§ããŸããã ããã§ã¯ãBoostãšStandardãæ¯èŒããŸãããã
2011 Standardããã³Boost
C ++ 11æšæºã«ã¯ãèšèªèªäœã«ããã€ãã®å€æŽãå«ãŸããŠããŸãïŒããšãã°ããå€éšãã³ãã¬ãŒããã®äœ¿çšãå¯èœã«ãããã³ãã¬ãŒãã³ã³ãã€ã«ã¡ã«ããºã ãæŽããŸããããã³ã³ãããŒãªããžã§ã¯ãã®åæåã¯ã©ãã ãç°¡åããããã«ã¯ã¿ã€ã決å®ã¡ã«ããºã ãã¡ã«ããºã ïŒïŒã ããããæšæºã«ã¯æšæºã©ã€ãã©ãªã®å€ãã®æ¹åãå«ãŸããŠããŸãã
åè¿°ã®éèŠãªæ³šæäºé ããããŸããæšæºã«ã¯æšæºã©ã€ãã©ãªã®èª¬æãå«ãŸããŠããŸãããã³ã³ãã€ã©ãŸãã¯èšèªã®å®è£ ã¯å«ãŸããŠããŸããã ãããã¯ãã¹ãŠãã³ã³ãã€ã©ãããã€ããŒãªã©ã®ãµãŒãããŒãã£ã®è¯å¿ã«ä»»ãããŠããŸãã ãªãã¡ã¬ã³ã¹å®è£ ã¯ãããŸããã æšæºã¯ã³ãŒãã§ã¯ãªãã 説æã§ãã
ãŸããBoostã«ã€ããŠç¥ã£ãŠããå¿ èŠãããããšã®1ã€ã¯ãå®éã«ã¯è€æ°ã®ã©ã€ãã©ãªã§æ§æãããŠããããã¶ã€ããŒãããããæå³çã«åå²ããŠããããšã§ãã ã€ãŸããå¿ èŠãªBoostã®ã©ã€ãã©ãªã®ã¿ã䜿çšã§ããŸãã ããã«ã¯ããã€ãã®çžäºäŸåé¢ä¿ããããŸãããååã«ææžåãããŠããŸãã ãã®ããã«ããŠãå¿ èŠã«å¿ããŠBoostãæšæºã©ã€ãã©ãªãšçµã¿åãããããšãã§ããŸãã ããšãã°ãå€ãè¯ãiostreamã¯1998幎ã®æåã®æšæºä»¥æ¥æšæºã©ã€ãã©ãªã®äžéšã§ãããBoostã¯ããããšç°¡åã«é£æºããŸãïŒãã ããå¿ èŠã«å¿ããŠç¬èªã®iostreamãå«ãŸããŸãïŒã
ãã ããå®éã«ã¯ãBoostã¯æšæºã©ã€ãã©ãªãããã¯ããã«åªããŠããŸãã çŽ175ã®ã¯ã©ã¹ãå«ãŸããŠããã SourceForgeïŒ1.53.0ïŒã®çŸåšã®ããŒãžã§ã³ã«ã¯93 MBãå¿ èŠã§ãïŒããã¥ã¡ã³ããå«ããå±éããã.hppãã¡ã€ã«ã¯9000åã§90 MBãå¿ èŠã§ãïŒã ããšãã°ããèšèªæ©èœãšãã¥ã¬ãŒã·ã§ã³ãã®ã«ããŽãªã«å±ããââã¯ã©ã¹ãªã©ãä»äºã§å人çã«éåžžã«åœ¹ç«ã€ãšæãã¯ã©ã¹ããããŸãã ããšãã°ãforeachã³ã³ã¹ãã©ã¯ãã¯ãC ++ã®ãã³ãã¬ãŒããšã³ãžã³ã®ãããã§ã次ã®ããã«æšæºã®C ++ã«ãŒããè¶ ããã«ãŒããäœæã§ããŸãã
int i = 0; BOOST_FOREACH( i, container ) { ⊠}
ãã€ãã£ãã«ãŒãã䜿çšããŠã³ãŒããç°¡åã«èšè¿°ã§ããŸããããã®æ¹æ³ã§ã³ãŒããèšè¿°ãããçç±ã¯ããã€ããããŸãã ãŸããã³ãŒãã£ã³ã°ãå°ãç°¡åã«ãªã£ãŠããŸãã 2ã€ç®ã¯ããžã¥ãã¢ïŒãŸãã¯æé²ãã¹ãã§ã¯ãªããšæãã·ãã¢ã§ãïŒããã forïŒi = 0; i <= length; i ++ïŒ ããªã©ã®ããã«æžãããšã§ãåãå€ãééããããå¯èœæ§ãäœãããšã§ãã ããããŠã圌ãã¯ãŸã ãã®ã³ãŒããæã åäœããçç±ãå°ããŸãããããŠæã ããã¯ãããåŒã³åºãããé¢æ°å ã«èœã¡ãŸãã
Boostã¯ã匷åã§ã¯ãããé«åºŠã«å°éåãããã¯ã©ã¹ã®èšå€§ãªåæããæäŸããŸãã ããšãã°ãæ°å¹Žåãã°ã©ããæäœããããã®ã©ã€ãã©ãªãå¿ èŠã§ããã Boostã«ã¯1ã€ãããŸãã å€æ¬¡å é åãå¿ èŠã§ããïŒ ã¹ã¿ãã¯ããŒã¹ã®ã³ã³ããã¯ã©ãã§ããïŒ Boostã¯ããããã¹ãŠåããŠããŸãã ããããç§ãæãæ°ã«å ¥ã£ãŠããã®ã¯ãäžé£ã®åªããããã°ã©ãã³ã°ãã¿ãŒã³ãšãæ£èŠè¡šçŸãæäœããããã®äŸ¿å©ãªã©ã€ãã©ãªã§ãã
ããããBoostã®å®è£ ã¯ããã»ã©åçŽã§ã¯ãªããéçºè ã¯ã©ã€ãã©ãªã«ã³ã³ãã€ã©äŸåã³ãŒããè¿œå ããå¿ èŠããããŸããã ããšãã°ãforeachã³ã³ã¹ãã©ã¯ãã®å®è£ ã«ã¯æ¬¡ã®ã³ãŒããå«ãŸããŸãã
# if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) || BOOST_WORKAROUND(__BORLANDC__, < 0Ã593) || (BOOST_WORKAROUND(BOOST_INTEL_CXX_VERSION, <= 700) && defined(_MSC_VER)) || BOOST_WORKAROUND(__SUNPRO_CC, < 0Ã5100) || BOOST_WORKAROUND(__DECCXX_VER, <= 60590042) # define BOOST_FOREACH_NO_RVALUE_DETECTION # endif
ããã¯ãã©ã€ãã©ãªã䜿çšãããã¹ãŠã®äººã«é©ããŠããŸã-ã»ãšãã©ã®äžè¬çãªã³ã³ãã€ã©ã§åäœãããã®åŸ®åŠãããå®å šã«æœè±¡åãããŸãã
ããããä»ã¯å¥ã®èŠæ ŒããããŸã
ãã®ãããBoostã¯æé·ãç¶ããŸãããããã®æšæºã«é¢ããäœæ¥ã¯2011幎ã«å ç«ã£ãŠè¡ãããŸããã ç¬èªã®æ£èŠè¡šçŸã¯ã©ã¹ãªã©ãBoostã®å¯Ÿå¿ããã¯ã©ã¹ãšå€ãã®å ±éç¹ããããããã€ãã®çŽ æŽãããã¯ã©ã¹ãå«ãŸããŠããŸãã
ããããæšæºã¯ã©ãã§ããïŒ ãã³ããŒã®èŠ³ç¹ããèŠãŠã¿ãŸãããã C ++æšæºãå®æãããŸã§ã«ã¯äœå¹ŽãããããŸããã 1998幎ã®æšæºã¯ããã³ãã¬ãŒãããªã³ã¯ãªã©ãèšèªã®å€ãã®åºæ¬çãªåŽé¢ã確ç«ãããããéèŠã§ããã ããã«ãããã©ã€ãã©ãªäœæè ã®ç掻ããã£ãšæ¥œã«ãªããŸããã ãã ããBoostã®ã³ã³ãã€ã©äŸåãã¯ãã«ãã£ãŠèšŒæãããããã«ãã³ã³ãã€ã©ã¯ãŸã ç°ãªããŸãã äžéšã«ã¯ãããã¯æåéãæšæºã«æºæ ããŠããªããã³ããŒã®ããã§ãããã©ã€ãã©ãªèªäœã®ã©ã³ãã ãªäžç¢ºå®æ§ãåå ã§ãã
2011幎ã®æšæºã«å è¡ããæ°å¹Žéã«ãããã€ãã®å€æŽãå ããããŸããã ã³ã³ãã€ã©ãã³ããŒã¯ãæšæºãçµäºããåã«æ¢ã«æšæºåããã補åã䜿çšããããšãæãã§ãã³ã³ãã€ã©ãšæšæºã©ã€ãã©ãªã®å®è£ ãæäŸããããšããŸããã ãããã圌ãã¯åãæšçãæã¡ãŸããã
GNU GCCãšMicrosoftã®C ++ã®2ã€ã®ç¹å®ã®ã³ã³ãã€ã©ãèŠãŠã¿ãŸãããã ãã®è¡šã«ãããš ãGCC 4.8ã®çŸåšã®ããŒãžã§ã³ã¯ã2ã€ã®å°ããªæ©èœïŒã* thisãããã³ãæå°ã¬ããŒãžã³ã¬ã¯ã·ã§ã³ãµããŒããã®å³èŸºå€ãªã³ã¯ïŒãé€ããã»ãŒãã¹ãŠã®æ°æ©èœããµããŒãããŠããŸãã ããããéçºè ã¯ããã®ãµããŒãããŸã å®éšæ®µéã«ããããšãæããã«ããŸããã
Microsoftã®æ¬¡ã®è¡šã¯ãVisual Studio 2012ã®ã¹ããŒã¿ã¹ã瀺ããŠããŸããå€ãã®ããããããšãéšåçãããããŸãã ãã ããMicrosoftããŒãžã®ãã®å°ããªã¡ã¢ã«æ³šæããŠãã ããã
" - ( 0.9) (mutable lambdas), 1.0, . 1.1. , Visual C++ 2010, Visual Studio 2012."
ããã§ã®æ³šæã¯ãèšèªèªäœã«ãããŸãã ããããæšæºã©ã€ãã©ãªã¯ã©ãã§ããããïŒ ãã€ã¯ããœããã¯ãéåžžã«åæã®æ®µéã§æšæºã«æºæ ããããã®åãçµã¿ã«é¢äžããŠããŸããã ãããã圌ãã¯ããã®ã©ã€ãã©ãªã®äžéšããŸã å®è£ ãããŠããªãèšèªã®æ°æ©èœã«äŸåããŠããããšã説æããŸããã ãã®çµæãã©ã€ãã©ãªã®ãããã®åŽé¢ãå®è£ ãããŸããã§ããã ïŒãããã圌ãã¯ã©ãã瀺ããŸããã§ããïŒã
ãããŠããããæšæºã©ã€ãã©ãªã®GNUå®è£ ã§ã ã ãNãããã³ãPartialããšããã©ãã«ã®èŠçŽ ãå€æ°ãããŸãã
æ¯èŒ
æšæºã圢ã«ãªãå§ããåã«10幎ãçµéããæ¿èªã«2幎ããããŸããã ãã®éã«å€ãã®å€æŽãè¡ããããããã³ã³ãã€ã©ã®è£œé å ã¯ãåŸã§å ã«æ»ãããšãã§ããæ©èœãå®è£ ããããšã§ãªã¹ã¯ãè² ãããšã¯ã§ããŸããã ããŸãããåçã§ã¯ãããŸããã
ããŒã¹ãã¯ãåæã«è¯å¥œãªé²æ©ãéããŸããã éçºè ã¯ãã³ãŒããããŸããŸãªã³ã³ãã€ã©ã§åäœããããšã確èªããŠããã°ãããä»äºãããŸããã Boostã¯çããŠãããååã«ãã¹ããããŠãããæ£åžžã«æ©èœããŸãã éçºããã»ã¹ã¯ãæšæºåå§å¡äŒã®é害ãªãã«åé²ããŠããŸãã 圌女ã¯é²åãç¶ããŸãã
æšæºã©ã€ãã©ãªã®å€æŽã«ã€ããŠã¯ã©ãã§ããïŒ æ£èŠè¡šçŸã©ã€ãã©ãªã«ã€ããŠã¯æ¢ã«èª¬æããŸããããããã¯éåžžã«ãã䌌ãŠãããBoostã®åœ±é¿ã匷ãåããŠããŸãã ããããæšæºã©ã€ãã©ãªã«ã¯ãŸã ä»æ§ã®å€ãã®å®è£ ãæ¬ ããŠãããšããäºå®ãèãããšãããã¯éèŠã§ããïŒ C ++æšæºã¯ã³ãŒãã§ã¯ãªããåç §å®è£ ããããŸããã æšæºã¯ãC ++ã³ã³ãã€ã©ãäœããã¹ãããæšæºã©ã€ãã©ãªã®å®è£ ã«äœããã¹ãããåã«ç€ºããŠããŸãã æšæºã©ã€ãã©ãªã䜿çšããå Žåã¯ãGCCãMicrosoftããŒãžã§ã³ãªã©ãå€ãã®å Žåã³ã³ãã€ã©ã«ãã³ãã«ãããŠãããµãŒãããŒãã£è£œåã䜿çšããå¿ èŠããããŸãã ãããŠãå®éã«éžæãããã®ã¯æ¬¡ã®ãšããã§ããGCCããŸãã¯æšæºã©ã€ãã©ãªã®ã¢ãã«åã«åºã¥ããMicrosoftã®æšæºã©ã€ãã©ãªãŸãã¯Boostã®å®è£ ã ãããŠããããã®å®è£ ã¯äž¡æ¹ãšãå®å šã§ã¯ãªãããã®ãã¡ã®1ã€ã¯ãå®éšçããšåŒã°ããŸãã ããªãã®è£œåã§ã©ã¡ãã䜿ãããã§ããïŒ
æšæºåå§å¡äŒãæšæºã«äœãå«ããã¹ãããç解ããã®ã«8幎ããããŸãããã³ã³ãã€ã©è£œé æ¥è ã¯ãæšæºã©ã€ãã©ãªã®ããŒãžã§ã³ãå ¬éããåã«ãã¹ãŠã解決ãããŸã§åŸ ããªããã°ãªããŸããã 代ããã«ã圌ãã¯ããããã¢ã«ãã¡çã§ããäœåãå ¬éããŸããã ãããŠã圌ãã¯ãŸã çµãã£ãŠããŸããã åæã«ãå®éã®C ++ã³ãã¥ããã£ã¯åé²ããŠãããBoostãªã©ã®ããè¯ããã®ãäœæããŠããŸãã
æ°å¹ŽåŸã«ã¯ãæ°ããæšæºãç»å ŽããŸãã ç§ãã¡ã¯ãã§ã«ãããçµéšããŠããŸãã ããŒã¹ãã¯ãããŸã§ã«ããã«è¯ããªããŸãã