Fennel: FunctorExtendedInstructionDef< T > Class Template Reference (original) (raw)
Definition of an extended instruction based upon a functor. More...
#include <[ExtendedInstruction.h](ExtendedInstruction%5F8h-source.html)>
Inheritance diagram for FunctorExtendedInstructionDef< T >:

| Public Member Functions | |
|---|---|
| ExtendedInstruction * | createInstruction (vector< RegisterReference * > const ®s) |
| Creates an instruction of this type which references a particular set of registers. | |
| string | getName () |
| Returns the name of this instruction. | |
| const vector< StandardTypeDescriptorOrdinal > & | getParameterTypes () |
| Returns the parameter types of this instruction. | |
| string | getSignature () const |
| Returns the signature of this instruction. | |
| Public Attributes | |
| T::Functor | _functor |
| Protected Member Functions | |
| FunctorExtendedInstructionDef (string const &name, vector< StandardTypeDescriptorOrdinal > const ¶meterTypes, typename T::Functor functor) | |
| Creates a FunctorExtendedInstructionDef. | |
| Protected Attributes | |
| string | _name |
| vector< StandardTypeDescriptorOrdinal > | _parameterTypes |
| string | _signature |
| Friends | |
| class | ExtendedInstructionTable |
Detailed Description
template
class FunctorExtendedInstructionDef< T >
Definition of an extended instruction based upon a functor.
Template parameter 'T' must be a type such as ExtendedInstruction2<int,double>. It must have a type T:Functor.
Definition at line 115 of file ExtendedInstruction.h.
Constructor & Destructor Documentation
Member Function Documentation
Creates an instruction of this type which references a particular set of registers.
The registers supplied must be the same number and type as the registers supported by the function.
Implements ExtendedInstructionDef.
Definition at line 138 of file ExtendedInstruction.h.
00140 { 00141 return T::create(*this,regs); 00142 }
| string ExtendedInstructionDef::getName | ( | | ) | [inline, inherited] | | -------------------------------------- | - | | - | --------------------- |
| string ExtendedInstructionDef::getSignature | ( | | ) | const [inline, inherited] | | ------------------------------------------- | - | | - | --------------------------- |
Returns the signature of this instruction.
The signature is always of the form "(,,...)", for example "substr(ptr,ptr,int,intr)". The signature is used to identify instructions in an ExtendedInstructionTable, and in assembly language instructions such as "CALL 'substr(ptr,ptr,int,ptr) &0, &1, &2, &3".
Definition at line 91 of file ExtendedInstruction.h.
Referenced by ExtendedInstructionTable::add(), ExtendedInstruction5Context< T0, T1, T2, T3, T4 >::describe(), ExtendedInstruction5< T0, T1, T2, T3, T4 >::describe(), ExtendedInstruction4Context< T0, T1, T2, T3 >::describe(), ExtendedInstruction4< T0, T1, T2, T3 >::describe(), ExtendedInstruction3Context< T0, T1, T2 >::describe(), ExtendedInstruction3< T0, T1, T2 >::describe(), ExtendedInstruction2Context< T0, T1 >::describe(), ExtendedInstruction2< T0, T1 >::describe(), ExtendedInstruction1Context< T0 >::describe(), and ExtendedInstruction1< T0 >::describe().
Friends And Related Function Documentation
Member Data Documentation
Definition at line 135 of file ExtendedInstruction.h.
Referenced by ExtendedInstruction5Context< T0, T1, T2, T3, T4 >::exec(), ExtendedInstruction5< T0, T1, T2, T3, T4 >::exec(), ExtendedInstruction4Context< T0, T1, T2, T3 >::exec(), ExtendedInstruction4< T0, T1, T2, T3 >::exec(), ExtendedInstruction3Context< T0, T1, T2 >::exec(), ExtendedInstruction3< T0, T1, T2 >::exec(), ExtendedInstruction2Context< T0, T1 >::exec(), ExtendedInstruction2< T0, T1 >::exec(), ExtendedInstruction1Context< T0 >::exec(), and ExtendedInstruction1< T0 >::exec().
The documentation for this class was generated from the following file:
- /home/pub/open/dev/fennel/calculator/ExtendedInstruction.h
