After reading some part of the library, I noticed some minor change with ABI break.
unverified_safe_because is template<size_t N> but N is never used.
Another declaration could be:
inline auto unverified_safe_because(const char *reason)
const -> static constexpr
The library is explicitly c++17. There is lots of const int CompileErrorCode = 42; that could be replaced by static constexpr int CompileErrorCode = 42;
- in
#define helper_create_converted_field, isFrozen is unused
So new declaration could be:
#define helper_create_converted_field(fieldType, fieldName)
- Finally a question: the library is explicitly not thread-safe.
So why there is a std::mutex callback_lock, RLBOX_SHARED_LOCK, RLBOX_ACQUIRE_SHARED_GUARD and RLBOX_ACQUIRE_UNIQUE_GUARD? Is this a try to make a thread-safe library?
Thanks,
PS: If you're fine with these changes, I can implement them.
After reading some part of the library, I noticed some minor change with ABI break.
unverified_safe_becauseistemplate<size_t N>but N is never used.Another declaration could be:
inline auto unverified_safe_because(const char *reason)const->static constexprThe library is explicitly c++17. There is lots of
const int CompileErrorCode = 42;that could be replaced bystatic constexpr int CompileErrorCode = 42;#define helper_create_converted_field,isFrozenis unusedSo new declaration could be:
#define helper_create_converted_field(fieldType, fieldName)So why there is a
std::mutex callback_lock,RLBOX_SHARED_LOCK,RLBOX_ACQUIRE_SHARED_GUARDandRLBOX_ACQUIRE_UNIQUE_GUARD? Is this a try to make a thread-safe library?Thanks,
PS: If you're fine with these changes, I can implement them.