CodePorting.Translator Cs2Cpp
CodePorting.Translator.Cs2Cpp.Framework
method_argument_tuple.h
1
2#pragma once
3
4#include <tuple>
5#include <type_traits>
6
7namespace System
8{
9
13template <typename T>
14struct MethodArgumentTuple;
16
21template <typename R, typename C, typename... Args>
22struct MethodArgumentTuple<R(C::*)(Args...)>
23{
25 using type = std::tuple<typename std::remove_const<typename std::remove_reference<Args>::type>::type...>;
26};
27
32template <typename R, typename C, typename... Args>
33struct MethodArgumentTuple<R(C::*)(Args...)const>
34{
36 using type = std::tuple<typename std::remove_const<typename std::remove_reference<Args>::type>::type...>;
37};
38
42template <typename R, typename... Args>
43struct MethodArgumentTuple<R(*)(Args...)>
44{
46 using type = std::tuple<typename std::remove_const<typename std::remove_reference<Args>::type>::type...>;
47};
48
49} // namespace System
Definition: db_command.h:9
std::tuple< typename std::remove_const< typename std::remove_reference< Args >::type >::type... > type
Tuple to hold arguments of specified method.
Definition: method_argument_tuple.h:46
std::tuple< typename std::remove_const< typename std::remove_reference< Args >::type >::type... > type
Tuple to hold arguments of specified method.
Definition: method_argument_tuple.h:36
std::tuple< typename std::remove_const< typename std::remove_reference< Args >::type >::type... > type
Tuple to hold arguments of specified method.
Definition: method_argument_tuple.h:25