//======================================================= int EpetraExt_HypreIJMatrix::SetParameter(Hypre_Chooser chooser, int (*pt2Func)(HYPRE_Solver, int*), int* parameter){ if(chooser == Preconditioner){ EPETRA_CHK_ERR(pt2Func(Preconditioner_, parameter)); } else { EPETRA_CHK_ERR(pt2Func(Solver_, parameter)); } return 0; } //SetParameter() - int* function pointer
void ImgEditWindow::bokehInvokeController(void* pt2Obj, void( pt2Func)(void* pt2Obj, CvPoint firstPt, CvPoint secondPt)) { pt2Func(pt2Obj, m_bokehFirstPt, m_bokehSecPt); needUpdateBokeh = false; }
void ImgEditWindow::vignetInvokeController(void* pt2Obj, void( pt2Func)(void* pt2Obj, CvPoint mousePt)) { pt2Func(pt2Obj, m_vignetPt); needUpdateVignet = false; }
float Switch_With_Function_Ptr(Params par, float(*pt2Func)(Params)) { // call using a function pointer float result = pt2Func(par); return result; }