9 #include <boost/program_options.hpp> 
   12 namespace po = boost::program_options;
 
   14 int main(
int argc, 
char **argv)
 
   18   po::options_description options(
"Options");
 
   24      po::value<int>(&kisen_index)->default_value(0))
 
   25     (
"help", 
"produce help message")
 
   27   po::positional_options_description p;
 
   32     po::store(po::command_line_parser(argc, argv).
 
   33               options(options).positional(p).
run(), vm);
 
   37       std::cout << options << std::endl;
 
   41   catch (std::exception& e)
 
   43     std::cerr << 
"error in parsing options" << std::endl
 
   44               << e.what() << std::endl;
 
   45     std::cerr << options << std::endl;
 
   65   for (
size_t i = 0; i < moves.size() + 1; ++i)
 
   67     if (!game_state.
state().inCheck())
 
   76       std::cout << i << 
" " << result.
value << 
" " << pass_result.
value << 
" " 
   77                 << (i % 2 == 0 ? diff : -diff) << std::endl;