summaryrefslogtreecommitdiff
path: root/tools/functorimpl.h
diff options
context:
space:
mode:
authorcvs2svn <admin@example.com>2009-10-21 00:02:02 +0000
committercvs2svn <admin@example.com>2009-10-21 00:02:02 +0000
commit97a97ca3358eb48de3eb7a222e487e800566569f (patch)
tree97c920d0225a1c9773a3bce2207f261d7d230123 /tools/functorimpl.h
parenta61961358c5a2ec92340b3f8e056bab55438f103 (diff)
downloadxineliboutput-CVS.tar.gz
xineliboutput-CVS.tar.bz2
This commit was manufactured by cvs2svn to create branch 'CVS'.CVS
Diffstat (limited to 'tools/functorimpl.h')
-rw-r--r--tools/functorimpl.h150
1 files changed, 0 insertions, 150 deletions
diff --git a/tools/functorimpl.h b/tools/functorimpl.h
deleted file mode 100644
index 2d3504e6..00000000
--- a/tools/functorimpl.h
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * functorimpl.h:
- *
- * See the main source file 'xineliboutput.c' for copyright information and
- * how to reach the author.
- *
- * $Id: functorimpl.h,v 1.1 2006-08-24 23:25:07 phintuka Exp $
- *
- */
-
-#ifndef __XINELIB_FUNCTORIMPL_H
-
-#ifndef __XINELIB_FUNCTOR_H
-# error functorimpl.h should not be included, use functor.h instead
-#endif
-
-#if 1 /* gcc 3.3.x (?) does not accept class TRESULT=void */
-template <class TCLASS>
-class cFunctor0 : public cFunctor {
-
- public:
- protected:
-
- typedef void (TCLASS::*TFUNC)(void);
-
- cFunctor0(TCLASS *obj, TFUNC f) : m_obj(obj), m_f(f) {}
- virtual ~cFunctor0() {};
-
- virtual void Execute(void)
- {
- (*m_obj.*m_f)();
- }
-
- private:
- TCLASS *m_obj;
- TFUNC m_f;
-
- friend cFunctor *CreateFunctor<TCLASS>(TCLASS*,TFUNC);
-};
-
-template <class TCLASS, class TARG1>
-class cFunctor1 : public cFunctor {
-
- public:
-
- protected:
- typedef void (TCLASS::*TFUNC)(TARG1);
-
- cFunctor1(TCLASS *obj, TFUNC f, TARG1 arg1) :
- m_obj(obj), m_f(f), m_arg1(arg1) {}
- virtual ~cFunctor1() {};
-
- virtual void Execute(void)
- {
- (*m_obj.*m_f)(m_arg1);
- }
-
- private:
- TCLASS *m_obj;
- TFUNC m_f;
- TARG1 m_arg1;
-
- friend cFunctor *CreateFunctor<TCLASS,TARG1>(TCLASS*,TFUNC,TARG1);
-};
-#endif
-
-template <class TCLASS, class TRESULT>
-class cFunctorR0 : public cFunctor {
-
- public:
- protected:
-
- typedef TRESULT (TCLASS::*TFUNC)(void);
-
- cFunctorR0(TCLASS *obj, TFUNC f) : m_obj(obj), m_f(f) {}
- virtual ~cFunctorR0() {};
-
- virtual void Execute(void)
- {
- // TODO: use future to pass back value
- (void) (*m_obj.*m_f)();
- }
-
- private:
- TCLASS *m_obj;
- TFUNC m_f;
-
- friend cFunctor *CreateFunctor<TCLASS,TRESULT>(TCLASS*,TFUNC);
-};
-
-template <class TCLASS, class TRESULT, class TARG1>
-class cFunctorR1 : public cFunctor {
-
- public:
- protected:
-
- typedef TRESULT (TCLASS::*TFUNC)(TARG1);
-
- cFunctorR1(TCLASS *obj, TFUNC f, TARG1 arg1) :
- m_obj(obj), m_f(f), m_arg1(arg1) {}
- virtual ~cFunctorR1() {};
-
- virtual void Execute(void)
- {
- // TODO: use future to pass back value
- (void) (*m_obj.*m_f)(m_arg1);
- }
-
- private:
- TCLASS *m_obj;
- TFUNC m_f;
- TARG1 m_arg1;
-
- friend cFunctor *CreateFunctor<TCLASS,TRESULT>(TCLASS*,TFUNC,TARG1);
-};
-
-#if 1 /* gcc 3.3.x (?) does not accept class TRESULT=void */
-template<class TCLASS>
-cFunctor *CreateFunctor(TCLASS *c,
- void (TCLASS::*fp)(void))
-{
- return new cFunctor0<TCLASS>(c, fp);
-}
-
-template<class TCLASS, class TARG1>
-cFunctor *CreateFunctor(TCLASS *c,
- void (TCLASS::*fp)(TARG1),
- TARG1 arg1)
-{
- return new cFunctor1<TCLASS,TARG1>(c, fp, arg1);
-}
-#endif
-
-template<class TCLASS, class TRESULT>
-cFunctor *CreateFunctor(TCLASS *c,
- TRESULT (TCLASS::*fp)(void))
-{
- return new cFunctorR0<TCLASS,TRESULT>(c, fp);
-}
-
-template<class TCLASS, class TRESULT, class TARG1>
-cFunctor *CreateFunctor(TCLASS *c,
- TRESULT (TCLASS::*fp)(TARG1),
- TARG1 arg1)
-{
- return new cFunctorR1<TCLASS,TRESULT,TARG1>(c, fp, arg1);
-}
-
-
-#endif