@@ -22,7 +22,7 @@ struct Function<Words, R(Args...)> {
2222 template <typename F>
2323 requires Same<Invoke_Result<F, Args...>, R>
2424 Function (F&& f) noexcept {
25- construct (forward<F>(f));
25+ construct (rpp:: forward<F>(f));
2626 }
2727 ~Function () noexcept {
2828 destruct ();
@@ -46,7 +46,7 @@ struct Function<Words, R(Args...)> {
4646
4747 [[nodiscard]] R operator ()(Args... args) noexcept {
4848 assert (vtable);
49- return invoke (forward<Args>(args)...);
49+ return invoke (rpp:: forward<Args>(args)...);
5050 }
5151
5252private:
@@ -61,23 +61,23 @@ struct Function<Words, R(Args...)> {
6161 static VoidFn f_vtable[] = {reinterpret_cast <VoidFn>(&f_destruct<F>),
6262 reinterpret_cast <VoidFn>(&f_move<F>),
6363 reinterpret_cast <VoidFn>(&f_invoke<F>)};
64- new (storage) F{forward<F>(f)};
64+ new (storage) F{rpp:: forward<F>(f)};
6565 vtable = static_cast <VoidFn*>(f_vtable);
6666 }
6767 void destruct () noexcept {
6868 if (vtable) {
69- void (*destruct )(void *) = reinterpret_cast <void (*)(void *)>(vtable[0 ]);
70- destruct (storage);
69+ void (*do_destruct )(void *) = reinterpret_cast <void (*)(void *)>(vtable[0 ]);
70+ do_destruct (storage);
7171 }
7272 vtable = null;
7373 }
7474 void move (void * dst) noexcept {
75- void (*move )(void *, void *) = reinterpret_cast <void (*)(void *, void *)>(vtable[1 ]);
76- move (dst, storage);
75+ void (*do_move )(void *, void *) = reinterpret_cast <void (*)(void *, void *)>(vtable[1 ]);
76+ do_move (dst, storage);
7777 }
7878 [[nodiscard]] R invoke (Args... args) noexcept {
79- R (*invoke )(void *, Args...) = reinterpret_cast <R (*)(void *, Args...)>(vtable[2 ]);
80- return invoke (storage, forward<Args>(args)...);
79+ R (*do_invoke )(void *, Args...) = reinterpret_cast <R (*)(void *, Args...)>(vtable[2 ]);
80+ return do_invoke (storage, rpp:: forward<Args>(args)...);
8181 }
8282
8383 template <typename F>
@@ -96,7 +96,7 @@ struct Function<Words, R(Args...)> {
9696 }
9797 template <typename F>
9898 [[nodiscard]] static R f_invoke (F* src, Args... args) noexcept {
99- return src->operator ()(forward<Args>(args)...);
99+ return src->operator ()(rpp:: forward<Args>(args)...);
100100 }
101101
102102 alignas (MAX_ALIGN) u8 storage[Words * 8 ] = {};
0 commit comments