本文整理汇总了C++中STRING_LIST::reverse方法的典型用法代码示例。如果您正苦于以下问题:C++ STRING_LIST::reverse方法的具体用法?C++ STRING_LIST::reverse怎么用?C++ STRING_LIST::reverse使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类STRING_LIST
的用法示例。
在下文中一共展示了STRING_LIST::reverse方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: if
bool Rad2Degree::OnStartUp()
{
AppCastingMOOSApp::OnStartUp();
STRING_LIST sParams;
m_MissionReader.EnableVerbatimQuoting(false);
if(!m_MissionReader.GetConfiguration(GetAppName(), sParams))
reportConfigWarning("No config block found for " + GetAppName());
STRING_LIST::iterator p;
sParams.reverse();
for(p = sParams.begin() ; p != sParams.end() ; p++)
{
string orig = *p;
string line = *p;
string param = toupper(biteStringX(line, '='));
string value = line;
bool handled = false;
if(param == "FOO")
{
handled = true;
}
else if(param == "BAR")
{
handled = true;
}
if(!handled)
reportUnhandledConfigWarning(orig);
}
registerVariables();
return true;
}
示例2: OnStartUp
bool OpiDetection::OnStartUp()
{
AppCastingMOOSApp::OnStartUp();
setlocale(LC_ALL, "C");
STRING_LIST sParams;
m_MissionReader.EnableVerbatimQuoting(false);
if(!m_MissionReader.GetConfiguration(GetAppName(), sParams))
reportConfigWarning("No config block found for " + GetAppName());
STRING_LIST::iterator p;
sParams.reverse();
for(p = sParams.begin() ; p != sParams.end() ; p++)
{
string orig = *p;
string line = *p;
string param = toupper(biteStringX(line, '='));
string value = line;
bool handled = false;
if(param == "VARIABLE_IMAGE_NAME")
{
image_name = value;
handled = true;
}
else if(param == "VARIABLE_WHEN_FOUND")
{
message_name = value;
handled = true;
}
else if(param == "SHOW_PROCESS")
{
show_process = (value == "true");
handled = true;
}
else if(param == "IMAGE_NAME_PATTERN")
{
image_name_pattern = "/" + value;
handled = true;
}
else if(param == "FOLDER_NAME_PATTERN")
{
folder_name_pattern = "/" + value;
handled = true;
}
else if(param == "SAVE_IN_FOLDER")
{
path_save = value;
handled = true;
}
if(!handled)
reportUnhandledConfigWarning(orig);
}
char folder_name[80];
time_t now = time(0);
struct tm tstruct;
tstruct = *localtime(&now);
// Visit http://en.cppreference.com/w/cpp/chrono/c/strftime
// for more information about date/time format
strftime(folder_name, sizeof(folder_name), folder_name_pattern.c_str(), &tstruct);
path_save += folder_name;
mkdir(path_save.c_str(),S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH);
registerVariables();
return true;
}
示例3: OnStartUp
bool XSensINS::OnStartUp() {
AppCastingMOOSApp::OnStartUp();
// XSens Configuration Array
XsOutputConfigurationArray configArray;
// MOOS parser
STRING_LIST sParams;
m_MissionReader.EnableVerbatimQuoting(false);
if (!m_MissionReader.GetConfiguration(GetAppName(), sParams))
reportConfigWarning("No config block found for " + GetAppName());
STRING_LIST::iterator p;
sParams.reverse();
for (p = sParams.begin() ; p != sParams.end() ; p++) {
string orig = *p;
string line = *p;
string param = toupper(biteStringX(line, '='));
string value = line;
bool handled = false;
if (param == "UART_BAUD_RATE") {
m_uart_baud_rate = atoi(value.c_str());
handled = true;
}
else if (param == "SERIAL_PORT") {
m_uart_port = value;
handled = true;
}
else if (param == "XDI_EULERANGLES"){
XsOutputConfiguration config(XDI_EulerAngles, atoi(value.c_str()));
configArray.push_back(config);
handled = true;
}
else if (param == "XDI_ACCELERATION"){
XsOutputConfiguration config(XDI_Acceleration, atoi(value.c_str()));
configArray.push_back(config);
handled = true;
}
else if (param == "XDI_RATEOFTURN"){
XsOutputConfiguration config(XDI_RateOfTurn, atoi(value.c_str()));
configArray.push_back(config);
handled = true;
}
else if (param == "XDI_MAGNETICFIELD"){
XsOutputConfiguration config(XDI_MagneticField, atoi(value.c_str()));
configArray.push_back(config);
handled = true;
}
else if (param == "XDI_LATLON"){
XsOutputConfiguration config(XDI_LatLon, atoi(value.c_str()));
configArray.push_back(config);
handled = true;
}
else if (param == "XDI_VELOCITYXYZ"){
XsOutputConfiguration config(XDI_VelocityXYZ, atoi(value.c_str()));
configArray.push_back(config);
handled = true;
}
if(!handled)
reportUnhandledConfigWarning(orig);
}
registerVariables();
//------ OPEN INS ---------------//
XsPortInfo mtPort(m_uart_port, XsBaud::numericToRate(m_uart_baud_rate));
if (!m_device.openPort(mtPort)) {
cout << "CANNOT OPEN THE PORT : " << m_uart_port << '\n';
reportRunWarning("Could not open the COM port" + m_uart_port);
}
//------ CONFIGURE INS ---------------//
// Put the device into configuration mode before configuring the device
if (!m_device.gotoConfig()) {
reportRunWarning("Could not begin the config mode");
}
// Save INS Config
if (!m_device.setOutputConfiguration(configArray)) {
reportRunWarning("Could not save config");
}
//------ START INS ---------------//
if (!m_device.gotoMeasurement()) {
reportRunWarning("Could not start the INS");
}
return true;
}
示例4: ConfigureLogging
bool CMOOSLogger::ConfigureLogging()
{
//figure out what we are required to log....
//here we read in what we want to log from the mission file..
STRING_LIST Params;
bool bHasMissionFile = true;
if(m_MissionReader.GetConfiguration(m_sAppName,Params))
{
//this will make columns in sync log in order they
//were declared in *.moos file
Params.reverse();
STRING_LIST::iterator p;
for(p=Params.begin();p!=Params.end();p++)
{
string sParam = *p;
string sWhat = MOOSChomp(sParam,"=");
if(MOOSStrCmp(sWhat,"LOG"))
{
std::string sNewVar;
HandleLogRequest(sParam,sNewVar);
}
}
}
else
{
bHasMissionFile = false;
MOOSTrace("Warning:\n\tNo Configuration block was read - unusual but not terminal\n");
}
//are we allowing dynamic logging of variables is via PLOGGER_CMD message?
int nNumDynamicVariables = m_MissionReader.IsOpen() ? 0 : 10;
//this won't touch nNumDynamicVariables if mission file isn't open.
m_MissionReader.GetConfigurationParam("DynamicSyncLogColumns",nNumDynamicVariables);
if(nNumDynamicVariables>0)
{
MOOSTrace("Comment:\n\tReserving space for %d dynamic variables in slog\n",nNumDynamicVariables);
for(int i = 0; i<nNumDynamicVariables;i++)
{
m_UnusedDynamicVariables.push_back(MOOSFormat("DYNAMIC_%d",i));
}
}
//and generally turn on command message filtering at the CMOOSApp level
EnableCommandMessageFiltering(true);
//do we want wildcard logging - ie have the logger log every change...
m_bWildCardLogging = false;
if(bHasMissionFile)
{
m_MissionReader.GetConfigurationParam("WildcardLogging",m_bWildCardLogging);
}
else
{
m_bWildCardLogging = true;
}
//what sort of things do we want to wild card log
if(m_bWildCardLogging )
{
//we never want to log mission files sent between communities - this is done elsewhere
m_sWildCardOmitted.push_back("MISSION_FILE");
//there was a request to allow multiple statements of the these patterns...hence the
//more complicated parsing here
STRING_LIST sList;
if(m_MissionReader.GetConfiguration(GetAppName(), sList))
{
STRING_LIST::iterator q;
for(q = sList.begin();q!=sList.end();q++)
{
//are we being told exactly what accept and what not to accept
std::string sTok,sVal;
if(!CMOOSFileReader::GetTokenValPair(*q, sTok,sVal))
continue;
if(MOOSStrCmp("WildCardPattern",sTok))
{
while(!sVal.empty())
{
m_sWildCardAccepted.push_back(MOOSChomp(sVal,","));
}
}
else if(MOOSStrCmp("WildCardOmitPattern",sTok))
{
while(!sVal.empty())
{
m_sWildCardOmitted.push_back(MOOSChomp(sVal));
}
}
}
}
//.........这里部分代码省略.........
示例5: OnStartUp
bool Joystick::OnStartUp()
{
AppCastingMOOSApp::OnStartUp();
setlocale(LC_ALL, "C");
STRING_LIST sParams;
m_MissionReader.EnableVerbatimQuoting(false);
if(!m_MissionReader.GetConfiguration(GetAppName(), sParams))
reportConfigWarning("No config block found for " + GetAppName());
int inputId = -1;
int inputType = -1;
float ratio = 1.;
float axis_min = -1.;
float axis_max = 1.;
ControlMode inputMode = Value;
STRING_LIST::iterator p;
sParams.reverse();
for(p = sParams.begin() ; p != sParams.end() ; p++)
{
string orig = *p;
string line = *p;
string param = toupper(biteStringX(line, '='));
string value = line;
bool handled = false;
if(param == "DEVICE_NAME")
{
mJoystickControl.mDeviceName = value;
handled = true;
}
else if(param == "MODE")
{
if (tolower(value) == "value")
inputMode = Value;
else if (tolower(value) == "increment")
inputMode = Increment;
else if (tolower(value) == "switch")
inputMode = Switch;
handled = true;
}
else if(param == "MIN")
{
if(!MOOSIsNumeric(value))
reportConfigWarning(orig);
else
axis_min = atof(value.c_str());
handled = true;
}
else if(param == "MAX")
{
if(!MOOSIsNumeric(value))
reportConfigWarning(orig);
else
axis_max = atof(value.c_str());
handled = true;
}
else if(param == "BUTTON")
{
if(!MOOSIsNumeric(value))
reportConfigWarning(orig);
else
{
inputId = atoi(value.c_str());
inputType = JS_EVENT_BUTTON;
}
handled = true;
}
else if(param == "AXIS")
{
if(!MOOSIsNumeric(value))
reportConfigWarning(orig);
else
{
inputId = atoi(value.c_str());
inputType = JS_EVENT_AXIS;
}
handled = true;
}
else if(param == "SCALE")
{
if(!MOOSIsNumeric(value))
reportConfigWarning(orig);
else
{
axis_max = atof(value.c_str());
axis_min = -axis_max;
}
handled = true;
}
else if(param == "SCALE_RATIO")
{
if(!MOOSIsNumeric(value))
//.........这里部分代码省略.........
示例6: OnStartUp
bool XSensINS::OnStartUp() {
AppCastingMOOSApp::OnStartUp();
STRING_LIST sParams;
m_MissionReader.EnableVerbatimQuoting(false);
if (!m_MissionReader.GetValue("XSENSINS_SERIAL_PORT",m_uart_port))
reportConfigWarning("No XSENSINS_SERIAL_PORT config found for " + GetAppName());
if (!m_MissionReader.GetConfiguration(GetAppName(), sParams))
reportConfigWarning("No config block found for " + GetAppName());
STRING_LIST::iterator p;
sParams.reverse();
for (p = sParams.begin() ; p != sParams.end() ; p++) {
string orig = *p;
string line = *p;
string param = toupper(biteStringX(line, '='));
string value = line;
bool handled = false;
if (param == "m_uart_baud_rate") {
m_uart_baud_rate = atoi(value.c_str());
handled = true;
}
else if (param == "YAW_DECLINATION") {
m_yaw_declination = atoi(value.c_str());
handled = true;
}
if(!handled)
reportUnhandledConfigWarning(orig);
}
registerVariables();
//------ OPEN INS ---------------//
XsPortInfo mtPort("/dev/xsens", XsBaud::numericToRate(115200));
if (!m_device.openPort(mtPort)) {
cout << "CANNOT OPEN THE PORT" << '\n';
reportRunWarning("Could not open the COM port" + m_uart_port);
}
//------ CONFIGURE INS ---------------//
// Put the device into configuration mode before configuring the device
if (!m_device.gotoConfig()) {
reportRunWarning("Could not begin the config mode");
}
XsOutputConfiguration euler(XDI_EulerAngles, 25);
XsOutputConfiguration acceleration(XDI_Acceleration, 25);
XsOutputConfiguration rateOfTurn(XDI_RateOfTurn, 25);
XsOutputConfiguration magnetic(XDI_MagneticField, 25);
XsOutputConfiguration latlon(XDI_LatLon, 25);
XsOutputConfigurationArray configArray;
configArray.push_back(euler);
configArray.push_back(acceleration);
configArray.push_back(rateOfTurn);
configArray.push_back(magnetic);
configArray.push_back(latlon);
// Save INS Config
if (!m_device.setOutputConfiguration(configArray)) {
reportRunWarning("Could not save config");
}
//------ START INS ---------------//
if (!m_device.gotoMeasurement()) {
reportRunWarning("Could not start the INS");
}
return true;
}
示例7: reportConfigWarning
bool LatLon2LocalGrid::OnStartUp() {
AppCastingMOOSApp::OnStartUp();
bool geodesy_origin_param = true;
if(!m_MissionReader.GetValue("LatOrigin", lat_origin))
{
reportConfigWarning("No LatOrigin in *.moos file");
geodesy_origin_param = false;
}
if(!m_MissionReader.GetValue("LongOrigin", long_origin))
{
reportConfigWarning("No LongOrigin in *.moos file");
geodesy_origin_param = false;
}
if(geodesy_origin_param)
geodesy.Initialise(lat_origin, long_origin);
STRING_LIST sParams;
m_MissionReader.EnableVerbatimQuoting(false);
if (!m_MissionReader.GetConfiguration(GetAppName(), sParams))
reportConfigWarning("No config block found for " + GetAppName());
STRING_LIST::iterator p;
sParams.reverse();
for (p = sParams.begin(); p != sParams.end(); p++) {
string orig = *p;
string line = *p;
string param = toupper(biteStringX(line, '='));
string value = line;
bool handled = false;
if (param == "NORTHING_PUBLICATION_NAME") {
NORTHING_PUBLICATION_NAME = value;
handled = true;
} else if (param == "EASTING_PUBLICATION_NAME") {
EASTING_PUBLICATION_NAME = value;
handled = true;
} else if (param == "LAT_SUBSCRIPTION_NAME") {
LAT_SUBSCRIPTION_NAME = value;
handled = true;
} else if (param == "LON_SUBSCRIPTION_NAME") {
LON_SUBSCRIPTION_NAME = value;
handled = true;
} else if (param == "CUSTOM_SHIFT_X") {
m_custom_shift_x = atof(value.c_str());
handled = true;
} else if (param == "CUSTOM_SHIFT_Y") {
m_custom_shift_y = atof(value.c_str());
handled = true;
}
if (!handled)
reportUnhandledConfigWarning(orig);
}
registerVariables();
return true;
}