Import Geant4 10.2.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-10 14:11:04 +02:00
parent c9b32a6c0a
commit d4af681f38
4886 changed files with 420149 additions and 1023309 deletions
+14 -1
View File
@@ -56,12 +56,25 @@ public:
}
};
#if defined(G4USE_STD11) || defined(G4USE_STD14)
#include <type_traits>
using std::remove_reference;
// original usage below in G4AnyMethod (pre C++11) was without namespace std::
// so if compiler has them, make them available without the namespace
#else
// these are the reference "possible implementations" of a C++11 feature
// c.f. http://en.cppreference.com/w/cpp/types/remove_reference
// but they clash badly with C++11 definitions supplied by the compiler
// so use them only if C++11 is not enabled or there is no possibility
// of clashing with the ones defined in std:: namespace
// (i.e. avoid "using namespace std")
template<typename T> struct remove_reference {typedef T type;};
template<typename T> struct remove_reference<T&> {typedef T type;};
template<typename T> struct remove_reference<const T&> {typedef T type;};
#endif
/**
* @class G4AnyMethod G4AnyMothod.hh
* @class G4AnyMethod G4AnyMethod.hh
* This class represents any object method. The class only holds a member pointer.
*/
class G4AnyMethod {