Skip to content
Enrico Seiler edited this page May 22, 2023 · 3 revisions

Welcome to the Hierarchical_Interleaved_Bloomfilter wiki!

Design Decisions

Construction

Ctor or a factory?

  • Factory: include of Factory doesn't pull all the build files (neglectable if HIBF is a libray)
  • Factory: FPGA implementation could be done in a new factory
  • Factory: More unintuitive to use

In general, the build process of the HIBF is very complex and thus using a factory might be justified.

HIBF API

See https://gist.github.com/smehringer/37719a556fb4872ea3087dc73c6a1778

Header-only or not?

Library: CMake, (static lib),

Header-only Library ()
+ platform independent // indirectyly platform independent because CMake would build and link for the user
+ easy if user doesn't user CMake - hard to compile right if not using CMake
// if code has a lot of tempaltes or constexpr + compile time much lower, since lib is compiled once
(+) clean separation of interface and implementation
? What is a release
? What about the FPGA HIBF lib design?

How it would look for the user:

find_package(hibf_lib)
target_link_libraries (FOO hibf::hibf)

This is the same for header-only or Library because the user does not have to link on his/her own

Clone this wiki locally