do { \
switch ((type)) { \
case NULLT: \
- apply(void*); \
+ apply(std::nullptr_t); \
break; \
case ARRAY: \
apply(Array); \
return get_nothrow<int64_t>() != nullptr;
}
inline bool dynamic::isNull() const {
- return get_nothrow<void*>() != nullptr;
+ return get_nothrow<std::nullptr_t>() != nullptr;
}
inline bool dynamic::isNumber() const {
return isInt() || isDouble();
return false;
}
};
+template<>
+struct dynamic::CompareOp<std::nullptr_t> {
+ static bool comp(std::nullptr_t const&, std::nullptr_t const&) {
+ return true;
+ }
+};
inline dynamic& dynamic::operator+=(dynamic const& o) {
if (type() == STRING && o.type() == STRING) {
}; \
//
-FOLLY_DYNAMIC_DEC_TYPEINFO(void*, "null", dynamic::NULLT)
+FOLLY_DYNAMIC_DEC_TYPEINFO(std::nullptr_t, "null", dynamic::NULLT)
FOLLY_DYNAMIC_DEC_TYPEINFO(bool, "boolean", dynamic::BOOL)
FOLLY_DYNAMIC_DEC_TYPEINFO(std::string, "string", dynamic::STRING)
FOLLY_DYNAMIC_DEC_TYPEINFO(dynamic::Array, "array", dynamic::ARRAY)
}
template<class T> struct dynamic::GetAddrImpl {};
-template<> struct dynamic::GetAddrImpl<void*> {
- static void** get(Data& d) noexcept { return &d.nul; }
+template<> struct dynamic::GetAddrImpl<std::nullptr_t> {
+ static std::nullptr_t* get(Data& d) noexcept { return &d.nul; }
};
template<> struct dynamic::GetAddrImpl<dynamic::Array> {
static Array* get(Data& d) noexcept { return &d.array; }
};
// Otherwise, null, being (void*)0, would print as 0.
template <>
-struct dynamic::PrintImpl<void*> {
+struct dynamic::PrintImpl<std::nullptr_t> {
static void print(dynamic const& /* d */,
std::ostream& out,
- void* const& nul) {
- DCHECK_EQ((void*)0, nul);
+ std::nullptr_t const&) {
out << "null";
}
};
constexpr dynamic::Type dynamic::TypeInfo<T>::type; \
//
-FOLLY_DYNAMIC_DEF_TYPEINFO(void*)
+FOLLY_DYNAMIC_DEF_TYPEINFO(std::nullptr_t)
FOLLY_DYNAMIC_DEF_TYPEINFO(bool)
FOLLY_DYNAMIC_DEF_TYPEINFO(std::string)
FOLLY_DYNAMIC_DEF_TYPEINFO(dynamic::Array)
do { \
switch ((type)) { \
case NULLT: \
- apply(void*); \
+ apply(std::nullptr_t); \
break; \
case ARRAY: \
apply(Array); \