#ifndef __VMML__OPTIONS__H__ #define __VMML__OPTIONS__H__ #include #include namespace vmml { namespace boost_po = ::boost::program_options; typedef ::boost::program_options::variables_map var_map; class options { public: options(); void setup( int argc, char* argv[] ); void get_operator_chain( std::vector< std::string >& op_chain ); protected: // generic options boost_po::options_description _generic_options; // op chain boost_po::options_description _all_options; std::map< std::string, boost_po::options_description* > _op_descs; // positional options boost_po::positional_options_description _positional_desc; boost_po::variables_map _options_map; std::vector< std::vector< std::string > > _op_cfgs_from_file; };//class options };//namespace vmml #endif