10class [[nodiscard]] alignas(JPH_VECTOR_ALIGNMENT)
BVec16
16#if defined(JPH_USE_SSE)
18#elif defined(JPH_USE_NEON)
19 using Type = uint8x16_t;
31 JPH_INLINE
BVec16(
uint8 inB0,
uint8 inB1,
uint8 inB2,
uint8 inB3,
uint8 inB4,
uint8 inB5,
uint8 inB6,
uint8 inB7,
uint8 inB8,
uint8 inB9,
uint8 inB10,
uint8 inB11,
uint8 inB12,
uint8 inB13,
uint8 inB14,
uint8 inB15);
37 JPH_INLINE
bool operator == (
BVec16Arg inV2)
const;
38 JPH_INLINE
bool operator != (
BVec16Arg inV2)
const {
return !(*
this == inV2); }
41 static JPH_INLINE
BVec16 sZero();
47 static JPH_INLINE
BVec16 sLoadByte16(
const uint8 *inV);
65 JPH_INLINE
uint8 operator [] (
uint inCoordinate)
const {
JPH_ASSERT(inCoordinate < 16);
return mU8[inCoordinate]; }
66 JPH_INLINE
uint8 & operator [] (
uint inCoordinate) {
JPH_ASSERT(inCoordinate < 16);
return mU8[inCoordinate]; }
69 JPH_INLINE
bool TestAnyTrue()
const;
72 JPH_INLINE
bool TestAllTrue()
const;
75 JPH_INLINE
int GetTrues()
const;
78 friend ostream & operator << (ostream &inStream,
BVec16Arg inV)
95static_assert(std::is_trivial<BVec16>(),
"Is supposed to be a trivial type!");
std::uint8_t uint8
Definition Core.h:482
std::uint64_t uint64
Definition Core.h:485
unsigned int uint
Definition Core.h:481
#define JPH_NAMESPACE_END
Definition Core.h:414
#define JPH_NAMESPACE_BEGIN
Definition Core.h:408
#define JPH_ASSERT(...)
Definition IssueReporting.h:33
#define JPH_OVERRIDE_NEW_DELETE
Macro to override the new and delete functions.
Definition Memory.h:31
A vector consisting of 16 bytes.
Definition BVec16.h:11
uint8 mU8[16]
Definition BVec16.h:90
BVec16()=default
Constructor.
JPH_INLINE BVec16(Type inRHS)
Definition BVec16.h:28
{ uint64 mData[2] Type
Definition BVec16.h:21
Type mValue
Definition BVec16.h:89
BVec16(const BVec16 &inRHS)=default