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.
std::unique_ptr< CSwordBackend > backend(sword::InstallSource const &is)