NIM PC Cross Platform SDK
载入中...
搜索中...
未找到
phmap_bits.h 文件参考
#include <string.h>
#include <cstdint>
#include "phmap_config.h"

浏览源代码.

命名空间

namespace  phmap
 
namespace  phmap::bits
 
namespace  phmap::base_internal
 
namespace  phmap::little_endian
 
namespace  phmap::big_endian
 

宏定义

#define PHMAP_INTERNAL_UNALIGNED_LOAD16(_p)   (phmap::bits::UnalignedLoad16(_p))
 
#define PHMAP_INTERNAL_UNALIGNED_LOAD32(_p)   (phmap::bits::UnalignedLoad32(_p))
 
#define PHMAP_INTERNAL_UNALIGNED_LOAD64(_p)   (phmap::bits::UnalignedLoad64(_p))
 
#define PHMAP_INTERNAL_UNALIGNED_STORE16(_p, _val)   (phmap::bits::UnalignedStore16(_p, _val))
 
#define PHMAP_INTERNAL_UNALIGNED_STORE32(_p, _val)   (phmap::bits::UnalignedStore32(_p, _val))
 
#define PHMAP_INTERNAL_UNALIGNED_STORE64(_p, _val)   (phmap::bits::UnalignedStore64(_p, _val))
 
#define PHMAP_BLOCK_TAIL_CALL_OPTIMIZATION()   if (volatile int x = 0) { (void)x; }
 
#define PHMAP_CACHELINE_SIZE   64
 
#define PHMAP_CACHELINE_ALIGNED
 
#define PHMAP_PREDICT_FALSE(x)   (x)
 
#define PHMAP_PREDICT_TRUE(x)   (x)
 
#define PHMAP_BASE_INTERNAL_FORCEINLINE   inline PHMAP_ATTRIBUTE_ALWAYS_INLINE
 

函数

uint16_t phmap::bits::UnalignedLoad16 (const void *p)
 
uint32_t phmap::bits::UnalignedLoad32 (const void *p)
 
uint64_t phmap::bits::UnalignedLoad64 (const void *p)
 
void phmap::bits::UnalignedStore16 (void *p, uint16_t v)
 
void phmap::bits::UnalignedStore32 (void *p, uint32_t v)
 
void phmap::bits::UnalignedStore64 (void *p, uint64_t v)
 
PHMAP_BASE_INTERNAL_FORCEINLINE int phmap::base_internal::CountLeadingZeros64Slow (uint64_t n)
 
PHMAP_BASE_INTERNAL_FORCEINLINE int phmap::base_internal::CountLeadingZeros64 (uint64_t n)
 
PHMAP_BASE_INTERNAL_FORCEINLINE uint32_t phmap::base_internal::CountLeadingZeros32Slow (uint64_t n)
 
PHMAP_BASE_INTERNAL_FORCEINLINE uint32_t phmap::base_internal::CountLeadingZeros32 (uint32_t n)
 
PHMAP_BASE_INTERNAL_FORCEINLINE uint32_t phmap::base_internal::CountTrailingZerosNonZero64Slow (uint64_t n)
 
PHMAP_BASE_INTERNAL_FORCEINLINE uint32_t phmap::base_internal::CountTrailingZerosNonZero64 (uint64_t n)
 
PHMAP_BASE_INTERNAL_FORCEINLINE uint32_t phmap::base_internal::CountTrailingZerosNonZero32Slow (uint32_t n)
 
PHMAP_BASE_INTERNAL_FORCEINLINE uint32_t phmap::base_internal::CountTrailingZerosNonZero32 (uint32_t n)
 
uint64_t phmap::gbswap_64 (uint64_t host_int)
 
uint32_t phmap::gbswap_32 (uint32_t host_int)
 
uint16_t phmap::gbswap_16 (uint16_t host_int)
 
uint16_t phmap::gntohs (uint16_t x)
 
uint32_t phmap::gntohl (uint32_t x)
 
uint64_t phmap::gntohll (uint64_t x)
 
uint16_t phmap::little_endian::Load16 (const void *p)
 
void phmap::little_endian::Store16 (void *p, uint16_t v)
 
uint32_t phmap::little_endian::Load32 (const void *p)
 
void phmap::little_endian::Store32 (void *p, uint32_t v)
 
uint64_t phmap::little_endian::Load64 (const void *p)
 
void phmap::little_endian::Store64 (void *p, uint64_t v)
 
uint16_t phmap::big_endian::Load16 (const void *p)
 
void phmap::big_endian::Store16 (void *p, uint16_t v)
 
uint32_t phmap::big_endian::Load32 (const void *p)
 
void phmap::big_endian::Store32 (void *p, uint32_t v)
 
uint64_t phmap::big_endian::Load64 (const void *p)
 
void phmap::big_endian::Store64 (void *p, uint64_t v)
 

宏定义说明

◆ PHMAP_BASE_INTERNAL_FORCEINLINE

#define PHMAP_BASE_INTERNAL_FORCEINLINE   inline PHMAP_ATTRIBUTE_ALWAYS_INLINE

◆ PHMAP_BLOCK_TAIL_CALL_OPTIMIZATION

#define PHMAP_BLOCK_TAIL_CALL_OPTIMIZATION ( )    if (volatile int x = 0) { (void)x; }

◆ PHMAP_CACHELINE_ALIGNED

#define PHMAP_CACHELINE_ALIGNED

◆ PHMAP_CACHELINE_SIZE

#define PHMAP_CACHELINE_SIZE   64

◆ PHMAP_INTERNAL_UNALIGNED_LOAD16

#define PHMAP_INTERNAL_UNALIGNED_LOAD16 (   _p)    (phmap::bits::UnalignedLoad16(_p))

◆ PHMAP_INTERNAL_UNALIGNED_LOAD32

#define PHMAP_INTERNAL_UNALIGNED_LOAD32 (   _p)    (phmap::bits::UnalignedLoad32(_p))

◆ PHMAP_INTERNAL_UNALIGNED_LOAD64

#define PHMAP_INTERNAL_UNALIGNED_LOAD64 (   _p)    (phmap::bits::UnalignedLoad64(_p))

◆ PHMAP_INTERNAL_UNALIGNED_STORE16

#define PHMAP_INTERNAL_UNALIGNED_STORE16 (   _p,
  _val 
)    (phmap::bits::UnalignedStore16(_p, _val))

◆ PHMAP_INTERNAL_UNALIGNED_STORE32

#define PHMAP_INTERNAL_UNALIGNED_STORE32 (   _p,
  _val 
)    (phmap::bits::UnalignedStore32(_p, _val))

◆ PHMAP_INTERNAL_UNALIGNED_STORE64

#define PHMAP_INTERNAL_UNALIGNED_STORE64 (   _p,
  _val 
)    (phmap::bits::UnalignedStore64(_p, _val))

◆ PHMAP_PREDICT_FALSE

#define PHMAP_PREDICT_FALSE (   x)    (x)

◆ PHMAP_PREDICT_TRUE

#define PHMAP_PREDICT_TRUE (   x)    (x)