virtual void Eval(ptr_val_type &ret, const ptr_val_type *a_pArg, int a_iArgc) { ParserXBase &parser = *GetParent(); console() << _T("\nParser functions:\n"); console() << _T( "----------------\n"); fun_maptype fmap = parser.GetFunDef(); if (!fmap.size()) { console() << _T("No functions defined\n"); } else { val_maptype::iterator item = fmap.begin(); for (; item!=fmap.end(); ++item) { ICallback *pFun = (ICallback*)item->second.Get(); console() << pFun->GetDesc() << _T("\n"); } } *ret = (int)fmap.size(); }