// @(#)root/reflex:$Id$ // Author: Stefan Roiser 2004 // Copyright CERN, CH-1211 Geneva 23, 2004-2006, All rights reserved. // // Permission to use, copy, modify, and distribute this software for any // purpose is hereby granted without fee, provided that this copyright and // permissions notice appear in all copies and derivatives. // // This software is provided "as is" without express or implied warranty. #ifndef Reflex_FuncHandler #define Reflex_FuncHandler // Include files #include "Reflex/Kernel.h" #include namespace Reflex { class FuncHandler { public: template static const std::string DemangleFunRetType(R (C::*)()); template static const std::string DemangleFunRetType(R (C::*)(T0)); template static const std::string DemangleFunRetType(R (C::*)(T0, T1)); template static const std::string DemangleFunRetType(R (C::*)(T0, T1, T2)); template static const std::string DemangleFunRetType(R (C::*)(T0, T1, T2, T3)); template static const std::string DemangleFunRetType(R (C::*)(T0, T1, T2, T3, T4)); template static const std::string DemangleFunParTypes(R (C::*)()); template static const std::string DemangleFunParTypes(R (C::*)(T0)); template static const std::string DemangleFunParTypes(R (C::*)(T0, T1)); template static const std::string DemangleFunParTypes(R (C::*)(T0, T1, T2)); template static const std::string DemangleFunParTypes(R (C::*)(T0, T1, T2, T3)); template static const std::string DemangleFunParTypes(R (C::*)(T0, T1, T2, T3, T4)); template static const std::string DemangleFunRetType(R(*) ()); template static const std::string DemangleFunRetType(R(*) (T0)); template static const std::string DemangleFunRetType(R(*) (T0, T1)); template static const std::string DemangleFunRetType(R(*) (T0, T1, T2)); template static const std::string DemangleFunRetType(R(*) (T0, T1, T2, T3)); template static const std::string DemangleFunRetType(R(*) (T0, T1, T2, T3, T4)); template static const std::string DemangleFunParTypes(R(*) ()); template static const std::string DemangleFunParTypes(R(*) (T0)); template static const std::string DemangleFunParTypes(R(*) (T0, T1)); template static const std::string DemangleFunParTypes(R(*) (T0, T1, T2)); template static const std::string DemangleFunParTypes(R(*) (T0, T1, T2, T3)); template static const std::string DemangleFunParTypes(R(*) (T0, T1, T2, T3, T4)); }; // class FuncHandler } // namespace Reflex #endif // Reflex_FuncHandler