CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Sym.h
Go to the documentation of this file.
1 #ifndef FWCore_Services_Sym_h
2 #define FWCore_Services_Sym_h
3 
4 #include <iosfwd>
5 #include <string>
6 
7 #include <dlfcn.h>
8 
9 struct Sym
10 {
11  typedef void* address_type;
12 
13  Sym(Dl_info const& info, void* addr) :
14  name_(),
15  library_(),
16  id_(),
17  addr_(reinterpret_cast<address_type>(addr))
18  {
19 
20  }
21 
22 
23 
24  Sym() :
25  name_(),
26  library_(),
27  id_(),
28  addr_()
29  { }
30 
31  explicit Sym(int id) :
32  name_(),
33  library_(),
34  id_(id),
35  addr_()
36  { }
37 
38  std::string name_;
39  std::string library_;
40  int id_;
42 
43  static int next_id_;
44 
45  bool
47  { return addr_ < b; }
48 
49  bool
50  operator<(const Sym& b) const
51  { return addr_ < b.addr_; }
52 };
53 
54 std::ostream&
55 operator<< (std::ostream& os, Sym const& s);
56 
57 inline
58 bool
60 { return a < b.addr_; }
61 
62 
63 #endif
Definition: Sym.h:9
Sym()
Definition: Sym.h:24
std::ostream & operator<<(std::ostream &out, const ALILine &li)
Definition: ALILine.cc:187
void * address_type
Definition: Sym.h:11
bool operator<(const FedChannelConnection &, const FedChannelConnection &)
std::string library_
Definition: Sym.h:39
std::string name_
Definition: Sym.h:38
double b
Definition: hdecay.h:120
address_type addr_
Definition: Sym.h:41
static int next_id_
Definition: Sym.h:43
double a
Definition: hdecay.h:121
bool operator<(address_type b) const
Definition: Sym.h:46
Sym(Dl_info const &info, void *addr)
Definition: Sym.h:13
string s
Definition: asciidump.py:422
Sym(int id)
Definition: Sym.h:31
int id_
Definition: Sym.h:40