16#include "../../util/btassert.h"
17#include "../keys/cswordtreekey.h"
21#pragma GCC diagnostic push
22#pragma GCC diagnostic ignored "-Wextra-semi"
23#pragma GCC diagnostic ignored "-Wsuggest-override"
24#pragma GCC diagnostic ignored "-Wzero-as-null-pointer-constant"
27#pragma clang diagnostic push
28#pragma clang diagnostic ignored "-Wsuggest-destructor-override"
32#include <treekeyidx.h>
34#pragma clang diagnostic pop
37#pragma GCC diagnostic pop
46 if (
auto *
const key =
tree()) {
49 for (
int depth = 0;;) {
51 while (key->firstChild()) {
54 }
while (key->nextSibling());
61 }
while (!key->nextSibling());
70 BT_ASSERT(
dynamic_cast<sword::TreeKeyIdx *
>(currentKey));
71 return static_cast<sword::TreeKeyIdx *
>(currentKey);
The backend layer main class, a backend implementation of Sword.
sword::TreeKeyIdx * tree() const
int depth() const noexcept
CSwordBookModuleInfo(sword::SWModule &module, CSwordBackend &usedBackend)
CSwordKey * createKey() const final override
sword::SWModule & swordModule() const
CSwordKey implementation for Sword's TreeKey.