/usr/include/HepMC/is_arithmetic.h is in libhepmc-dev 2.06.09-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 | #ifndef IS_ARITHMETIC
#define IS_ARITHMETIC
// author: Walter Brown
// ----------------------------------------------------------------------
// prolog
namespace HepMC {
///
/// \namespace detail
/// internal namespace
///
namespace detail {
// ----------------------------------------------------------------------
// is_arithmetic<>
/// undefined and therefore non-arithmetic
template< class T >
struct is_arithmetic
{
static bool const value = false;
};
/// character is arithmetic
template<>
struct is_arithmetic<char>
{ static bool const value = true; };
/// unsigned character is arithmetic
template<>
struct is_arithmetic<unsigned char>
{ static bool const value = true; };
/// signed character is arithmetic
template<>
struct is_arithmetic<signed char>
{ static bool const value = true; };
/// short is arithmetic
template<>
struct is_arithmetic<short>
{ static bool const value = true; };
/// unsigned short is arithmetic
template<>
struct is_arithmetic<unsigned short>
{ static bool const value = true; };
/// int is arithmetic
template<>
struct is_arithmetic<int>
{ static bool const value = true; };
/// unsigned int is arithmetic
template<>
struct is_arithmetic<unsigned int>
{ static bool const value = true; };
/// long is arithmetic
template<>
struct is_arithmetic<long>
{ static bool const value = true; };
/// unsigned long is arithmetic
template<>
struct is_arithmetic<unsigned long>
{ static bool const value = true; };
/// float is arithmetic
template<>
struct is_arithmetic<float>
{ static bool const value = true; };
/// double is arithmetic
template<>
struct is_arithmetic<double>
{ static bool const value = true; };
/// long double is arithmetic
template<>
struct is_arithmetic<long double>
{ static bool const value = true; };
// ----------------------------------------------------------------------
// epilog
} // namespace detail
} // namespace HepMC
#endif // IS_ARITHMETIC
|