本文整理汇总了C++中VerseKey::TestamentIndex方法的典型用法代码示例。如果您正苦于以下问题:C++ VerseKey::TestamentIndex方法的具体用法?C++ VerseKey::TestamentIndex怎么用?C++ VerseKey::TestamentIndex使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类VerseKey
的用法示例。
在下文中一共展示了VerseKey::TestamentIndex方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: increment
void zCom::increment(int steps) {
long start;
unsigned short size;
unsigned long buffnum;
VerseKey *tmpkey = &getVerseKey();
findOffset(tmpkey->Testament(), tmpkey->TestamentIndex(), &start, &size, &buffnum);
SWKey lastgood = *tmpkey;
while (steps) {
long laststart = start;
unsigned short lastsize = size;
SWKey lasttry = *tmpkey;
(steps > 0) ? ++(*key) : --(*key);
tmpkey = &getVerseKey();
if ((error = key->Error())) {
*key = lastgood;
break;
}
long index = tmpkey->TestamentIndex();
findOffset(tmpkey->Testament(), index, &start, &size, &buffnum);
if (
(((laststart != start) || (lastsize != size)) // we're a different entry
// && (start > 0)
&& (size)) // and we actually have a size
||(!skipConsecutiveLinks)) { // or we don't want to skip consecutive links
steps += (steps < 0) ? 1 : -1;
lastgood = *tmpkey;
}
}
error = (error) ? KEYERR_OUTOFBOUNDS : 0;
}
示例2: setEntry
void RawFiles::setEntry(const char *inbuf, long len) {
FileDesc *datafile;
long start;
unsigned short size;
VerseKey *key = &getVerseKey();
len = (len<0)?strlen(inbuf):len;
findOffset(key->Testament(), key->TestamentIndex(), &start, &size);
if (size) {
SWBuf tmpbuf;
entryBuf = path;
entryBuf += '/';
readText(key->Testament(), start, size, tmpbuf);
entryBuf += tmpbuf;
}
else {
SWBuf tmpbuf;
entryBuf = path;
entryBuf += '/';
tmpbuf = getNextFilename();
doSetText(key->Testament(), key->TestamentIndex(), tmpbuf);
entryBuf += tmpbuf;
}
datafile = FileMgr::getSystemFileMgr()->open(entryBuf, FileMgr::CREAT|FileMgr::WRONLY|FileMgr::TRUNC);
if (datafile->getFd() > 0) {
datafile->write(inbuf, len);
}
FileMgr::getSystemFileMgr()->close(datafile);
}
示例3:
SWBuf &RawFiles::getRawEntryBuf() {
FileDesc *datafile;
long start = 0;
unsigned short size = 0;
VerseKey *key = &getVerseKey();
findOffset(key->Testament(), key->TestamentIndex(), &start, &size);
entryBuf = "";
if (size) {
SWBuf tmpbuf = path;
tmpbuf += '/';
readText(key->Testament(), start, size, entryBuf);
tmpbuf += entryBuf;
entryBuf = "";
datafile = FileMgr::getSystemFileMgr()->open(tmpbuf.c_str(), FileMgr::RDONLY);
if (datafile->getFd() > 0) {
size = datafile->seek(0, SEEK_END);
char *tmpBuf = new char [ size + 1 ];
memset(tmpBuf, 0, size + 1);
datafile->seek(0, SEEK_SET);
datafile->read(tmpBuf, size);
entryBuf = tmpBuf;
delete [] tmpBuf;
// preptext(entrybuf);
}
FileMgr::getSystemFileMgr()->close(datafile);
}
return entryBuf;
}
示例4: hasEntry
bool zCom::hasEntry(const SWKey *k) const {
long start;
unsigned short size;
unsigned long buffnum;
VerseKey *vk = &getVerseKey(k);
findOffset(vk->Testament(), vk->TestamentIndex(), &start, &size, &buffnum);
return size;
}
示例5: linkEntry
void zCom::linkEntry(const SWKey *inkey) {
VerseKey *destkey = &getVerseKey();
const VerseKey *srckey = &getVerseKey(inkey);
doLinkEntry(destkey->Testament(), destkey->TestamentIndex(), srckey->TestamentIndex());
if (inkey != srckey) // free our key if we created a VerseKey
delete srckey;
}
示例6: setEntry
void zCom::setEntry(const char *inbuf, long len) {
VerseKey *key = &getVerseKey();
// see if we've jumped across blocks since last write
if (lastWriteKey) {
if (!sameBlock(lastWriteKey, key)) {
flushCache();
}
delete lastWriteKey;
}
doSetText(key->Testament(), key->TestamentIndex(), inbuf, len);
lastWriteKey = (VerseKey *)key->clone(); // must delete
}
示例7:
/******************************************************************************
* zCom::getRawEntry - Returns the correct verse when char * cast
* is requested
*
* RET: string buffer with verse
*/
SWBuf &zCom::getRawEntryBuf() {
long start = 0;
unsigned short size = 0;
unsigned long buffnum;
VerseKey *key = &getVerseKey();
findOffset(key->Testament(), key->TestamentIndex(), &start, &size, &buffnum);
entrySize = size; // support getEntrySize call
entryBuf = "";
zReadText(key->Testament(), start, size, buffnum, entryBuf);
rawFilter(entryBuf, key);
// if (!isUnicode())
prepText(entryBuf);
return entryBuf;
}
示例8:
SWBuf &HREFCom::getRawEntryBuf() {
long start;
unsigned short size;
VerseKey *key = 0;
key = &getVerseKey();
findOffset(key->Testament(), key->TestamentIndex(), &start, &size);
entrySize = size; // support getEntrySize call
SWBuf tmpbuf;
readText(key->Testament(), start, size, tmpbuf);
entryBuf = prefix;
entryBuf += tmpbuf.c_str();
prepText(entryBuf);
if (key != this->key)
delete key;
return entryBuf;
}
示例9: deleteEntry
void RawFiles::deleteEntry() {
VerseKey *key = &getVerseKey();
doSetText(key->Testament(), key->TestamentIndex(), "");
}