| # Gaudi Framework, version v21r7p1 |

Home |  | Generated: 15 Feb 2010

# Tuples.h

Go to the documentation of this file.

    00001 // $Id: Tuples.h,v 1.5 2006/03/09 10:28:15 hmd Exp $
    00002 // ============================================================================
    00003 #ifndef GAUDIALG_TUPLES_H
    00004 #define GAUDIALG_TUPLES_H 1
    00005 // ============================================================================
    00006 // GaudiAlg
    00007 // ============================================================================
    00008 #include "GaudiAlg/TupleObj.h"
    00009 // ============================================================================
    00010
    00018 namespace Tuples
    00019 {
    00020   class Tuple    ;
    00021   class TupleObj ;
    00022 } // end of namespace Tuples
    00023
    00024
    00025 namespace Tuples
    00026 {
    00034   template <class OBJECT,class ARGUMENT=double, class RESULT=double>
    00035   class _TupAdapter : public std::unary_function<ARGUMENT,RESULT>
    00036   {
    00037   public:
    00038     // constructor
    00039     _TupAdapter ( OBJECT object ) : m_object ( object ) {} ;
    00040   public:
    00042     inline RESULT operator() ( ARGUMENT arg ) const
    00043     { return m_object( arg )  ; }
    00044   private:
    00045     // default constructor is disabled
    00046     _TupAdapter();
    00047   private:
    00048     OBJECT m_object ;
    00049   };
    00050
    00079   template <class OBJECT>
    00080   inline _TupAdapter<OBJECT,double,double> useFun ( OBJECT object )
    00081   { return _TupAdapter<OBJECT,double,double>( object ) ; }
    00082
    00083 } // end of namespace Tuples
    00084
    00085 #endif // GAUDIALG_TUPLES_H