Plasma Engine  2.0
Loading...
Searching...
No Matches
plExpressionByteCode Class Reference

Classes

struct  OpCode
 

Public Types

using StorageType = plUInt32
 

Public Member Functions

 plExpressionByteCode (const plExpressionByteCode &other)
 
void operator= (const plExpressionByteCode &other)
 
bool operator== (const plExpressionByteCode &other) const
 
bool operator!= (const plExpressionByteCode &other) const
 
void Clear ()
 
bool IsEmpty () const
 
const StorageType * GetByteCodeStart () const
 
const StorageType * GetByteCodeEnd () const
 
plArrayPtr< const StorageType > GetByteCode () const
 
plUInt32 GetNumInstructions () const
 
plUInt32 GetNumTempRegisters () const
 
plArrayPtr< const plExpression::StreamDescGetInputs () const
 
plArrayPtr< const plExpression::StreamDescGetOutputs () const
 
plArrayPtr< const plExpression::FunctionDescGetFunctions () const
 
void Disassemble (plStringBuilder &out_sDisassembly) const
 
plResult Save (plStreamWriter &inout_stream) const
 
plResult Load (plStreamReader &inout_stream, plByteArrayPtr externalMemory=plByteArrayPtr())
 
plConstByteBlobPtr GetDataBlob () const
 

Static Public Member Functions

static OpCode::Enum GetOpCode (const StorageType *&ref_pByteCode)
 
static plUInt32 GetRegisterIndex (const StorageType *&ref_pByteCode)
 
static plExpression::Register GetConstant (const StorageType *&ref_pByteCode)
 
static plUInt32 GetFunctionIndex (const StorageType *&ref_pByteCode)
 
static plUInt32 GetFunctionArgCount (const StorageType *&ref_pByteCode)
 

Friends

class plExpressionCompiler
 

The documentation for this class was generated from the following files: