Class jac::FunctionFactory
ClassList > jac > FunctionFactory
Various methods for wrapping C++ functions into javascript functions. More...
#include <functionFactory.h>
Public Functions
Type | Name |
---|---|
FunctionFactory (ContextRef context) |
|
Function | newFunction (Func func) Wraps a C++ function into a javascript function object. |
Function | newFunctionThis (Func func) Wraps a C++ function into a javascript function object. |
Function | newFunctionThisVariadic (Func func) Wraps a C++ function into a javascript function object. |
Function | newFunctionVariadic (Func func) Wraps a C++ function into a javascript function object. |
Detailed Description
About exceptions propagation:
When jac::Exception is thrown, the wrapped value or given error type is thrown. When std::exception is thrown, an InternalError is thrown. When any other exception is thrown, an InternalError is thrown with the message "unknown error".
Public Functions Documentation
function FunctionFactory
function newFunction
Wraps a C++ function into a javascript function object.
The expected signature of the function object is Res(Args...). Arguments and the result of the function call are automatically converted to and from javascript values. Exceptions thrown within the function are automatically propagated to the javascript side.
Template parameters:
Func
type of the function to be wrapped
Parameters:
func
the function object to be wrapped
Returns:
The created function object
function newFunctionThis
Wraps a C++ function into a javascript function object.
The expected signature of the function object is Res(ContextRef, ValueWeak, Args...). Arguments and the result of the function call are automatically converted to and from javascript values. Exceptions thrown within the function are automatically propagated to the javascript side.
Template parameters:
Func
type of the function to be wrapped
Parameters:
func
the function object to be wrapped
Returns:
The created function object
function newFunctionThisVariadic
Wraps a C++ function into a javascript function object.
The expected signature of the function object is Res(ContextRef, ValueWeak, std::vector<ValueWeak>). The vector will contain all arguments passed to the function. The the result of the function call is automatically converted from a javascript value. Exceptions thrown within the function are automatically propagated to the javascript side.
Template parameters:
Func
type of the function to be wrapped
Parameters:
func
the function object to be wrapped
Returns:
The created function object
function newFunctionVariadic
Wraps a C++ function into a javascript function object.
The expected signature of the function object is Res(std::vector<ValueWeak>). The vector will contain all arguments passed to the function. The result of the function call is automatically converted from a javascript value. Exceptions thrown within the function are automatically propagated to the javascript side.
Template parameters:
Func
type of the function to be wrapped
Parameters:
func
the function object to be wrapped
Returns:
The created function object
The documentation for this class was generated from the following file src/jac/machine/functionFactory.h