BDE 4.14.0 Production release
|
#include <bsls_platformutil.h>
Public Types | |
typedef Types::size_type | size_type |
typedef Types::UintPtr | UintPtr |
typedef Types::IntPtr | IntPtr |
typedef Types::Int64 | Int64 |
typedef Types::Uint64 | Uint64 |
typedef AlignmentUtil::MaxAlignedType | MaxAlign |
Static Public Member Functions | |
static bool | isBigEndian () |
static bool | isLittleEndian () |
static int | roundUpToMaximalAlignment (int size) |
Provide a namespace for a suite of typedef
s and pure procedures that encapsulate, platform-dependent types and APIs.
The aliases UintPtr
and IntPtr
are guaranteed to have the same size as pointers.
The alias MaxAlign
refers to a type that is maximally-aligned on the current platform.
The alias size_type
refers to the preferred type for denoting a number of elements in either bslma
allocators or container types. Note that this type is signed, as negative values may make sense in certain contexts. Also note that the standard-compliant allocators (e.g., bsl::allocator
and std::allocator
) use an unsigned size type, but that is fine because they also have a mechanism (max_size ) to determine overflows resulting from converting from one size type to the other.
The aliases Int64
and Uint64
stand for whatever type Types
implements for the appropriate supported platforms.
|
inlinestatic |
Return true
if this platform is "big-endian", and false
otherwise. Note that "big-endian" (i.e., the most significant byte of data at the lowest byte address) is consistent with network byte order.
BSLS_PLATFORM_IS_BIG_ENDIAN
defined in bsls_platform instead.
|
inlinestatic |
Return true
if this platform is "little-endian", and false
otherwise. Note that "little-endian" (i.e., the least significant byte of data at the lowest byte address) is inconsistent with network byte order.
BSLS_PLATFORMUTIL_IS_BIG_ENDIAN
defined in bsls_platform instead.
|
inlinestatic |
Return the specified size
(in bytes) rounded up to the smallest integral multiple of the maximum alignment. The behavior is undefined unless 0 <= size
.