void execute(void* result, Tree& tree) { my_type first, second; my_type& func = *(my_type*)result; getNextArgument(&first, tree); getNextArgument(&second, tree); func.b = first.b && second.b; func.v = first.v + second.v; }
std::string CommandLineParser::getNextOptionalParameter() { if ( argumentStartsWith( "-" ) || argumentStartsWith( ":" ) ) return ""; return getNextArgument(); }
std::string CommandLineParser::getNextParameter() { if ( !hasNextArgument() ) fail( "missing parameter" ); return getNextArgument(); }
void Sin::execute(void* result, Tree &tree) { double& arg = *(double*)result; getNextArgument(&arg, tree); // argument in radians arg = sin(arg); }
void CommandLineParser::getNextOption() { if ( argumentStartsWith( "-" ) || argumentStartsWith( "--" ) ) m_option = getNextArgument(); else m_option = ""; }
void If::execute(void* result, Tree &tree) { std::vector<bool>& res = *(std::vector<bool>*)result; uint size = (uint) res.size(); std::vector<bool> arg(size), res1(size), res2(size); getNextArgument(&arg, tree); getNextArgument(&res1, tree); getNextArgument(&res2, tree); for(uint i = 0; i < size; i++) if(arg[i]) { res[i] = res1[i]; } else { res[i] = res2[i]; } }
void CommandLineParser::readNonOptionCommands() { if ( argumentStartsWith( ":" ) ) m_testPath = getNextArgument().substr( 1 ); else { CommandLinePlugInInfo plugIn; int indexParameter = getCurrentArgument().find( '=' ); if ( indexParameter < 0 ) plugIn.m_fileName = getCurrentArgument(); else { plugIn.m_fileName = getCurrentArgument().substr( 0, indexParameter ); std::string parameters = getCurrentArgument().substr( indexParameter +1 ); plugIn.m_parameters = CPPUNIT_NS::PlugInParameters( parameters ); } m_plugIns.push_back( plugIn ); getNextArgument(); } }