ReturnInstructionRegister Class Reference

#include <ReturnInstruction.h>

Inheritance diagram for ReturnInstructionRegister:

InstructionRegister List of all members.

Static Public Member Functions

static void registerInstructions ()

Static Private Member Functions

template<typename TYPE1, template< typename > class INSTCLASS>
static void registerInstance (StandardTypeDescriptorOrdinal type)
template<typename IGNOREDDATATYPE, class INSTCLASS>
static void registerInstance (StandardTypeDescriptorOrdinal type)
template<typename TYPE1, typename TYPE2, template< typename, typename > class INSTCLASS>
static void registerInstance2 (StandardTypeDescriptorOrdinal type1, StandardTypeDescriptorOrdinal type2)

Detailed Description

Definition at line 143 of file ReturnInstruction.h.


Member Function Documentation

static void ReturnInstructionRegister::registerInstructions (  )  [inline, static]

Definition at line 147 of file ReturnInstruction.h.

References InstructionSignature::compute(), ReturnInstruction::create(), InstructionFactory::getInstructionTable(), InstructionRegister::registerInstance(), ReturnInstruction::signature(), and STANDARD_TYPE_VARCHAR.

Referenced by InstructionFactory::registerInstructions().

00148     {
00149         // Shortcut registration system, as there are neither args nor types.
00150         StringToCreateFn* instMap = InstructionFactory::getInstructionTable();
00151         (*instMap)[ReturnInstruction::signature().compute()] =
00152             &ReturnInstruction::create;
00153 
00154         // Again, shortcut for RAISE, which has simple needs
00155         InstructionRegister::registerInstance
00156             < char*, fennel::RaiseInstruction >
00157             (STANDARD_TYPE_VARCHAR);
00158     }

template<typename TYPE1, template< typename > class INSTCLASS>
static void InstructionRegister::registerInstance ( StandardTypeDescriptorOrdinal  type  )  [inline, static, protected, inherited]

Definition at line 139 of file Instruction.h.

References InstructionFactory::getInstructionTable().

Referenced by registerInstructions().

00140     {
00141         StringToCreateFn* instMap = InstructionFactory::getInstructionTable();
00142         (*instMap)[INSTCLASS<TYPE1>::signature(type).compute()] =
00143             &INSTCLASS<TYPE1>::create;
00144     }

template<typename IGNOREDDATATYPE, class INSTCLASS>
static void InstructionRegister::registerInstance ( StandardTypeDescriptorOrdinal  type  )  [inline, static, protected, inherited]

Definition at line 161 of file Instruction.h.

References InstructionFactory::getInstructionTable().

00162     {
00163         StringToCreateFn* instMap = InstructionFactory::getInstructionTable();
00164         (*instMap)[INSTCLASS::signature(type).compute()] =
00165             &INSTCLASS::create;
00166     }

template<typename TYPE1, typename TYPE2, template< typename, typename > class INSTCLASS>
static void InstructionRegister::registerInstance2 ( StandardTypeDescriptorOrdinal  type1,
StandardTypeDescriptorOrdinal  type2 
) [inline, static, protected, inherited]

Definition at line 150 of file Instruction.h.

References InstructionFactory::getInstructionTable().

00153     {
00154         StringToCreateFn* instMap = InstructionFactory::getInstructionTable();
00155         (*instMap)[INSTCLASS<TYPE1,TYPE2>::signature(type1, type2).compute()] =
00156             &INSTCLASS<TYPE1,TYPE2>::create;
00157     }


The documentation for this class was generated from the following file:
Generated on Mon Jun 22 04:00:45 2009 for Fennel by  doxygen 1.5.1