Lines Matching defs:SharedBuffer
32 class SharedBuffer
44 static SharedBuffer* alloc(size_t size);
46 /*! free the memory associated with the SharedBuffer.
47 * Fails if there are any users associated with this SharedBuffer.
51 static void dealloc(const SharedBuffer* released);
62 //! get back a SharedBuffer object from its data
63 static inline SharedBuffer* bufferFromData(void* data);
65 //! get back a SharedBuffer object from its data
66 static inline const SharedBuffer* bufferFromData(const void* data);
68 //! get the size of a SharedBuffer object from its data
72 SharedBuffer* edit() const;
75 SharedBuffer* editResize(size_t size) const;
78 SharedBuffer* attemptEdit() const;
81 SharedBuffer* reset(size_t size) const;
97 inline SharedBuffer() { }
98 inline ~SharedBuffer() { }
99 SharedBuffer(const SharedBuffer&);
100 SharedBuffer& operator = (const SharedBuffer&);
108 static_assert(sizeof(SharedBuffer) % 8 == 0
109 && (sizeof(size_t) > 4 || sizeof(SharedBuffer) == 16),
110 "SharedBuffer has unexpected size");
114 const void* SharedBuffer::data() const {
118 void* SharedBuffer::data() {
122 size_t SharedBuffer::size() const {
126 SharedBuffer* SharedBuffer::bufferFromData(void* data) {
127 return data ? static_cast<SharedBuffer *>(data)-1 : 0;
130 const SharedBuffer* SharedBuffer::bufferFromData(const void* data) {
131 return data ? static_cast<const SharedBuffer *>(data)-1 : 0;
134 size_t SharedBuffer::sizeFromData(const void* data) {
138 bool SharedBuffer::onlyOwner() const {