12#ifndef ARCANE_UTILS_FUNCTOR_WITH_ADDRESS_H
13#define ARCANE_UTILS_FUNCTOR_WITH_ADDRESS_H
17#include "arcane/utils/IFunctorWithAddress.h"
64#if defined(__x86_64__) && defined(ARCANE_OS_LINUX)
65 long unsigned int *func=(
long unsigned int*)&
m_function;
76 long unsigned int pfn=*func;
77 long unsigned int of7=(pfn-1)>>3;
79 long unsigned int *module_vtable=(
long unsigned int*)((
long unsigned int*)&(*
m_object))[0];
85 return (
void*) module_vtable[of7];
FunctorWithAddress associé à une méthode d'une classe T.
FuncPtr m_function
Pointeur vers la méthode associée.
FunctorWithAddressT(T *object, FuncPtr funcptr)
Constructeur.
void executeFunctor()
Exécute la méthode associé
T * m_object
Objet associé.
void(T::* FuncPtr)()
Type du pointeur sur la méthode.
void * functorAddress()
Retourne l'adresse de la méthode associé.