本文整理汇总了C++中MyString::empty方法的典型用法代码示例。如果您正苦于以下问题:C++ MyString::empty方法的具体用法?C++ MyString::empty怎么用?C++ MyString::empty使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MyString
的用法示例。
在下文中一共展示了MyString::empty方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: makeQuery
int GenericQuery::
makeQuery (ExprTree *&tree)
{
MyString req;
int status = makeQuery(req);
if (status != Q_OK) return status;
// If there are no constraints, then we match everything.
if (req.empty()) req = "TRUE";
// parse constraints and insert into query ad
if (ParseClassAdRvalExpr (req.Value(), tree) > 0) return Q_PARSE_ERROR;
return Q_OK;
}
示例2: main
int main() {
const MyString cs("Ein konstanter String"); MyString s(cs);
s.assign(cs);
s.append(cs);
cout << cs.c_str() << endl;
cout << cs.size() << endl;
cout << cs.capacity() << endl;
cout << boolalpha << cs.empty() << endl;
s = cs + cs;
cout << (cs == cs) << endl;
s = cs;
cout << cs << endl;
s.at(1) = 'X';
s[2] = 'Y'; // Hallo
cout << s << endl;
cin.get();
return 0;
}
示例3: inspect
int DockerAPI::inspect( const std::string & containerID, ClassAd * dockerAd, CondorError & /* err */ ) {
if( dockerAd == NULL ) {
dprintf( D_ALWAYS | D_FAILURE, "dockerAd is NULL.\n" );
return -2;
}
ArgList inspectArgs;
if ( ! add_docker_arg(inspectArgs))
return -1;
inspectArgs.AppendArg( "inspect" );
inspectArgs.AppendArg( "--format" );
StringList formatElements( "ContainerId=\"{{.Id}}\" "
"Pid={{.State.Pid}} "
"Name=\"{{.Name}}\" "
"Running={{.State.Running}} "
"ExitCode={{.State.ExitCode}} "
"StartedAt=\"{{.State.StartedAt}}\" "
"FinishedAt=\"{{.State.FinishedAt}}\" "
"DockerError=\"{{.State.Error}}\" "
"OOMKilled=\"{{.State.OOMKilled}}\" " );
char * formatArg = formatElements.print_to_delimed_string( "\n" );
inspectArgs.AppendArg( formatArg );
free( formatArg );
inspectArgs.AppendArg( containerID );
MyString displayString;
inspectArgs.GetArgsStringForLogging( & displayString );
dprintf( D_FULLDEBUG, "Attempting to run: %s\n", displayString.c_str() );
#if 1
MyPopenTimer pgm;
if (pgm.start_program(inspectArgs, true, NULL, false) < 0) {
dprintf( D_ALWAYS | D_FAILURE, "Failed to run '%s'.\n", displayString.c_str() );
return -6;
}
MyStringSource * src = NULL;
if (pgm.wait_and_close(default_timeout)) {
src = &pgm.output();
}
int expected_rows = formatElements.number();
dprintf( D_FULLDEBUG, "exit_status=%d, error=%d, %d bytes. expecting %d lines\n",
pgm.exit_status(), pgm.error_code(), pgm.output_size(), expected_rows );
// If the output isn't exactly formatElements.number() lines long,
// something has gone wrong and we'll at least be able to print out
// the error message(s).
std::vector<std::string> correctOutput(expected_rows);
if (src) {
MyString line;
int i=0;
while (line.readLine(*src,false)) {
line.chomp();
//dprintf( D_FULLDEBUG, "\t[%2d] %s\n", i, line.c_str() );
if (i >= expected_rows) {
if (line.empty()) continue;
correctOutput.push_back(line.c_str());
} else {
correctOutput[i] = line.c_str();
}
std::string::iterator first =
std::find(correctOutput[i].begin(),
correctOutput[i].end(),
'\"');
if (first != correctOutput[i].end()) {
std::replace(++first,
--correctOutput[i].end(), '\"','\'');
}
//dprintf( D_FULLDEBUG, "\tfix: %s\n", correctOutput[i].c_str() );
++i;
}
}
#else
FILE * dockerResults = my_popen( inspectArgs, "r", 1 , 0, false);
if( dockerResults == NULL ) {
dprintf( D_ALWAYS | D_FAILURE, "Unable to run '%s'.\n", displayString.c_str() );
return -6;
}
// If the output isn't exactly formatElements.number() lines long,
// something has gone wrong and we'll at least be able to print out
// the error message(s).
char buffer[1024];
std::vector<std::string> correctOutput(formatElements.number());
for( int i = 0; i < formatElements.number(); ++i ) {
if( fgets( buffer, 1024, dockerResults ) != NULL ) {
correctOutput[i] = buffer;
std::string::iterator first =
std::find(correctOutput[i].begin(),
correctOutput[i].end(),
'\"');
if (first != correctOutput[i].end()) {
std::replace(++first,
-- --correctOutput[i].end(), '\"','\'');
}
}
}
my_pclose( dockerResults );
#endif
//.........这里部分代码省略.........
示例4: setPPstyle
//.........这里部分代码省略.........
break;
default:
fprintf( stderr, "Error: Illegal mode %d\n", mode );
exit( 1 );
break;
}
// Here is where we actually override 'addr', if we can obtain
// address of the requested daemon/subsys. If it can't be
// located, then fail with error msg.
// 'd' will be null (unset) if mode is one of above that must go to
// collector (MODE_ANY_NORMAL, MODE_COLLECTOR_NORMAL, etc)
if (NULL != d) {
if( d->locate() ) {
addr = d->addr();
requested_daemon = d;
} else {
const char* id = d->idStr();
if (NULL == id) id = d->name();
dprintf_WriteOnErrorBuffer(stderr, true);
if (NULL == id) id = "daemon";
fprintf(stderr, "Error: Failed to locate %s\n", id);
fprintf(stderr, "%s\n", d->error());
exit( 1 );
}
}
}
ClassAdList result;
CondorError errstack;
if (NULL != ads_file) {
MyString req; // query requirements
q = query->getRequirements(req);
const char * constraint = req.empty() ? NULL : req.c_str();
if (read_classad_file(ads_file, result, constraint)) {
q = Q_OK;
}
} else if (NULL != addr) {
// this case executes if pool was provided, or if in "direct" mode with
// subsystem that corresponds to a daemon (above).
// Here 'addr' represents either the host:port of requested pool, or
// alternatively the host:port of daemon associated with requested subsystem (direct mode)
q = query->fetchAds (result, addr, &errstack);
} else {
// otherwise obtain list of collectors and submit query that way
CollectorList * collectors = CollectorList::create();
q = collectors->query (*query, result, &errstack);
delete collectors;
}
// if any error was encountered during the query, report it and exit
if (Q_OK != q) {
dprintf_WriteOnErrorBuffer(stderr, true);
// we can always provide these messages:
fprintf( stderr, "Error: %s\n", getStrQueryResult(q) );
fprintf( stderr, "%s\n", errstack.getFullText(true).c_str() );
if ((NULL != requested_daemon) && ((Q_NO_COLLECTOR_HOST == q) ||
(requested_daemon->type() == DT_COLLECTOR)))
{
// Specific long message if connection to collector failed.
const char* fullhost = requested_daemon->fullHostname();
if (NULL == fullhost) fullhost = "<unknown_host>";
const char* daddr = requested_daemon->addr();
示例5: main
int main()
{
cout << "Testing default constructor\n\n";
const MyString s1;
cout << "s1: " << s1 << endl;
cout << "s1 size: " << s1.size() << endl;
cout << "s1 capacity: " << s1.capacity() << endl;
cout << "s1 is " << ((s1.empty()) ? "empty\n" : "not empty\n");
cout << endl;
cout << "Testing second constructor\n\n";
MyString s2 = "some text";
cout << "s2: " << s2 << endl;
cout << "s2 size: " << s2.size() << endl;
cout << "s2 capacity: " << s2.capacity() << endl;
cout << "s2 is " << ((s2.empty()) ? "empty\n" : "not empty\n");
cout << endl;
cout << "Testing second constructor with long string\n\n";
MyString s3 = "This is a really long string and this time all of it will actually end up in the array - pretty neat, huh?";
cout << "s3: " << s3 << endl;
cout << "s3 size: " << s3.size() << endl;
cout << "s3 capacity: " << s3.capacity() << endl;
cout << endl;
cout << "Testing write form of subscript operator\n\n";
s2[0] = 'S';
s2[5] = 'T';
cout << "s2: " << s2 << endl << endl;
cout << "Testing read form of subscript operator\n\n";
cout << "s2: ";
for (unsigned int i = 0; i < s2.size(); i++)
cout << s2[i];
cout << endl << endl;
cout << "Testing equality operators\n\n";
const MyString s4 = "Some Text";
cout << "s2 and s4 are " << ((s2 == s4) ? "equal\n" : "not equal\n");
cout << "s3 and s4 are " << ((s3 == s4) ? "equal\n" : "not equal\n\n");
cout << "s4 and \"Some Text\" are " << ((s4 == "Some Text") ? "equal\n" : "not equal\n");
cout << "s4 and \"More Text\" are " << ((s4 == "More Text") ? "equal\n" : "not equal\n\n");
cout << "\"Some Text\" and s4 are " << (("Some Text" == s4) ? "equal\n" : "not equal\n");
cout << "\"More Text\" and s4 are " << (("More Text" == s4) ? "equal\n" : "not equal\n\n");
cout << "Testing clear() method\n\n";
s3.clear();
cout << "s3: " << s3 << endl;
cout << "s3 size: " << s3.size() << endl;
cout << "s3 capacity: " << s3.capacity() << endl;
cout << "s3 is " << ((s3.empty()) ? "empty\n" : "not empty\n");
cout << "Testing copy constructor\n\n";
MyString s5(s4); // Problem
cout << "s5: " << s5 << endl;
cout << "s5 size: " << s5.size() << endl;
cout << "s5 capacity: " << s5.capacity() << endl;
cout << endl;
cout << "Testing assignment operator\n\n";
s3 = s5;
cout << "s3: " << s3 << endl;
cout << "s3 size: " << s3.size() << endl;
cout << "s3 capacity: " << s3.capacity() << endl;
cout << endl;
s3 = "a different string";
cout << "s3: " << s3 << endl;
cout << "s3 size: " << s3.size() << endl;
cout << "s3 capacity: " << s3.capacity() << endl;
cout << endl;
cout << "Testing self-assignment\n\n";
s3 = s3;
cout << "s3: " << s3 << endl;
//.........这里部分代码省略.........