ATLAS Offline Software
AthenaKernel/AthenaKernel/ClassName.h
Go to the documentation of this file.
1 // This file's extension implies that it's C, but it's really -*- C++ -*-.
2 
3 /*
4  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 // $Id: ClassName.h,v 1.1 2009-01-15 19:07:29 binet Exp $
16 #ifndef ATHENAKERNEL_CLASSNAME_H
17 #define ATHENAKERNEL_CLASSNAME_H
18 
19 
20 #include <string>
21 
22 
31 template <class T>
32 class ClassName
33 {
34 public:
38  static std::string name()
39 #ifdef __GNUC__
40  // Force this function to appear as a symbol in the output file,
41  // even in an optimized build where it's always inlined.
42  // Otherwise, we get complaints from cling that it can't find the symbol
43  // (as of root 6.04).
45 #endif
46  ;
47 };
48 
49 
51 
52 
53 #endif // not ATHENAKERNEL_CLASSNAME_H
used
ClassName.icc
ClassName
An interface for getting the name of a class as a string.
Definition: AthenaKernel/AthenaKernel/ClassName.h:33
ClassName::name
static std::string name()
Return the name of class T as a string.
__attribute__
__attribute__((always_inline)) inline uint16_t TileCalibDrawerBase
Definition: TileCalibDrawerBase.h:190