| 
    PLearn 0.1 
   | 
 
Trampoline for a non-void non-const 6-argument method. More...
#include <RemoteTrampoline.h>


Public Types | |
| enum | { expected_nargs = 6 } | 
| typedef RemoteTrampoline | inherited | 
| typedef R(T::* | MethodType )(A1, A2, A3, A4, A5, A6) | 
Public Member Functions | |
| RemoteTrampoline_6 (const string &methodname, const RemoteMethodDoc &doc, MethodType m, const flag_t &flgs=0) | |
| virtual void | call (Object *instance, int nargs, PStream &io) const | 
| Perform the act of binding arguments on a stream with an object instance.   | |
Protected Attributes | |
| MethodType | m_method | 
Trampoline for a non-void non-const 6-argument method.
Definition at line 797 of file RemoteTrampoline.h.
| typedef RemoteTrampoline PLearn::RemoteTrampoline_6< T, R, A1, A2, A3, A4, A5, A6 >::inherited | 
Definition at line 799 of file RemoteTrampoline.h.
| typedef R(T::* PLearn::RemoteTrampoline_6< T, R, A1, A2, A3, A4, A5, A6 >::MethodType)(A1, A2, A3, A4, A5, A6) | 
Definition at line 801 of file RemoteTrampoline.h.
| anonymous enum | 
Definition at line 800 of file RemoteTrampoline.h.
{ expected_nargs = 6 };
| PLearn::RemoteTrampoline_6< T, R, A1, A2, A3, A4, A5, A6 >::RemoteTrampoline_6 | ( | const string & | methodname, | 
| const RemoteMethodDoc & | doc, | ||
| MethodType | m, | ||
| const flag_t & | flgs = 0  | 
        ||
| ) |  [inline] | 
        
| virtual void PLearn::RemoteTrampoline_6< T, R, A1, A2, A3, A4, A5, A6 >::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 813 of file RemoteTrampoline.h.
References PLearn::RemoteTrampoline::checkNargs(), PLearn::RemoteTrampoline_0< T, R >::expected_nargs, PLearn::RemoteTrampoline_0< T, R >::m_method, PLearn::RemoteTrampoline::sendRemoteMethodResult(), and TRAMPOLINE_TYPE.
    {
        checkNargs(nargs, expected_nargs);
        TRAMPOLINE_TYPE(A1) a1;  io >> a1;
        TRAMPOLINE_TYPE(A2) a2;  io >> a2;
        TRAMPOLINE_TYPE(A3) a3;  io >> a3;
        TRAMPOLINE_TYPE(A4) a4;  io >> a4;
        TRAMPOLINE_TYPE(A5) a5;  io >> a5;
        TRAMPOLINE_TYPE(A6) a6;  io >> a6;
        TRAMPOLINE_TYPE(R) r = (as<T>(instance)->*m_method)(a1,a2,a3,a4,a5,a6);
        sendRemoteMethodResult(io, r);
    }

MethodType PLearn::RemoteTrampoline_6< T, R, A1, A2, A3, A4, A5, A6 >::m_method [protected] | 
        
Definition at line 842 of file RemoteTrampoline.h.
 1.7.4