CORSIKA  @c8_version@
The framework to simulate particle cascades for astroparticle physics
HasMethodSignature.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 /*
4  * (c) Copyright 2018 CORSIKA Project, corsika-project@lists.kit.edu
5  *
6  * This software is distributed under the terms of the GNU General Public
7  * Licence version 3 (GPL Version 3). See file LICENSE for a full version of
8  * the license.
9  */
10 
15 #include <type_traits>
16 
17 namespace corsika {
18 
19  namespace detail {
20 
34  template <typename TReturn, typename... TArgs>
36 
37  // the non-const version
38  template <class T>
39  static std::true_type testSignature(TReturn (T::*)(TArgs...));
40 
41  // the const version
42  template <class T>
43  static std::true_type testSignature(TReturn (T::*)(TArgs...) const);
44  };
45 
46  } // namespace detail
47 } // namespace corsika
`, since they are used everywhere as integral part of the framework.
Helper traits class (partial) for static compile time checking.