mirror of
https://github.com/BlackMATov/meta.hpp.git
synced 2025-12-15 11:52:08 +07:00
remove volatile support
This commit is contained in:
@@ -77,7 +77,6 @@ namespace meta_hpp
|
||||
enum class method_flags : std::uint32_t {
|
||||
is_const = 1 << 0,
|
||||
is_noexcept = 1 << 1,
|
||||
is_volatile = 1 << 2,
|
||||
is_lvalue_qualified = 1 << 3,
|
||||
is_rvalue_qualified = 1 << 4,
|
||||
};
|
||||
|
||||
@@ -119,102 +119,4 @@ namespace meta_hpp::detail
|
||||
return method_flags::is_const | method_flags::is_noexcept | method_flags::is_rvalue_qualified;
|
||||
}
|
||||
};
|
||||
|
||||
//
|
||||
|
||||
template < typename R, typename C, typename... Args >
|
||||
struct method_traits<R(C::*)(Args...) volatile> : method_traits<R(C::*)(Args...)> {
|
||||
using qualified_type = C;
|
||||
static bitflags<method_flags> make_flags() noexcept {
|
||||
return method_flags::is_volatile;
|
||||
}
|
||||
};
|
||||
|
||||
template < typename R, typename C, typename... Args >
|
||||
struct method_traits<R(C::*)(Args...) volatile const> : method_traits<R(C::*)(Args...)> {
|
||||
using qualified_type = const C;
|
||||
static bitflags<method_flags> make_flags() noexcept {
|
||||
return method_flags::is_volatile | method_flags::is_const;
|
||||
}
|
||||
};
|
||||
|
||||
template < typename R, typename C, typename... Args >
|
||||
struct method_traits<R(C::*)(Args...) volatile noexcept> : method_traits<R(C::*)(Args...)> {
|
||||
using qualified_type = C;
|
||||
static bitflags<method_flags> make_flags() noexcept {
|
||||
return method_flags::is_volatile | method_flags::is_noexcept;
|
||||
}
|
||||
};
|
||||
|
||||
template < typename R, typename C, typename... Args >
|
||||
struct method_traits<R(C::*)(Args...) volatile const noexcept> : method_traits<R(C::*)(Args...)> {
|
||||
using qualified_type = const C;
|
||||
static bitflags<method_flags> make_flags() noexcept {
|
||||
return method_flags::is_volatile | method_flags::is_const | method_flags::is_noexcept;
|
||||
}
|
||||
};
|
||||
|
||||
template < typename R, typename C, typename... Args >
|
||||
struct method_traits<R(C::*)(Args...) volatile &> : method_traits<R(C::*)(Args...)> {
|
||||
using qualified_type = C&;
|
||||
static bitflags<method_flags> make_flags() noexcept {
|
||||
return method_flags::is_volatile | method_flags::is_lvalue_qualified;
|
||||
}
|
||||
};
|
||||
|
||||
template < typename R, typename C, typename... Args >
|
||||
struct method_traits<R(C::*)(Args...) volatile & noexcept> : method_traits<R(C::*)(Args...)> {
|
||||
using qualified_type = C&;
|
||||
static bitflags<method_flags> make_flags() noexcept {
|
||||
return method_flags::is_volatile | method_flags::is_noexcept | method_flags::is_lvalue_qualified;
|
||||
}
|
||||
};
|
||||
|
||||
template < typename R, typename C, typename... Args >
|
||||
struct method_traits<R(C::*)(Args...) volatile const &> : method_traits<R(C::*)(Args...)> {
|
||||
using qualified_type = const C&;
|
||||
static bitflags<method_flags> make_flags() noexcept {
|
||||
return method_flags::is_volatile | method_flags::is_const | method_flags::is_lvalue_qualified;
|
||||
}
|
||||
};
|
||||
|
||||
template < typename R, typename C, typename... Args >
|
||||
struct method_traits<R(C::*)(Args...) volatile const & noexcept> : method_traits<R(C::*)(Args...)> {
|
||||
using qualified_type = const C&;
|
||||
static bitflags<method_flags> make_flags() noexcept {
|
||||
return method_flags::is_volatile | method_flags::is_const | method_flags::is_noexcept | method_flags::is_lvalue_qualified;
|
||||
}
|
||||
};
|
||||
|
||||
template < typename R, typename C, typename... Args >
|
||||
struct method_traits<R(C::*)(Args...) volatile &&> : method_traits<R(C::*)(Args...)> {
|
||||
using qualified_type = C&&;
|
||||
static bitflags<method_flags> make_flags() noexcept {
|
||||
return method_flags::is_volatile | method_flags::is_rvalue_qualified;
|
||||
}
|
||||
};
|
||||
|
||||
template < typename R, typename C, typename... Args >
|
||||
struct method_traits<R(C::*)(Args...) volatile && noexcept> : method_traits<R(C::*)(Args...)> {
|
||||
using qualified_type = C&&;
|
||||
static bitflags<method_flags> make_flags() noexcept {
|
||||
return method_flags::is_volatile | method_flags::is_noexcept | method_flags::is_rvalue_qualified;
|
||||
}
|
||||
};
|
||||
|
||||
template < typename R, typename C, typename... Args >
|
||||
struct method_traits<R(C::*)(Args...) volatile const &&> : method_traits<R(C::*)(Args...)> {
|
||||
using qualified_type = const C&&;
|
||||
static bitflags<method_flags> make_flags() noexcept {
|
||||
return method_flags::is_volatile | method_flags::is_const | method_flags::is_rvalue_qualified;
|
||||
}
|
||||
};
|
||||
|
||||
template < typename R, typename C, typename... Args >
|
||||
struct method_traits<R(C::*)(Args...) volatile const && noexcept> : method_traits<R(C::*)(Args...)> {
|
||||
using qualified_type = const C&&;
|
||||
static bitflags<method_flags> make_flags() noexcept {
|
||||
return method_flags::is_volatile | method_flags::is_const | method_flags::is_noexcept | method_flags::is_rvalue_qualified;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user