boost::program_options::bool_switch —
BOOST_PROGRAM_OPTIONS_DECL typed_value< bool > * bool_switch(); BOOST_PROGRAM_OPTIONS_DECL typed_value< bool > * bool_switch(bool * v);
Works the same way as the 'value<bool>' function, but the created value_semantic won't accept any explicit value. So, if the option is present on the command line, the value will be 'true'.