12#ifndef ARCANE_UTILS_FUNCTOR_WITH_ADDRESS_H
13#define ARCANE_UTILS_FUNCTOR_WITH_ADDRESS_H
17#include "arcane/utils/IFunctorWithAddress.h"
65 void* functorAddress()
68#if defined(__x86_64__) && defined(ARCANE_OS_LINUX)
69 long unsigned int* func = (
long unsigned int*)&
m_function;
80 long unsigned int pfn = *func;
81 long unsigned int of7 = (pfn - 1) >> 3;
83 long unsigned int* module_vtable = (
long unsigned int*)((
long unsigned int*)&(*
m_object))[0];
89 return (
void*)module_vtable[of7];
FuncPtr m_function
Pointer to the associated method.
FunctorWithAddressT(T *object, FuncPtr funcptr)
Constructor.
void executeFunctor()
Executes the associated method.
T * m_object
Associated object.
void(T::* FuncPtr)()
Type of the method pointer.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --