mirror of
https://github.com/BlackMATov/meta.hpp.git
synced 2025-12-14 03:29:28 +07:00
style fixes
This commit is contained in:
@@ -8,42 +8,42 @@
|
||||
|
||||
#include "base.hpp"
|
||||
|
||||
namespace meta_hpp::detail::impl
|
||||
{
|
||||
template < typename F, typename... Args >
|
||||
class defer_impl {
|
||||
public:
|
||||
defer_impl() = delete;
|
||||
defer_impl(defer_impl&&) = delete;
|
||||
defer_impl(const defer_impl&) = delete;
|
||||
defer_impl& operator=(defer_impl&&) = delete;
|
||||
defer_impl& operator=(const defer_impl&) = delete;
|
||||
|
||||
template < typename UF >
|
||||
explicit defer_impl(UF&& f, std::tuple<Args...>&& args)
|
||||
: f_{std::forward<UF>(f)}
|
||||
, args_{std::move(args)} {}
|
||||
|
||||
void dismiss() noexcept {
|
||||
dismissed_ = true;
|
||||
}
|
||||
|
||||
protected:
|
||||
~defer_impl() noexcept {
|
||||
if ( !dismissed_ ) {
|
||||
std::apply(std::move(f_), std::move(args_));
|
||||
}
|
||||
}
|
||||
|
||||
private:
|
||||
F f_;
|
||||
std::tuple<Args...> args_;
|
||||
bool dismissed_{};
|
||||
};
|
||||
}
|
||||
|
||||
namespace meta_hpp::detail
|
||||
{
|
||||
namespace impl
|
||||
{
|
||||
template < typename F, typename... Args >
|
||||
class defer_impl {
|
||||
public:
|
||||
defer_impl() = delete;
|
||||
defer_impl(defer_impl&&) = delete;
|
||||
defer_impl(const defer_impl&) = delete;
|
||||
defer_impl& operator=(defer_impl&&) = delete;
|
||||
defer_impl& operator=(const defer_impl&) = delete;
|
||||
|
||||
template < typename UF >
|
||||
explicit defer_impl(UF&& f, std::tuple<Args...>&& args)
|
||||
: f_{std::forward<UF>(f)}
|
||||
, args_{std::move(args)} {}
|
||||
|
||||
void dismiss() noexcept {
|
||||
dismissed_ = true;
|
||||
}
|
||||
|
||||
protected:
|
||||
~defer_impl() noexcept {
|
||||
if ( !dismissed_ ) {
|
||||
std::apply(std::move(f_), std::move(args_));
|
||||
}
|
||||
}
|
||||
|
||||
private:
|
||||
F f_;
|
||||
std::tuple<Args...> args_;
|
||||
bool dismissed_{};
|
||||
};
|
||||
}
|
||||
|
||||
template < typename F, typename... Args >
|
||||
class defer final : public impl::defer_impl<F, Args...> {
|
||||
public:
|
||||
|
||||
@@ -27,7 +27,7 @@ namespace meta_hpp::detail
|
||||
namespace impl
|
||||
{
|
||||
template < class_kind Class >
|
||||
struct class_traits_base {
|
||||
struct class_traits_impl {
|
||||
static constexpr std::size_t arity{0};
|
||||
|
||||
using argument_types = type_list<>;
|
||||
@@ -38,7 +38,7 @@ namespace meta_hpp::detail
|
||||
};
|
||||
|
||||
template < template < typename... > typename Class, typename... Args >
|
||||
struct class_traits_base<Class<Args...>> {
|
||||
struct class_traits_impl<Class<Args...>> {
|
||||
static constexpr std::size_t arity{sizeof...(Args)};
|
||||
|
||||
using argument_types = type_list<Args...>;
|
||||
@@ -50,7 +50,7 @@ namespace meta_hpp::detail
|
||||
}
|
||||
|
||||
template < class_kind Class >
|
||||
struct class_traits : impl::class_traits_base<Class> {
|
||||
struct class_traits : impl::class_traits_impl<Class> {
|
||||
static constexpr std::size_t size{sizeof(Class)};
|
||||
static constexpr std::size_t align{alignof(Class)};
|
||||
|
||||
@@ -73,7 +73,7 @@ namespace meta_hpp::detail
|
||||
flags.set(class_flags::is_polymorphic);
|
||||
}
|
||||
|
||||
return flags | impl::class_traits_base<Class>::make_flags();
|
||||
return flags | impl::class_traits_impl<Class>::make_flags();
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user