How to handle slightly different command line interface when using boost::program_options
The program_options package ease the way to implement the program cmd
interface. But what I found is that as the interface getting bigger the
main() program gets longer and longer and is hard to read, because a lot of
conditional branch statements have to be used.
In general, the declaration of the options are at the beginning of the
program and the use of the options are at somewhere afterwards. This cause
the program hard to maintain.
I'm wondering if there is any OO way to handle this problem. Then the main
program could be easily maintained and understood.