Folly库要求std::atomic<hazptr_obj*>
应该是一个简单的类型。这适用于gcc和clang,但即使对于std::atomic<int>
也无法使用Visual C ++。为什么std::is_trivial
会返回false
?
#include <type_traits>
#include <atomic>
static_assert(
std::is_trivial<std::atomic<int>>::value,
"std::atomic<int> not trivial");
答案 0 :(得分:12)
std::atomic
曾经是微不足道的(需要Trivially Copyable),但不再是。请参阅this answer,了解有关更改方式和原因的详尽解释。
至少在C ++ 17中,这使得VC兼容,gcc和clang不兼容。由于这被委员会视为缺陷,VC也显示了C ++ 11和C ++ 14所需的行为。
答案 1 :(得分:1)
folly
$('#jstree').on("dblclick.jstree", function (e) {
var instance = $.jstree.reference(this),
node = instance.get_node(e.target);
// Code
});
中的断言