Command line processor provides general interface to the command line arguments from the simulator to the UVM test bench. To use the command line processor in your test bench singleton instance of command line processor has to be created as described below
uvm_cmdline_processor commandline_processor = uvm_cmdline_processor::get_inst();
To obtain the command line argument get_arg_value() should be used
string value = "intial_value";
int rt_value = commandline_processor.get_arg_value("+DIRECTION=",value);
Singleton class is the one which returns the same object irrespective of the number of time an object is created .command line processor is used as a singleton class.
Factory replacement options like set_type_override() ,set_inst_override() can be done using command line processor arguments like +uvm_set_type_override +uvm_set_inst_override ,