Pyrogenesis HEAD
Pyrogenesis, a RTS Engine
CBinarySerializerScriptImpl Class Reference

PutScriptVal implementation details. More...

#include <BinarySerializer.h>

Collaboration diagram for CBinarySerializerScriptImpl:

Public Member Functions

 CBinarySerializerScriptImpl (const ScriptInterface &scriptInterface, ISerializer &serializer)
 
 ~CBinarySerializerScriptImpl ()
 
void ScriptString (const char *name, JS::HandleString string)
 
void HandleScriptVal (JS::HandleValue val)
 

Private Types

using ObjectTagMap = JS::GCHashMap< JS::Heap< JSObject * >, u32, js::MovableCellHasher< JSObject * >, js::SystemAllocPolicy >
 

Private Member Functions

u32 GetScriptBackrefTag (JS::HandleObject obj)
 

Static Private Member Functions

static void Trace (JSTracer *trc, void *data)
 

Private Attributes

const ScriptInterfacem_ScriptInterface
 
ISerializerm_Serializer
 
ObjectTagMap m_ScriptBackrefTags
 
u32 m_ScriptBackrefsNext
 

Detailed Description

PutScriptVal implementation details.

(Split out from the main class because it's too big to be inlined.)

Member Typedef Documentation

◆ ObjectTagMap

using CBinarySerializerScriptImpl::ObjectTagMap = JS::GCHashMap<JS::Heap<JSObject*>, u32, js::MovableCellHasher<JSObject*>, js::SystemAllocPolicy>
private

Constructor & Destructor Documentation

◆ CBinarySerializerScriptImpl()

CBinarySerializerScriptImpl::CBinarySerializerScriptImpl ( const ScriptInterface scriptInterface,
ISerializer serializer 
)

◆ ~CBinarySerializerScriptImpl()

CBinarySerializerScriptImpl::~CBinarySerializerScriptImpl ( )

Member Function Documentation

◆ GetScriptBackrefTag()

u32 CBinarySerializerScriptImpl::GetScriptBackrefTag ( JS::HandleObject  obj)
private

◆ HandleScriptVal()

void CBinarySerializerScriptImpl::HandleScriptVal ( JS::HandleValue  val)

◆ ScriptString()

void CBinarySerializerScriptImpl::ScriptString ( const char *  name,
JS::HandleString  string 
)

◆ Trace()

void CBinarySerializerScriptImpl::Trace ( JSTracer *  trc,
void *  data 
)
staticprivate

Member Data Documentation

◆ m_ScriptBackrefsNext

u32 CBinarySerializerScriptImpl::m_ScriptBackrefsNext
private

◆ m_ScriptBackrefTags

ObjectTagMap CBinarySerializerScriptImpl::m_ScriptBackrefTags
private

◆ m_ScriptInterface

const ScriptInterface& CBinarySerializerScriptImpl::m_ScriptInterface
private

◆ m_Serializer

ISerializer& CBinarySerializerScriptImpl::m_Serializer
private

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