From f173041811398817ffce870d30ef3b87d1302736 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Sun, 20 Apr 2008 15:47:11 +0000 Subject: - moved kyra functor code to common/func.h - adapted debugger code to use functor code from common/func.h - adapted kyra engine to use functor code from common/func.h svn-id: r31614 --- engines/kyra/util.h | 114 ---------------------------------------------------- 1 file changed, 114 deletions(-) delete mode 100644 engines/kyra/util.h (limited to 'engines/kyra/util.h') diff --git a/engines/kyra/util.h b/engines/kyra/util.h deleted file mode 100644 index 78925441f3..0000000000 --- a/engines/kyra/util.h +++ /dev/null @@ -1,114 +0,0 @@ -/* ScummVM - Graphic Adventure Engine - * - * ScummVM is the legal property of its developers, whose names - * are too numerous to list here. Please refer to the COPYRIGHT - * file distributed with this source distribution. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * $URL$ - * $Id$ - * - */ - -#ifndef KYRA_UTIL_H -#define KYRA_UTIL_H - -#include "common/func.h" - -namespace Kyra { - -template -struct Functor0 { - virtual ~Functor0() {} - - virtual bool isValid() const = 0; - virtual Res operator()() const = 0; -}; - -template -class Functor0Mem : public Functor0 { -public: - typedef Res (T::*FuncType)(); - - Functor0Mem(T *t, const FuncType &func) : _t(t), _func(func) {} - - bool isValid() const { return _func != 0; } - Res operator()() const { - return (_t->*_func)(); - } -private: - mutable T *_t; - Res (T::*_func)(); -}; - -template -struct Functor1 : public Common::UnaryFunction { - virtual ~Functor1() {} - - virtual bool isValid() const = 0; - virtual Res operator()(Arg) const = 0; -}; - -template -class Functor1Mem : public Functor1 { -public: - typedef Res (T::*FuncType)(Arg); - - Functor1Mem(T *t, const FuncType &func) : _t(t), _func(func) {} - - bool isValid() const { return _func != 0; } - Res operator()(Arg v1) const { - return (_t->*_func)(v1); - } -private: - mutable T *_t; - Res (T::*_func)(Arg); -}; - -template -struct Functor2 : public Common::BinaryFunction { - virtual ~Functor2() {} - - virtual bool isValid() const = 0; - virtual Res operator()(Arg1, Arg2) const = 0; -}; - -template -class Functor2Mem : public Functor2 { -public: - typedef Res (T::*FuncType)(Arg1, Arg2); - - Functor2Mem(T *t, const FuncType &func) : _t(t), _func(func) {} - - bool isValid() const { return _func != 0; } - Res operator()(Arg1 v1, Arg2 v2) const { - return (_t->*_func)(v1, v2); - } -private: - mutable T *_t; - Res (T::*_func)(Arg1, Arg2); -}; - -struct ScriptState; -typedef Functor1 Opcode; - -struct TIM; -typedef Functor2 TIMOpcode; - -} // end of namespace Kyra - -#endif - -- cgit v1.2.3