CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
ClassInfoLoader.h
Go to the documentation of this file.
1 /*
2 #ifndef COND_DBCommon_ClassInfoLoader_H
3 #define COND_DBCommon_ClassInfoLoader_H
4 
5 //loads plugin corresponding to token....
6 
7 
8 #include<boost/shared_ptr.hpp>
9 #include<string>
10 
11 namespace Reflex {
12  class Type;
13 }
14 typedef Reflex::Type TypeH;
15 
16 namespace cond {
17 
18  class ClassInfo;
19 
20  // decode token
21  std::string classID(std::string const & token);
22 
23  // decode token (container==classname...)
24  std::string container(std::string const & token);
25 
26 
27  // find and return
28  boost::shared_ptr<ClassInfo> classInfo(std::string const & token);
29 
30  // load plugin (delete classInfo)
31  bool loadClassByToken(std::string const & token);
32 
33  TypeH reflexTypeByToken(std::string const & token);
34 
35  std::string classNameForTypeId( const std::type_info& typeInfo );
36 
37  template <typename T> std::string classNameForPointer( T* pointer ){
38  if(!pointer) return classNameForTypeId( typeid(T) );
39  return classNameForTypeId( typeid(*pointer) );
40  }
41 
42 }
43 
44 
45 #endif // COND_DBCommon_ClassInfoLoader_H
46 */