Skip to content

Commit

Permalink
using -> typedef in some cases
Browse files Browse the repository at this point in the history
This is because MSVC 2013's using-alias support is buggy
  • Loading branch information
CelticMinstrel committed Apr 4, 2016
1 parent a791909 commit 19fe2aa
Showing 1 changed file with 7 additions and 7 deletions.
14 changes: 7 additions & 7 deletions src/utils/functional.hpp
Expand Up @@ -56,37 +56,37 @@ namespace detail {

template<typename Ret, typename... P>
struct function_base<Ret(P...)> {
using type = Ret(P...);
typedef Ret type(P...);
};

template<typename Ret, typename... P>
struct function_base<Ret(*)(P...)> {
using type = Ret(P...);
typedef Ret type(P...);
};

template<typename Ret, typename Class, typename... P>
struct function_base<Ret(Class::*)(P...)> {
using type = Ret(Class,P...);
typedef Ret type(Class,P...);
};

template<typename Ret, typename Class, typename... P>
struct function_base<Ret(Class::*)(P...)const> {
using type = Ret(const Class,P...);
typedef Ret type(const Class,P...);
};

template<typename Ret, typename Class, typename... P>
struct function_base<Ret(Class::*)(P...)volatile > {
using type = Ret(volatile Class,P...);
typedef Ret type(volatile Class,P...);
};

template<typename Ret, typename Class, typename... P>
struct function_base<Ret(Class::*)(P...)const volatile> {
using type = Ret(const volatile Class,P...);
typedef Ret type(const volatile Class,P...);
};

template<typename Ret, typename... P>
struct function_base<std::function<Ret(P...)>> {
using type = Ret(P...);
typedef Ret type(P...);
};
}

Expand Down

0 comments on commit 19fe2aa

Please sign in to comment.