code clean up
bigerl opened this issue · 4 comments
- eliminate virtual functions in Parsers where possible
- eliminate unnecessary unique and shared pointers
- update the readme
- use https://conan.io/center/robin-hood-hashing map -> that map already uses a decent hash for strings
- Make exceptions informative
- use gtest like tentris https://github.com/dice-group/tentris/blob/260bffcff98d250512b2762d87e7b1ab01401181/tests/CMakeLists.txt#L4-L28
2- mutex, condition_variable, and atomics have deleted copy constructor. Therefore, we have to pass them as pointers. Other cases have been resloved
There might be a reason why the copy constructor is deleted. Is it safe to get a copy of a Parser and use both in parallel right now?
Otherwise, a deleted copy constructor might be desired behavior or we would need to write a custom copy constructor.
6- getting an error "CMake Error at /home/fakhr/.local/share/JetBrains/Toolbox/apps/CLion/ch-0/203.6682.181/bin/cmake/linux/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake:164 (message):
Could NOT find GTest (missing: GTEST_LIBRARY GTEST_INCLUDE_DIR
GTEST_MAIN_LIBRARY)"
There might be a reason why the copy constructor is deleted. Is it safe to get a copy of a Parser and use both in parallel right now?
Otherwise, a deleted copy constructor might be desired behavior or we would need to write a custom copy constructor.
it looks c++17 and c++20 have some ref atomics and shared mutex, I will check them