calculateAlignmentFromSize | Return the natural alignment for a memory block of the specified size -- i.e., the largest power of 2 that evenly divides size, up to a maximum of BSLS_MAX_ALIGNMENT. It is guaranteed that this alignment will be sufficient for any object having a footprint of size bytes on the current platform. The behavior is undefined unless 1 <= size and size <= INT_MAX. Note that, depending on the machine architecture and compiler setting, the returned alignment value may be more restrictive than required for a particular object for two reasons: 1. The object may be composed entirely of elements, such as char, that have minimal alignment restrictions, and 2. The architecture and our compiler settings may result in unexpectedly lenient alignment requirements. Also note that aligning on a more restrictive boundary may improve performance. |
calculateAlignmentOffset | Return the minimum non-negative integer that, when added to the numerical value of the specified address, yields the specified alignment. The behavior is undefined unless alignment is a positive, integral power of 2. |
defaultAlignmentOfAlignedStorage | Return the default value of the alignment argument for std::aligned_storage when the size argument is the specified t_SIZE. This function is an implementation detail of BDE and should not be used elsewhere. |
is2ByteAligned | Return true if the specified address is aligned on a 2-byte boundary (i.e., the numerical value of address is evenly divisible by 2), and false otherwise. |
is4ByteAligned | Return true if the specified address is aligned on a 4-byte boundary (i.e., the numerical value of address is evenly divisible by 4), and false otherwise. |
is8ByteAligned | Return true if the specified address is aligned on an 8-byte boundary (i.e., the numerical value of address is evenly divisible by 8), and false otherwise. |
isAligned | Return true if the specified address is aligned on the specified alignment boundary (i.e., the numerical value of address is evenly divisible by alignment), and false otherwise. The behavior is undefined unless alignment is a power of 2. Note that this function will true for a null address, regardless of alignment and for a 0 alignment regardless of address. |
pointerAlignment | Return the alignment of the specified address. Returns 0 if address is 0. Note that the returned value might be larger than BSLS_MAX_ALIGNMENT. |
roundUpToMaximalAlignment | Return the specified size (in bytes) rounded up to the smallest integral multiple of the maximum alignment. The behavior is undefined unless 0 <= size and size satisfies: ` size <= std::numeric_limits<std::size_t>::max() - BSLS_MAX_ALIGNMENT + 1 ` |