@@ -84,16 +84,6 @@ namespace scale::detail::decomposable {
8484 template <typename T>
8585 concept DecomposableArray = not custom::CustomDecomposable<T>
8686 and ArrayWithMaxSize<T, MAX_FIELD_NUM>;
87-
88- /* *
89- * @brief Decomposes an array and applies a given function.
90- */
91- template <typename F>
92- decltype (auto ) decompose_and_apply(DecomposableArray auto &&v, const F &f) {
93- return decompose_and_apply<array_size<decltype (v)>>(
94- std::forward<decltype (v)>(v), f);
95- }
96-
9787 } // namespace array
9888
9989 namespace structurally_bindable {
@@ -139,18 +129,6 @@ namespace scale::detail::decomposable {
139129 (not custom::CustomDecomposable<T>)
140130 and (not array::DecomposableArray<T>)
141131 and StructurallyBindableWithMaxSize<T>;
142-
143- /* *
144- * @brief Decomposes a structurally bindable type and applies a given
145- * function.
146- */
147- template <typename F>
148- decltype (auto ) decompose_and_apply(
149- DecomposableStructurallyBindable auto &&v, const F &f) {
150- return decompose_and_apply<structured_binding_size_v<decltype (v)>>(
151- std::forward<decltype (v)>(v), f);
152- }
153-
154132 } // namespace structurally_bindable
155133
156134 namespace aggregate {
@@ -199,17 +177,6 @@ namespace scale::detail::decomposable {
199177 and (not array::DecomposableArray<T>)
200178 and (not structurally_bindable::DecomposableStructurallyBindable<T>)
201179 and (not collections::Collection<T>) and AggregateWithMaxSize<T>;
202-
203- /* *
204- * @brief Decomposes an aggregate and applies a given function.
205- */
206- template <typename F>
207- decltype (auto ) decompose_and_apply(DecomposableAggregate auto &&v,
208- const F &f) {
209- return decompose_and_apply<field_number_of<decltype (v)>>(
210- std::forward<decltype (v)>(v), f);
211- }
212-
213180 } // namespace aggregate
214181
215182 using aggregate::DecomposableAggregate;
0 commit comments