|
PLearn 0.1
|
Trampolines for functions. More...
#include <RemoteTrampoline.h>


Public Types | |
| enum | { expected_nargs = 0 } |
| typedef RemoteTrampoline | inherited |
| typedef R(* | FunctionType )() |
Public Member Functions | |
| FRemoteTrampoline_0 (const string &functionname, const RemoteMethodDoc &doc, FunctionType m, const flag_t &flgs=0) | |
| virtual void | call (Object *nullinstance, int nargs, PStream &io) const |
| Perform the act of binding arguments on a stream with an object instance. | |
Protected Attributes | |
| FunctionType | m_function |
Trampolines for functions.
Trampoline for a non-void 0-argument function
Definition at line 911 of file RemoteTrampoline.h.
| typedef R(* PLearn::FRemoteTrampoline_0< R >::FunctionType)() |
Definition at line 915 of file RemoteTrampoline.h.
| typedef RemoteTrampoline PLearn::FRemoteTrampoline_0< R >::inherited |
Definition at line 913 of file RemoteTrampoline.h.
| anonymous enum |
Definition at line 914 of file RemoteTrampoline.h.
{ expected_nargs = 0 };
| PLearn::FRemoteTrampoline_0< R >::FRemoteTrampoline_0 | ( | const string & | functionname, |
| const RemoteMethodDoc & | doc, | ||
| FunctionType | m, | ||
| const flag_t & | flgs = 0 |
||
| ) | [inline] |
Definition at line 917 of file RemoteTrampoline.h.
: inherited(functionname, (doc, RTYPE_DOC(R)), flgs), m_function(m) { }
| virtual void PLearn::FRemoteTrampoline_0< R >::call | ( | Object * | instance, |
| int | nargs, | ||
| PStream & | io | ||
| ) | const [inline, virtual] |
Perform the act of binding arguments on a stream with an object instance.
The actual number of arguments is passed only for error-checking, since the trampoline knows the number of arguments that it is expecting. If this is used to call a global function or a static method that was declared with declareFunction, instead of a regular method declared with declareMethod, then the instance argument is ignored (and should be passed 0 by convention).
Implements PLearn::RemoteTrampoline.
Definition at line 925 of file RemoteTrampoline.h.
References PLearn::RemoteTrampoline::checkNargs(), PLearn::RemoteTrampoline_0< T, R >::expected_nargs, PLearn::RemoteTrampoline::sendRemoteMethodResult(), and TRAMPOLINE_TYPE.
{
checkNargs(nargs, expected_nargs);
TRAMPOLINE_TYPE(R) r = (*m_function)();
sendRemoteMethodResult(io, r);
}

FunctionType PLearn::FRemoteTrampoline_0< R >::m_function [protected] |
Definition at line 943 of file RemoteTrampoline.h.
1.7.4