|
BDE 4.39.x Production Release
|
#include <bsls_platformutil.h>
Provide a namespace for a suite of typedefs and pure procedures that encapsulate, platform-dependent types and APIs.
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) |
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.
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.
BSLS_PLATFORM_IS_BIG_ENDIAN defined in bsls_platform instead.
|
inlinestatic |
Return true if this platform is "little-endian", and false otherwise.
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.
0 <= size.lmf_ForwardingTypeDEPRECATED: Use AlignmentUtil::roundUpToMaximalAlignment instead.