return bytesUsed_;
}
- private:
// not copyable
Arena(const Arena&) = delete;
Arena& operator=(const Arena&) = delete;
Arena(Arena&&) = default;
Arena& operator=(Arena&&) = default;
+ private:
struct Block;
typedef boost::intrusive::slist_member_hook<
boost::intrusive::tag<Arena>> BlockLink;
- struct Block {
+ struct FOLLY_ALIGNED_MAX Block {
BlockLink link;
// Allocate a block with at least size bytes of storage.
}
private:
- Block() { }
- ~Block() { }
- } __attribute__((__aligned__));
- // This should be alignas(std::max_align_t) but neither alignas nor
- // max_align_t are supported by gcc 4.6.2.
+ Block() = default;
+ ~Block() = default;
+ };
public:
static constexpr size_t kDefaultMinBlockSize = 4096 - sizeof(Block);