size_t Join::getTotalByteCount() const { size_t res = 0; if (type == Type::CROSS) { for (const auto & block : blocks) res += block.bytes(); } else { res += getTotalByteCountImpl(maps_any, type); res += getTotalByteCountImpl(maps_all, type); res += getTotalByteCountImpl(maps_any_full, type); res += getTotalByteCountImpl(maps_all_full, type); res += pool.size(); } return res; }
size_t Join::getTotalByteCount() const { size_t res = 0; if (type == Type::CROSS) { for (const auto & block : blocks) res += block.bytes(); } else { dispatch([&](auto, auto, auto & map) { res += getTotalByteCountImpl(map, type); }); res += pool.size(); } return res; }