Lines Matching refs:buffer
38 static size_t align(void const*& buffer) {
40 intptr_t b = intptr_t(buffer);
41 buffer = (void*)((intptr_t(buffer) + (N-1)) & ~(N-1));
42 return size_t(intptr_t(buffer) - b);
46 static size_t align(void*& buffer) {
47 return align<N>( const_cast<void const*&>(buffer) );
50 static void advance(void*& buffer, size_t& size, size_t offset) {
51 buffer = reinterpret_cast<void*>( intptr_t(buffer) + offset );
55 static void advance(void const*& buffer, size_t& size, size_t offset) {
56 buffer = reinterpret_cast<void const*>( intptr_t(buffer) + offset );
62 static void write(void*& buffer, size_t& size, const T& value) {
63 *static_cast<T*>(buffer) = value;
64 advance(buffer, size, sizeof(T));
69 static void read(void const*& buffer, size_t& size, T& value) {
70 value = *static_cast<T const*>(buffer);
71 advance(buffer, size, sizeof(T));
78 * to a byte-buffer and an array of file descriptors.
91 // flattens the object into buffer.
96 inline status_t flatten(void*& buffer, size_t& size, int*& fds, size_t& count) const;
98 // unflattens the object from buffer.
105 inline status_t unflatten(void const*& buffer, size_t& size, int const*& fds, size_t& count);
118 void*& buffer, size_t& size, int*& fds, size_t& count) const {
119 return static_cast<T const*>(this)->T::flatten(buffer, size, fds, count);
123 void const*& buffer, size_t& size, int const*& fds, size_t& count) {
124 return static_cast<T*>(this)->T::unflatten(buffer, size, fds, count);
129 * to a byte-buffer. Because it doesn't handle file-descriptors,
143 // flattens the object into buffer.
144 inline status_t flatten(void* buffer, size_t size) const;
146 // unflattens the object from buffer of given size.
147 inline status_t unflatten(void const* buffer, size_t size);
159 inline status_t LightFlattenable<T>::flatten(void* buffer, size_t size) const {
160 return static_cast<T const*>(this)->T::flatten(buffer, size);
163 inline status_t LightFlattenable<T>::unflatten(void const* buffer, size_t size) {
164 return static_cast<T*>(this)->T::unflatten(buffer, size);
183 inline status_t flatten(void* buffer, size_t size) const {
185 *reinterpret_cast<T*>(buffer) = *static_cast<T const*>(this);
188 inline status_t unflatten(void const* buffer, size_t) {
189 *static_cast<T*>(this) = *reinterpret_cast<T const*>(buffer);