Skip to content

Commit 3b23300

Browse files
committed
Refactor
1 parent ac3b12f commit 3b23300

1 file changed

Lines changed: 12 additions & 26 deletions

File tree

include/proxy/v4/proxy.h

Lines changed: 12 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1267,74 +1267,60 @@ template <class D, class O, facade F, class... Args>
12671267
[[deprecated("Use unqualified invoke instead")]] auto
12681268
proxy_invoke(proxy_indirect_accessor<F>& p, Args&&... args) ->
12691269
typename details::overload_traits<O>::return_type {
1270-
return details::invoke_impl<F, false, D, O>(
1271-
details::as_proxy<F, details::qualifier_type::lv>(p),
1272-
std::forward<Args>(args)...);
1270+
return invoke<D, O>(p, std::forward<Args>(args)...);
12731271
}
12741272
template <class D, class O, facade F, class... Args>
12751273
[[deprecated("Use unqualified invoke instead")]] auto
12761274
proxy_invoke(const proxy_indirect_accessor<F>& p, Args&&... args) ->
12771275
typename details::overload_traits<O>::return_type {
1278-
return details::invoke_impl<F, false, D, O>(
1279-
details::as_proxy<F, details::qualifier_type::const_lv>(p),
1280-
std::forward<Args>(args)...);
1276+
return invoke<D, O>(p, std::forward<Args>(args)...);
12811277
}
12821278
template <class D, class O, facade F, class... Args>
12831279
[[deprecated("Use unqualified invoke instead")]] auto
12841280
proxy_invoke(proxy_indirect_accessor<F>&& p, Args&&... args) ->
12851281
typename details::overload_traits<O>::return_type {
1286-
return details::invoke_impl<F, false, D, O>(
1287-
details::as_proxy<F, details::qualifier_type::rv>(std::move(p)),
1288-
std::forward<Args>(args)...);
1282+
return invoke<D, O>(std::move(p), std::forward<Args>(args)...);
12891283
}
12901284
template <class D, class O, facade F, class... Args>
12911285
[[deprecated("Use unqualified invoke instead")]] auto
12921286
proxy_invoke(const proxy_indirect_accessor<F>&& p, Args&&... args) ->
12931287
typename details::overload_traits<O>::return_type {
1294-
return details::invoke_impl<F, false, D, O>(
1295-
details::as_proxy<F, details::qualifier_type::const_rv>(std::move(p)),
1296-
std::forward<Args>(args)...);
1288+
return invoke<D, O>(std::move(p), std::forward<Args>(args)...);
12971289
}
12981290
template <class D, class O, facade F, class... Args>
12991291
[[deprecated("Use unqualified invoke instead")]] auto
13001292
proxy_invoke(proxy<F>& p, Args&&... args) ->
13011293
typename details::overload_traits<O>::return_type {
1302-
return details::invoke_impl<F, true, D, O>(p, std::forward<Args>(args)...);
1294+
return invoke<D, O>(p, std::forward<Args>(args)...);
13031295
}
13041296
template <class D, class O, facade F, class... Args>
1305-
auto proxy_invoke(const proxy<F>& p, Args&&... args) ->
1297+
[[deprecated("Use unqualified invoke instead")]] auto
1298+
proxy_invoke(const proxy<F>& p, Args&&... args) ->
13061299
typename details::overload_traits<O>::return_type {
1307-
return details::invoke_impl<F, true, D, O>(p, std::forward<Args>(args)...);
1300+
return invoke<D, O>(p, std::forward<Args>(args)...);
13081301
}
13091302
template <class D, class O, facade F, class... Args>
13101303
[[deprecated("Use unqualified invoke instead")]] auto
13111304
proxy_invoke(proxy<F>&& p, Args&&... args) ->
13121305
typename details::overload_traits<O>::return_type {
1313-
return details::invoke_impl<F, true, D, O>(std::move(p),
1314-
std::forward<Args>(args)...);
1306+
return invoke<D, O>(std::move(p), std::forward<Args>(args)...);
13151307
}
13161308
template <class D, class O, facade F, class... Args>
13171309
[[deprecated("Use unqualified invoke instead")]] auto
13181310
proxy_invoke(const proxy<F>&& p, Args&&... args) ->
13191311
typename details::overload_traits<O>::return_type {
1320-
return details::invoke_impl<F, true, D, O>(std::move(p),
1321-
std::forward<Args>(args)...);
1312+
return invoke<D, O>(std::move(p), std::forward<Args>(args)...);
13221313
}
13231314

13241315
template <class R, facade F>
13251316
[[deprecated("Use unqualified reflect instead")]] const R&
13261317
proxy_reflect(const proxy_indirect_accessor<F>& p) noexcept {
1327-
return static_cast<const details::refl_meta<false, R>&>(
1328-
details::proxy_helper::get_meta(
1329-
details::as_proxy<F, details::qualifier_type::const_lv>(p)))
1330-
.reflector;
1318+
return reflect<R>(p);
13311319
}
13321320
template <class R, facade F>
13331321
[[deprecated("Use unqualified reflect instead")]] const R&
13341322
proxy_reflect(const proxy<F>& p) noexcept {
1335-
return static_cast<const details::refl_meta<true, R>&>(
1336-
details::proxy_helper::get_meta(p))
1337-
.reflector;
1323+
return reflect<R>(p);
13381324
}
13391325

13401326
// =============================================================================

0 commit comments

Comments
 (0)