diff options
author | Vsevolod Stakhov <vsevolod@rspamd.com> | 2022-06-11 12:24:23 +0100 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@rspamd.com> | 2022-06-11 12:24:23 +0100 |
commit | 48297adf9639ed9711c55560a26a09bee3da9dd7 (patch) | |
tree | 8ce050732b0c8569c4e919eef7cc30a758d3e0bb /src | |
parent | 7116d3b8fe6605817d3fd9760562883d1976fa4c (diff) | |
download | rspamd-48297adf9639ed9711c55560a26a09bee3da9dd7.tar.gz rspamd-48297adf9639ed9711c55560a26a09bee3da9dd7.zip |
[Minor] Simplify array_of using types deduction
Diffstat (limited to 'src')
-rw-r--r-- | src/client/rspamc.cxx | 2 | ||||
-rw-r--r-- | src/libserver/html/html_tag_defs.hxx | 2 | ||||
-rw-r--r-- | src/libutil/cxx/util.hxx | 5 |
3 files changed, 5 insertions, 4 deletions
diff --git a/src/client/rspamc.cxx b/src/client/rspamc.cxx index 2a2332bca..b7341be4f 100644 --- a/src/client/rspamc.cxx +++ b/src/client/rspamc.cxx @@ -214,7 +214,7 @@ struct rspamc_command { void (*command_output_func)(FILE *, ucl_object_t *obj); }; -static const constexpr auto rspamc_commands = rspamd::array_of<rspamc_command>( +static const constexpr auto rspamc_commands = rspamd::array_of( rspamc_command{ .cmd = RSPAMC_COMMAND_SYMBOLS, .name = "symbols", diff --git a/src/libserver/html/html_tag_defs.hxx b/src/libserver/html/html_tag_defs.hxx index 7e6cc9bf6..812ec2021 100644 --- a/src/libserver/html/html_tag_defs.hxx +++ b/src/libserver/html/html_tag_defs.hxx @@ -33,7 +33,7 @@ struct html_tag_def { #define TAG_DEF(id, name, flags) html_tag_def{(name), (id), (flags)} -static const auto html_tag_defs_array = rspamd::array_of<html_tag_def>( +static const auto html_tag_defs_array = rspamd::array_of( /* W3C defined elements */ TAG_DEF(Tag_A, "a", FL_HREF), TAG_DEF(Tag_ABBR, "abbr", (CM_INLINE)), diff --git a/src/libutil/cxx/util.hxx b/src/libutil/cxx/util.hxx index e45f16008..5b2020bb6 100644 --- a/src/libutil/cxx/util.hxx +++ b/src/libutil/cxx/util.hxx @@ -72,9 +72,10 @@ struct smart_ptr_hash { /* * Creates std::array from a standard C style array with automatic size calculation */ -template <typename V, typename... T> -constexpr auto array_of(T&&... t) -> std::array<V, sizeof...(T)> +template <typename... Ts> +constexpr auto array_of(Ts&&... t) -> std::array<typename std::decay_t<typename std::common_type_t<Ts...>>, sizeof...(Ts)> { + using T = typename std::decay_t<typename std::common_type_t<Ts...>>; return {{ std::forward<T>(t)... }}; } |