Using boost::program_options.