The Gaudi Framework  master (37c0b60a)
GaudiDict Namespace Reference

Classes

struct  KeyedContainerDict
 
struct  KeyedObjectDict
 

Functions

std::string typeName (const std::type_info &typ)
 
std::string vectorName (const std::type_info &typ)
 
std::string vectorName (const std::string &typ)
 
std::string pairName (const std::type_info &typ1, const std::type_info &typ2)
 
std::string relationName (const std::string &prefix, const std::type_info &typ1, const std::type_info &typ2)
 
std::string templateName1 (std::string templ, const std::type_info &typ)
 
std::string templateName1 (std::string templ, const std::string &typ)
 
std::string templateName2 (std::string templ, const std::type_info &typ1, const std::type_info &typ2)
 
std::string templateName3 (std::string templ, const std::type_info &typ1, const std::type_info &typ2, const std::type_info &typ3)
 
std::string keyedContainerName (const std::string &prefix, const std::type_info &typ1)
 

Function Documentation

◆ keyedContainerName()

std::string GaudiDict::keyedContainerName ( const std::string prefix,
const std::type_info typ1 
)

Definition at line 79 of file Dictionary.cpp.

79  {
80  std::string s = "KeyedContainer<";
81  s += typeName( typ1 );
82  s += ",";
83  s += mgr_typ;
84  if ( mgr_typ[mgr_typ.length() - 1] == '>' ) s += " ";
85  s += ">";
86  return clean( s );
87 }

◆ pairName()

std::string GaudiDict::pairName ( const std::type_info typ1,
const std::type_info typ2 
)

Definition at line 75 of file Dictionary.cpp.

75  {
76  return templateName2( "std::pair", typ1, typ2 );
77 }

◆ relationName()

std::string GaudiDict::relationName ( const std::string prefix,
const std::type_info typ1,
const std::type_info typ2 
)

Definition at line 89 of file Dictionary.cpp.

90  {
91  return "";
92 }

◆ templateName1() [1/2]

std::string GaudiDict::templateName1 ( std::string  templ,
const std::string typ 
)

Definition at line 43 of file Dictionary.cpp.

43  {
44  s += "<";
45  s += typ;
46  s += ( s.back() == '>' ) ? " >" : ">"; // with C++11, we can have <somename<T>>...
47  return clean( s );
48 }

◆ templateName1() [2/2]

std::string GaudiDict::templateName1 ( std::string  templ,
const std::type_info typ 
)

Definition at line 39 of file Dictionary.cpp.

39  {
40  return templateName1( std::move( templ ), typeName( typ ) );
41 }

◆ templateName2()

std::string GaudiDict::templateName2 ( std::string  templ,
const std::type_info typ1,
const std::type_info typ2 
)

Definition at line 50 of file Dictionary.cpp.

50  {
51  s += "<";
52  s += typeName( typ1 );
53  s += ",";
54  s += typeName( typ2 );
55  s += ( s.back() == '>' ) ? " >" : ">";
56  return clean( s );
57 }

◆ templateName3()

std::string GaudiDict::templateName3 ( std::string  templ,
const std::type_info typ1,
const std::type_info typ2,
const std::type_info typ3 
)

Definition at line 59 of file Dictionary.cpp.

60  {
61  s += "<";
62  s += typeName( typ1 );
63  s += ",";
64  s += typeName( typ2 );
65  s += ",";
66  s += typeName( typ3 );
67  s += ( s.back() == '>' ) ? " >" : ">";
68  return clean( s );
69 }

◆ typeName()

std::string GaudiDict::typeName ( const std::type_info typ)

Definition at line 31 of file Dictionary.cpp.

31  {
32  std::string r = clean( System::typeinfoName( typ ) );
33  // if ( r.compare(0,4,"enum") == 0 ) {
34  // r = "int";
35  //}
36  return r;
37 }

◆ vectorName() [1/2]

std::string GaudiDict::vectorName ( const std::string typ)

Definition at line 73 of file Dictionary.cpp.

73 { return templateName1( "std::vector", typ ); }

◆ vectorName() [2/2]

std::string GaudiDict::vectorName ( const std::type_info typ)

Definition at line 71 of file Dictionary.cpp.

71 { return templateName1( "std::vector", typ ); }
GaudiDict::templateName2
std::string templateName2(std::string templ, const std::type_info &typ1, const std::type_info &typ2)
Definition: Dictionary.cpp:50
std::string
STL class.
std::move
T move(T... args)
GaudiDict::templateName1
std::string templateName1(std::string templ, const std::string &typ)
Definition: Dictionary.cpp:43
gaudirun.s
string s
Definition: gaudirun.py:346
System::typeinfoName
GAUDI_API const std::string typeinfoName(const std::type_info &)
Get platform independent information about the class type.
Definition: System.cpp:315
GaudiDict::typeName
std::string typeName(const std::type_info &typ)
Definition: Dictionary.cpp:31