diff --git a/VersionedMap.cpp b/VersionedMap.cpp index 454e737..c7c7551 100644 --- a/VersionedMap.cpp +++ b/VersionedMap.cpp @@ -507,31 +507,9 @@ struct VersionedMap::Impl { mm.gc(roots.roots(), roots.rootCount(), oldestVersion); } - void printInOrder(int64_t version) { - printInOrderHelper(version, - roots.getThreadSafeHandle().rootForVersion(version)); - } + void printInOrder(int64_t version); - void printInOrderHelper(int64_t version, uint32_t node) { - if (node == 0) { - return; - } - printInOrderHelper(version, - child(node, false, version)); - printf("%.*s", mm.base[node].entry->keyLen, mm.base[node].entry->getKey()); - if (mm.base[node].entry->valLen >= 0) { - printf(" -> '%.*s'", mm.base[node].entry->valLen, - mm.base[node].entry->getVal()); - } else { - printf(" "); - } - if (mm.base[node].entry->clearTo) { - printf(" "); - } - printf("\n"); - printInOrderHelper(version, - child(node, true, version)); - } + void printInOrderHelper(int64_t version, uint32_t node); MemManager mm; RootSet roots; @@ -539,6 +517,37 @@ struct VersionedMap::Impl { uint32_t latestRoot; int64_t latestVersion = 0; }; + +// ==================== END IMPLEMENTATION ==================== + +// GCOVR_EXCL_START + +void VersionedMap::Impl::printInOrder(int64_t version) { + printInOrderHelper(version, + roots.getThreadSafeHandle().rootForVersion(version)); +} + +void VersionedMap::Impl::printInOrderHelper(int64_t version, uint32_t node) { + if (node == 0) { + return; + } + printInOrderHelper(version, + child(node, false, version)); + printf("%.*s", mm.base[node].entry->keyLen, mm.base[node].entry->getKey()); + if (mm.base[node].entry->valLen >= 0) { + printf(" -> '%.*s'", mm.base[node].entry->valLen, + mm.base[node].entry->getVal()); + } else { + printf(" "); + } + if (mm.base[node].entry->clearTo) { + printf(" "); + } + printf("\n"); + VersionedMap::Impl::printInOrderHelper( + version, child(node, true, version)); +} + } // namespace weaselab #ifdef ENABLE_MAIN @@ -632,3 +641,5 @@ int main() { } } #endif + +// GCOVR_EXCL_STOP \ No newline at end of file