#include "init.hpp" //****************** //* Global objects * //****************** Gomu::Type* type_PermutationA; Gomu::Type* type_PermutationB; Gomu::Type* type_PermutationD; Gomu::Type* type_PermutationEnumeratorA; Gomu::Type* type_PermutationEnumeratorB; Gomu::Type* type_PermutationEnumeratorD; //************************* //* Extension inilisation * //************************* extern "C"{ Gomu::Module::Type types[]={ {"PermutationA",Permutations::dispPerm,Permutations::delPerm,Permutations::copyPerm,Permutations::cmpPerm,&type_PermutationA}, {"PermutationB",Permutations::dispPerm,Permutations::delPerm,Permutations::copyPerm,Permutations::cmpPerm,&type_PermutationB}, {"PermutationD",Permutations::dispPerm,Permutations::delPerm,Permutations::copyPerm,Permutations::cmpPerm,&type_PermutationD}, {"PermutationEnumeratorA",Permutations::dispPermE,Permutations::delPermE,Permutations::copyPermE,Permutations::cmpPermE,&type_PermutationEnumeratorA}, {"PermutationEnumeratorB",Permutations::dispPermE,Permutations::delPermE,Permutations::copyPermE,Permutations::cmpPermE,&type_PermutationEnumeratorB}, {"PermutationEnumeratorD",Permutations::dispPermE,Permutations::delPermE,Permutations::copyPermE,Permutations::cmpPermE,&type_PermutationEnumeratorD}, TYPE_SENTINEL }; //--- Functions ---// Gomu::Module::Function functions[]={ {"PermutationA","permutationA",{"Integer"},(void*)Permutations::intToPerm}, {"PermutationB","permutationB",{"Integer"},(void*)Permutations::intToPerm}, {"PermutationD","permutationD",{"Integer"},(void*)Permutations::intToPerm}, {"PermutationEnumeratorA","permutationEnumeratorA",{"Integer"},(void*)Permutations::intToPermE}, {"PermutationEnumeratorB","permutationEnumeratorB",{"Integer"},(void*)Permutations::intToPermE}, {"PermutationEnumeratorD","permutationEnumeratorD",{"Integer"},(void*)Permutations::intToPermE}, FUNC_SENTINEL }; //--- Member functions ---// Gomu::Module::Function member_functions[]={ //--- PermutationEnumertor ---// {"PermutationA","get",{"PermutationEnumeratorA"},(void*)Permutations::PE_get}, {"PermutationB","get",{"PermutationEnumeratorB"},(void*)Permutations::PE_get}, {"PermutationD","get",{"PermutationEnumeratorD"},(void*)Permutations::PE_get}, {"Boolean","next",{"PermutationEnumeratorA"},(void*)Permutations::PE_next}, {"Boolean","next",{"PermutationEnumeratorB"},(void*)Permutations::PE_next}, {"Boolean","next",{"PermutationEnumeratorD"},(void*)Permutations::PE_next}, {"Void","reset",{"PermutationEnumeratorA"},(void*)Permutations::PE_reset}, {"Void","reset",{"PermutationEnumeratorB"},(void*)Permutations::PE_reset}, {"Void","reset",{"PermutationEnumeratorD"},(void*)Permutations::PE_reset}, {"Integer","size",{"PermutationEnumeratorA"},(void*)Permutations::PE_size}, {"Integer","size",{"PermutationEnumeratorB"},(void*)Permutations::PE_size}, {"Integer","size",{"PermutationEnumeratorD"},(void*)Permutations::PE_size}, FUNC_SENTINEL }; }