* get rid of boost::optional * Remove optional references * Use std::reference_wrapper for optional references * Fix clang format * Fix clang format part 2 * Adressed feedback * Fix clang format and MacOS build
Prevents creating multiple copies of the vtable in every translation unit that uses the class. Also silences a -Wweak-vtables warning