ATLAS Offline Software
Control
AthenaKernel
AthenaKernel
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).
44
__attribute__
((
used
))
45
#endif
46
;
47
};
48
49
50
#include "
AthenaKernel/ClassName.icc
"
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
Generated on Thu Nov 7 2024 21:11:56 for ATLAS Offline Software by
1.8.18