Skip to content

Commit

Permalink
refactor(utils): capture members / values
Browse files Browse the repository at this point in the history
  • Loading branch information
Curve committed Oct 25, 2024
1 parent 4ff0656 commit cc48aa1
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 6 deletions.
6 changes: 3 additions & 3 deletions include/rebind/utils/enum.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,15 @@ namespace rebind::utils
requires std::is_enum_v<T>
static constexpr auto enum_names = []
{
constexpr auto size = rebind::enum_values<T>.size();
constexpr auto values = rebind::enum_values<T>;

constexpr auto unpack = []<auto... Is>(std::index_sequence<Is...>)
constexpr auto unpack = [values]<auto... Is>(std::index_sequence<Is...>)
{
constexpr auto values = rebind::enum_values<T>;
return std::array<std::string_view, sizeof...(Is)>{rebind::enum_name<values[Is]>...};
};

return unpack(std::make_index_sequence<size>());
return unpack(std::make_index_sequence<values.size()>());
}();

template <typename T>
Expand Down
6 changes: 3 additions & 3 deletions include/rebind/utils/member.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@ namespace rebind::utils
requires std::is_aggregate_v<T>
static constexpr auto member_names = []
{
constexpr auto size = std::tuple_size_v<decltype(rebind::members<T>)>;
constexpr auto members = rebind::members<T>;
constexpr auto size = std::tuple_size_v<decltype(members)>;

constexpr auto unpack = []<auto... Is>(std::index_sequence<Is...>)
constexpr auto unpack = [members]<auto... Is>(std::index_sequence<Is...>)
{
constexpr auto members = rebind::members<T>;
return std::array<std::string_view, sizeof...(Is)>{std::get<Is>(members).name...};
};

Expand Down

0 comments on commit cc48aa1

Please sign in to comment.