/*
- * Copyright 2016 Facebook, Inc.
+ * Copyright 2017 Facebook, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
private:
PicoSpinLock<uintptr_t> data_;
-};
+} FOLLY_PACK_ATTR;
static_assert(
std::is_pod<PackedSyncPtr<void>>::value,
"PackedSyncPtr should be only 8 bytes---something is "
"messed up");
+template <typename T>
+std::ostream& operator<<(std::ostream& os, const PackedSyncPtr<T>& ptr) {
+ os << "PackedSyncPtr(" << ptr.get() << ", " << ptr.extra() << ")";
+ return os;
+}
}