-
Notifications
You must be signed in to change notification settings - Fork 0
Home
#Overview libscriptobject is a C++ library allowing applications to store scriptable objects and arrays and expose them to embedded scripting engines.
libscriptobject stores the objects on your C++ application's heap not in the scripting engines heap, therefore it works very well when you have very large numbers of scriptable objects which would not normally fit inside the managed memory space of a scripting engine.
Unlike C++ types scriptable objects are created at runtime. They are self-describing allowing callers to discover the number of fields, their names and their types dynamically.
##Concepts libscriptobject can support complex hierarchies of objects and arrays. An object may consist of many named and typed value fields, it may consist of other objects or it may consist of arrays. Arrays can in turn hold values, objects and other arrays. In this way complex object hierarchies may be expressed and exposed to embedded scripting engines like V8, SpiderMonkey or Python.
Values are expressed as strings, integers, floats, booleans, nulls and undefined. Objects, arrays and values are generally immutable in libscriptobject with one exception. It is possible to change the value of a string field in an object or an array - within limitations. Otherwise objects or arrays must be cloned to be modified.
###Objects and arrays are self-describing In libscriptobject all objects and arrays expose members which allow callers to determine the number of fields, their types, their names and their values that they contain.
##Limitations Objects and arrays are immutable.