16#include "../../util/btassert.h"
17#include "../keys/cswordtreekey.h"
20#pragma GCC diagnostic push
21#pragma GCC diagnostic ignored "-Wextra-semi"
22#pragma GCC diagnostic ignored "-Wsuggest-override"
23#pragma GCC diagnostic ignored "-Wzero-as-null-pointer-constant"
25#pragma clang diagnostic push
26#pragma clang diagnostic ignored "-Wsuggest-destructor-override"
30#include <treekeyidx.h>
32#pragma clang diagnostic pop
34#pragma GCC diagnostic pop
42 if (
auto *
const key =
tree()) {
45 for (
int depth = 0;;) {
47 while (key->firstChild()) {
50 }
while (key->nextSibling());
57 }
while (!key->nextSibling());
66 BT_ASSERT(
dynamic_cast<sword::TreeKeyIdx *
>(currentKey));
67 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.