2. Getting Started

2.1. Installing the library

¥é¥¤¥Ö¥é¥ê¤Ï¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë¤Î¤ß¤Ç¹½À®¤µ¤ì¤Æ¤¤¤ë¤¿¤á¡¢¥é¥¤¥Ö¥é¥ê¤òÍøÍѤ¹¤ë¤¿¤á¤ÎÆÃÊ̤ʼ곤­¤Ï¤Ê¤¤¡£ ¤¿¤À¤·¡¢boost ¤Î¥¤¥ó¥¯¥ë¡¼¥É¥Ç¥£¥ì¥¯¥È¥ê¤¬¥¤¥ó¥¯¥ë¡¼¥É¥Ñ¥¹¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ëɬÍפ¬¤¢¤ë¡£ °Ê²¼¤Î¤è¤¦¤Ë°Û¤Ã¤¿µ¡Ç½¤òÄ󶡤¹¤ë¿ô¡¹¤Î¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤¹¤ë¡£

  • lambda/lambda.hpp ¤ÏÍÍ¡¹¤Ê C++ ¤Î±é»»»Ò¤Î¤¿¤á¤Î¦Ë¼°¤òÄêµÁ¤·¤Æ¤¤¤ë¡£¾Ü¤·¤¯¤ÏSection 5.2¤ò¸«¤è¡£

  • lambda/bind.hpp ¤Ï 9 ¸Ä¤Þ¤Ç¤Î°ú¿ô¤Î¤¿¤á¤Î bind ´Ø¿ô¤òÄêµÁ¤·¤Æ¤¤¤ë¡£¾Ü¤·¤¯¤ÏSection 5.3¤ò¸«¤è¡£

  • lambda/if.hpp ¤Ï if ʸ¤ä¾ò·ï±é»»»Ò¤ÈÅù²Á¤Ê¦Ë´Ø¿ô¤òÄêµÁ¤·¤Æ¤¤¤ë¡£¾Ü¤·¤¯¤ÏSection 5.6¤ò¸«¤è¡£(lambda.hpp ¤ò´Þ¤à)¡£

  • lambda/loops.hpp ¤Ï·«¤êÊÖ¤·¹½Â¤¤ÈÅù²Á¤Ê¦Ë´Ø¿ô¤òÄêµÁ¤·¤Æ¤¤¤ë¡£¾Ü¤·¤¯¤ÏSection 5.6¤ò¸«¤è¡£

  • lambda/switch.hpp ¤Ï switch ʸ¤ÈÅù²Á¤Ê¦Ë´Ø¿ô¤òÄêµÁ¤·¤Æ¤¤¤ë¡£¾Ü¤·¤¯¤ÏSection 5.6¤ò¸«¤è¡£

  • lambda/construct.hpp ¤Ï¥³¥ó¥¹¥È¥é¥¯¥¿¡¢¥Ç¥¹¥È¥é¥¯¥¿¡¢new ¤ä delete ¤ò¸Æ½Ð¤¹¦Ë¼°¤òµ­½Ò¤¹¤ë¼êÃʤòÄ󶡤·¤Æ¤¤¤ë¡£¾Ü¤·¤¯¤ÏSection 5.8¤ò¸«¤è¡£(lambda.hpp ¤ò´Þ¤à)¡£

  • lambda/casts.hpp ¤Ï¦Ë´Ø¿ô¤Î¤¿¤á¤Î¡¢¥­¥ã¥¹¥È¤ä sizeof¡¢typeid ¤òÄêµÁ¤·¤Æ¤¤¤ë¡£¾Ü¤·¤¯¤ÏSection 5.10.1¤ò¸«¤è¡£

  • lambda/exceptions.hpp ¤Ï¦Ë´Ø¿ôÆâ¤Ç¤ÎÎã³°¤òÁ÷½Ð¤·¤¿¤ê¡¢Êä­¤¹¤ë¼êÃʤòÄ󶡤¹¤ë¡£¾Ü¤·¤¯¤ÏSection 5.7¤ò¸«¤è¡£(lambda.hpp ¤ò´Þ¤à)

  • lambda/algorithm.hpp ¤È lambda/numeric.hpp (ɸ½à¥é¥¤¥Ö¥é¥ê¤Î algortihm ¤È numeric ¥Ø¥Ã¥À¤ò»²¾È ) ¤Ï¥Í¥¹¥È¤·¤¿ STL ¥¢¥ë¥´¥ê¥º¥à¤Î¸Æ¤Ó½Ð¤·¤ò²Äǽ¤Ë¤¹¤ë¡£¾Ü¤·¤¯¤ÏSection 5.11¤ò¸«¤è¡£

°Ê¾å¤Ëµó¤²¤¿°Ê³°¤Î¥Ñ¥Ã¥±¡¼¥¸Æâ¤Î¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤ÏÆâÉôŪ¤Ë»ÈÍѤ·¤Æ¤¤¤ë¤â¤Î¤Ç¤¢¤ë¡£¹¹¤Ë¡¢lambda ¥é¥¤¥Ö¥é¥ê¤Ï Tuple [tuple] ¤È type_traits [type_traits] ¤ÎÆó¤Ä¤Î Boost ¥é¥¤¥Ö¥é¥ê¤Ë°Í¸¤·¤Æ¤¤¤ë¡£¤½¤·¤Æ¡¢boost/ref.hpp ¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤Ë¤â°Í¸¤¹¤ë¡£

Á´¤Æ¤ÎÄêµÁ¤Ï boost::lambda ¥Í¡¼¥à¥¹¥Ú¡¼¥¹¤È¤½¤Î¥µ¥Ö¥Í¡¼¥à¥¹¥Ú¡¼¥¹¤Ë°¤¹¤ë¡£

2.2. Conventions used in this document

¿¤¯¤Î¥³¡¼¥ÉÎã¤Ç¤Ï¡¢std ¤È boost::lambda ¤Î̾Á°¶õ´Ö¤Î̾Á°¤ÎÀÜÆ¬¼­¤ò¾Êά¤·¤Æ¤¤¤ë¡£¤½¤Î¤¿¤á»ö¼Â¾å°ÅÌÛŪ¤Ë¡¢

using namespace std;
using namespace boost::lambda;
¤È¤¤¤¦ÄêµÁ¤¬¤¢¤ë¤È²¾Äꤷ¤Æ¤¤¤ë¡£