"static_assert" macro in helpers.h
In shared\helpers.h, it defines a "static_assert" macro, which is different with macro in c++. When I develop a client in c++, and include <map> after "helpers.h", it will report an weird error shows:
uses_allocator.h:93: error: macro "static_assert" passed 8 arguments, but takes just 2
" an allocator must be possible if uses_allocator is true");
source code is:
static_assert(__or_<
is_constructible<_Tp, allocator_arg_t, _Alloc, _Args...>,
is_constructible<_Tp, _Args..., _Alloc>>::value, "construction with"
" an allocator must be possible if uses_allocator is true");
It looks like preprocessor can't distinguish comma in template or in args. What I can do now is leaving "helpers.h" behind every other headers. So I wanna know if there is other way to work around this problem, or we can change the macro in "helpers.h"?
Edited by ca lee