...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
boost::alignment::align
// In header: <boost/align/align.hpp> void * align(std::size_t alignment, std::size_t size, void *& ptr, std::size_t & space);
If it is possible to fit size
bytes of storage aligned by alignment
into the buffer pointed to by ptr
with length space
, the function updates ptr
to point to the first possible address of such storage and decreases space
by the number of bytes used for alignment. Otherwise, the function does nothing.
Note: The function updates its ptr
and space arguments so that it can be called repeatedly with possibly different alignment
and size
arguments for the same buffer.
Parameters: |
|
||||||||
Returns: |
A null pointer if the requested aligned buffer would not fit into the available space, otherwise the adjusted value of |