本文整理汇总了C++中ListKey::setPersist方法的典型用法代码示例。如果您正苦于以下问题:C++ ListKey::setPersist方法的具体用法?C++ ListKey::setPersist怎么用?C++ ListKey::setPersist使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ListKey
的用法示例。
在下文中一共展示了ListKey::setPersist方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main(int argc, char **argv) {
SWMgr mgr;
SWModule *mod = mgr.getModule("KJVgb");
VerseKey *key1 = (VerseKey *)mod->createKey();
key1->setTestament(2);
key1->setBook(4);
key1->setChapter(2);
key1->setVerse(3);
cout << "\n" << key1->getText() << ":\n\n";
ListKey keys;
keys << *key1;
cout << "\n" << keys.getRangeText() << ":\n\n";
ListKey keys2 = keys;
cout << "\n" << keys2.getRangeText() << ":\n\n";
keys = key1->parseVerseList("Lk.4.5");
cout << "\n" << key1->getText() << ":\n\n";
key1->setText("jn.6.7");
cout << "\n" << key1->getText() << ":\n\n";
mod->setKey("lk.2.3");
cout << "\n" << mod->getKeyText() << ":\n" << endl;
cout << mod->getRawEntry() << endl;
cout << "\nListkey persist key iteration test\n\n";
keys = key1->parseVerseList("mat1", 0, true);
for (keys = TOP; !keys.popError(); keys++) {
cout << "\n" << keys.getText() << ":\n" << endl;
}
keys.setPersist(true);
mod->setKey(keys);
for ((*mod) = TOP; !mod->popError(); (*mod)++) {
cout << "\n" << mod->getKeyText() << ":\n" << endl;
}
delete key1;
return 0;
}
示例2: main
int main(int argc, char **argv)
{
const char *range = (argc > 1) ? argv[1] : "Mat 2:10,12-15";
VerseKey parser;
ListKey result;
result = parser.parseVerseList(range, parser, true);
// let's iterate the key and display
for (result = TOP; !result.popError(); result++) {
cout << result << "\n";
}
cout << endl;
// Now if we'd like persist this key for use inside of a book...
result.setPersist(true);
// Let's get a book;
SWMgr library(new MarkupFilterMgr(FMT_PLAIN)); // render plain without fancy markup
SWModule *book = library.getModule("KJV");
// and set our limited key inside
book->setKey(result);
// now let's iterate the book and display
for ((*book) = TOP; !book->popError(); (*book)++) {
cout << "*** " << book->getKeyText() << ": " << book->renderText() << "\n";
}
// Since we've told our result key to persist in book, we can reuse our
// setup by simply resetting result, e.g.
//
// result = parser.ParseVerseList(someNewRange, parser, true);
//
// Now an iteration of book will give us our new range.
//
// To stop persistence of our custom key, we'll need to set our book's key
// to something simple:
//
// book->setKey("gen.1.1");
//
// Resetting our book object's key to something not persistent will revert our book object to using its default key for positioning
//
//
return 0;
}
示例3: main
int main(int argc, char **argv)
{
// SWMgr manager(0, 0, true, new MarkupFilterMgr(FMT_RTF, ENC_RTF));
SWMgr manager;
SWModule *target;
ListKey listkey;
ListKey scope;
ModMap::iterator it;
if ((argc < 3) || (argc > 5)) {
fprintf(stderr, "\nusage: %s <modname> <\"search string\"> [\"search_scope\"] [\"search again for string in previous result set\"]\n"
"\tExample: search KJV \"swift hear slow speak\"\n\n", argv[0]);
exit(-1);
}
std::string searchTerm = argv[2];
manager.setGlobalOption("Greek Accents", "Off");
manager.setGlobalOption("Strong's Numbers", "On");
manager.setGlobalOption("Hebrew Vowel Points", "Off");
manager.filterText("Greek Accents", searchTerm);
it = manager.Modules.find(argv[1]);
if (it == manager.Modules.end()) {
fprintf(stderr, "Could not find module [%s]. Available modules:\n", argv[1]);
for (it = manager.Modules.begin(); it != manager.Modules.end(); ++it) {
fprintf(stderr, "[%s]\t - %s\n", (*it).second->getName(), (*it).second->getDescription());
}
exit(-1);
}
target = (*it).second;
if (argc > 3) { // if min / max specified
SWKey *k = target->getKey();
VerseKey *parser = SWDYNAMIC_CAST(VerseKey, k);
VerseKey kjvParser;
if (!parser) parser = &kjvParser; // use standard KJV parsing as fallback
scope = parser->parseVerseList(argv[3], *parser, true);
scope.setPersist(true);
target->setKey(scope);
}
std::cerr << "[0=================================50===============================100]\n ";
char lineLen = 70;
listkey = target->search(searchTerm.c_str(), SEARCH_TYPE, /*SEARCHFLAG_MATCHWHOLEENTRY*/ REG_ICASE, 0, 0, &percentUpdate, &lineLen);
std::cerr << std::endl;
if (argc > 4) { // if min / max specified
scope = listkey;
scope.setPersist(true);
target->setKey(scope);
printed = 0;
std::cerr << " ";
listkey = target->search(argv[4], SEARCH_TYPE, /*SEARCHFLAG_MATCHWHOLEENTRY*/ REG_ICASE, 0, 0, &percentUpdate, &lineLen);
std::cerr << std::endl;
}
// we don't want to sort by verse if we've been given scores
// listkey.sort();
while (!listkey.popError()) {
std::cout << (const char *)listkey;
if (listkey.getElement()->userData) std::cout << " : " << (uint64_t)listkey.getElement()->userData << "%";
std::cout << std::endl;
++listkey;
}
return 0;
}