PSEvt/include/TypeInfoUtils.h

Go to the documentation of this file.
00001 #ifndef PSEVT_TYPEINFOUTILS_H
00002 #define PSEVT_TYPEINFOUTILS_H
00003 
00004 //--------------------------------------------------------------------------
00005 // File and Version Information:
00006 //      $Id: 
00007 //
00008 // Description:
00009 //      Class TypeInfoUtils
00010 //
00011 //------------------------------------------------------------------------
00012 
00013 //-----------------
00014 // C/C++ Headers --
00015 //-----------------
00016 #include <string>
00017 #include <typeinfo>
00018 
00019 //----------------------
00020 // Base Class Headers --
00021 //----------------------
00022 
00023 //-------------------------------
00024 // Collaborating Class Headers --
00025 //-------------------------------
00026 
00027 //------------------------------------
00028 // Collaborating Class Declarations --
00029 //------------------------------------
00030 
00031 //              ---------------------
00032 //              -- Class Interface --
00033 //              ---------------------
00034 
00035 namespace PSEvt {
00036 
00037 /**
00038  *  @ingroup PSEvt
00039  *  
00040  *  @brief Class with utility functions to manipulate C++ type_info.
00041  *
00042  *  @see EventKey
00043  *
00044  *  @version \$Id:
00045  *
00046  *  @author David Schneider
00047  */
00048 
00049 namespace TypeInfoUtils {
00050 
00051 // less for type_info *, can use for std::map  
00052 class lessTypeInfoPtr { 
00053  public: 
00054   bool operator()(const std::type_info *a, const std::type_info *b) const { 
00055     return a->before( *b); 
00056   } 
00057 }; 
00058 
00059 std::string typeInfoRealName(const std::type_info *);
00060 
00061 } // namespace TypeInfoUtil
00062 
00063 } // namespace PSEvt
00064 
00065 
00066 #endif // PSEVT_EVENTKEY_H

Generated on 19 Dec 2016 for PSANAclasses by  doxygen 1.4.7