2PL_ALWAYS_INLINE
const plExpressionByteCode::StorageType* plExpressionByteCode::GetByteCodeStart()
const
7PL_ALWAYS_INLINE
const plExpressionByteCode::StorageType* plExpressionByteCode::GetByteCodeEnd()
const
9 return m_pByteCode + m_uiByteCodeCount;
14 return plMakeArrayPtr(m_pByteCode, m_uiByteCodeCount);
17PL_ALWAYS_INLINE plUInt32 plExpressionByteCode::GetNumInstructions()
const
19 return m_uiNumInstructions;
22PL_ALWAYS_INLINE plUInt32 plExpressionByteCode::GetNumTempRegisters()
const
24 return m_uiNumTempRegisters;
29 return plMakeArrayPtr(m_pInputs, m_uiNumInputs);
34 return plMakeArrayPtr(m_pOutputs, m_uiNumOutputs);
39 return plMakeArrayPtr(m_pFunctions, m_uiNumFunctions);
43PL_ALWAYS_INLINE plExpressionByteCode::OpCode::Enum plExpressionByteCode::GetOpCode(
const StorageType*& ref_pByteCode)
45 plUInt32 uiOpCode = *ref_pByteCode;
47 return static_cast<OpCode::Enum
>((uiOpCode >= 0 && uiOpCode < OpCode::Count) ? uiOpCode : 0);
51PL_ALWAYS_INLINE plUInt32 plExpressionByteCode::GetRegisterIndex(
const StorageType*& ref_pByteCode)
53 plUInt32 uiIndex = *ref_pByteCode;
59PL_ALWAYS_INLINE
plExpression::Register plExpressionByteCode::GetConstant(
const StorageType*& ref_pByteCode)
68PL_ALWAYS_INLINE plUInt32 plExpressionByteCode::GetFunctionIndex(
const StorageType*& ref_pByteCode)
70 plUInt32 uiIndex = *ref_pByteCode;
76PL_ALWAYS_INLINE plUInt32 plExpressionByteCode::GetFunctionArgCount(
const StorageType*& ref_pByteCode)
78 plUInt32 uiArgCount = *ref_pByteCode;
This class encapsulates an array and it's size. It is recommended to use this class instead of plain ...
Definition ArrayPtr.h:37
A SIMD 4-component vector class of signed 32b integers.
Definition SimdVec4i.h:9
Definition ExpressionDeclarations.h:17