style fixes

This commit is contained in:
BlackMATov
2022-02-08 01:36:58 +07:00
parent 54526bdd84
commit 9a7808939b
6 changed files with 18 additions and 15 deletions

View File

@@ -7,6 +7,7 @@ Checks: '-*,
cppcoreguidelines-*,
-cppcoreguidelines-macro-usage,
-cppcoreguidelines-pro-bounds-pointer-arithmetic,
modernize-*,
-modernize-use-trailing-return-type,

View File

@@ -1,6 +1,8 @@
# meta.hpp
- metadata
- add policy tests
- rebind types support
* argument defaults
* argument names

View File

@@ -25,14 +25,14 @@ namespace meta_hpp::detail
template < stdex::copy_constructible T >
struct index_traits<T*> {
value operator()(T* v, std::size_t i) const {
return value{*(v + i)};
return value{v[i]};
}
};
template < stdex::copy_constructible T >
struct index_traits<const T*> {
value operator()(const T* v, std::size_t i) const {
return value{*(v + i)};
return value{v[i]};
}
};

View File

@@ -40,22 +40,22 @@ namespace meta_hpp::detail
args
// NOLINTNEXTLINE(readability-named-parameter)
]<std::size_t... Is>(std::index_sequence<Is...>) -> value {
if ( !(... && (args.data() + Is)->can_cast_to<type_list_at_t<Is, argument_types>>()) ) {
if ( !(... && args[Is].can_cast_to<type_list_at_t<Is, argument_types>>()) ) {
throw_exception_with("an attempt to call a constructor with incorrect argument types");
}
if constexpr ( as_object ) {
class_type return_value{(args.data() + Is)->cast<type_list_at_t<Is, argument_types>>()...};
class_type return_value{args[Is].cast<type_list_at_t<Is, argument_types>>()...};
return value{std::move(return_value)};
}
if constexpr ( as_raw_ptr ) {
auto return_value{std::make_unique<class_type>((args.data() + Is)->cast<type_list_at_t<Is, argument_types>>()...)};
auto return_value{std::make_unique<class_type>(args[Is].cast<type_list_at_t<Is, argument_types>>()...)};
return value{return_value.release()};
}
if constexpr ( as_shared_ptr ) {
auto return_value{std::make_shared<class_type>((args.data() + Is)->cast<type_list_at_t<Is, argument_types>>()...)};
auto return_value{std::make_shared<class_type>(args[Is].cast<type_list_at_t<Is, argument_types>>()...)};
return value{std::move(return_value)};
}
}, std::make_index_sequence<ct::arity>());
@@ -72,7 +72,7 @@ namespace meta_hpp::detail
// NOLINTNEXTLINE(readability-named-parameter)
return std::invoke([args]<std::size_t... Is>(std::index_sequence<Is...>){
return (... && (args.data() + Is)->can_cast_to<type_list_at_t<Is, argument_types>>());
return (... && args[Is].can_cast_to<type_list_at_t<Is, argument_types>>());
}, std::make_index_sequence<ct::arity>());
}
}

View File

@@ -42,19 +42,19 @@ namespace meta_hpp::detail
&function, args
// NOLINTNEXTLINE(readability-named-parameter)
]<std::size_t... Is>(std::index_sequence<Is...>) -> value {
if ( !(... && (args.data() + Is)->can_cast_to<type_list_at_t<Is, argument_types>>()) ) {
if ( !(... && args[Is].can_cast_to<type_list_at_t<Is, argument_types>>()) ) {
throw_exception_with("an attempt to call a function with incorrect argument types");
}
if constexpr ( as_void ) {
std::ignore = std::invoke(
function,
(args.data() + Is)->cast<type_list_at_t<Is, argument_types>>()...);
args[Is].cast<type_list_at_t<Is, argument_types>>()...);
return value{};
} else {
return_type&& return_value = std::invoke(
function,
(args.data() + Is)->cast<type_list_at_t<Is, argument_types>>()...);
args[Is].cast<type_list_at_t<Is, argument_types>>()...);
if constexpr ( ref_as_ptr ) {
return value{std::addressof(return_value)};
@@ -76,7 +76,7 @@ namespace meta_hpp::detail
// NOLINTNEXTLINE(readability-named-parameter)
return std::invoke([args]<std::size_t... Is>(std::index_sequence<Is...>){
return (... && (args.data() + Is)->can_cast_to<type_list_at_t<Is, argument_types>>());
return (... && args[Is].can_cast_to<type_list_at_t<Is, argument_types>>());
}, std::make_index_sequence<ft::arity>());
}
}

View File

@@ -48,7 +48,7 @@ namespace meta_hpp::detail
&method, &inst, args
// NOLINTNEXTLINE(readability-named-parameter)
]<std::size_t... Is>(std::index_sequence<Is...>) -> value {
if ( !(... && (args.data() + Is)->can_cast_to<type_list_at_t<Is, argument_types>>()) ) {
if ( !(... && args[Is].can_cast_to<type_list_at_t<Is, argument_types>>()) ) {
throw_exception_with("an attempt to call a method with incorrect argument types");
}
@@ -56,13 +56,13 @@ namespace meta_hpp::detail
std::ignore = std::invoke(
method,
inst.cast<qualified_type>(),
(args.data() + Is)->cast<type_list_at_t<Is, argument_types>>()...);
args[Is].cast<type_list_at_t<Is, argument_types>>()...);
return value{};
} else {
return_type&& return_value = std::invoke(
method,
inst.cast<qualified_type>(),
(args.data() + Is)->cast<type_list_at_t<Is, argument_types>>()...);
args[Is].cast<type_list_at_t<Is, argument_types>>()...);
if constexpr ( ref_as_ptr ) {
return value{std::addressof(return_value)};
@@ -89,7 +89,7 @@ namespace meta_hpp::detail
// NOLINTNEXTLINE(readability-named-parameter)
return std::invoke([args]<std::size_t... Is>(std::index_sequence<Is...>){
return (... && (args.data() + Is)->can_cast_to<type_list_at_t<Is, argument_types>>());
return (... && args[Is].can_cast_to<type_list_at_t<Is, argument_types>>());
}, std::make_index_sequence<mt::arity>());
}
}