RunOptions ParseCommandLine(int argc, char *argv[]) { // zero number of threads means to run serial version utility::thread_number_range threads(get_default_num_threads,0,get_default_num_threads()); int numberOfFrames = 1000; bool silent = false; bool serial = false; utility::parse_cli_arguments(argc,argv, utility::cli_argument_pack() //"-h" option for for displaying help is present implicitly .positional_arg(threads,"n-of-threads","number of threads to use; a range of the form low[:high], where low and optional high are non-negative integers or 'auto' for the TBB default.") .positional_arg(numberOfFrames,"n-of-frames","number of frames the example processes internally") .arg(silent,"silent","no output except elapsed time") .arg(serial,"serial","in GUI mode start with serial version of algorithm") ); return RunOptions(threads,numberOfFrames,silent,!serial); }
//! Parse the command line. static RunOptions ParseCommandLine( int argc, const char* argv[] ) { utility::thread_number_range threads( get_default_num_threads, 0, get_default_num_threads() ); NumberType grainSize = 1000; bool silent = false; NumberType number = 100000000; NumberType repeatNumber = 1; utility::parse_cli_arguments(argc,argv, utility::cli_argument_pack() //"-h" option for displaying help is present implicitly .positional_arg(threads,"n-of-threads",utility::thread_number_range_desc) .positional_arg(number,"number","upper bound of range to search primes in, must be a positive integer") .positional_arg(grainSize,"grain-size","must be a positive integer") .positional_arg(repeatNumber,"n-of-repeats","repeat the calculation this number of times, must be a positive integer") .arg(silent,"silent","no output except elapsed time") ); RunOptions options(threads,grainSize, number, silent, repeatNumber); return options; }