@@ -117,12 +117,16 @@ class [[sus_trivial_abi]] FnRef<R(CallArgs...)> {
117
117
}
118
118
119
119
// / Runs the closure.
120
+ // /
121
+ // / #[doc.overloads=call.const]
120
122
inline R operator ()(CallArgs... args) const & {
121
123
::sus::check (invoke_); // Catch use-after-move.
122
124
return (*invoke_)(storage_, ::sus::forward<CallArgs>(args)...);
123
125
}
124
126
125
127
// / Runs and consumes the closure.
128
+ // /
129
+ // / #[doc.overloads=call.rvalue]
126
130
inline R operator ()(CallArgs... args) && {
127
131
::sus::check (invoke_); // Catch use-after-move.
128
132
return (*::sus::mem::replace_ptr (invoke_, nullptr ))(
@@ -237,6 +241,8 @@ class [[sus_trivial_abi]] FnMutRef<R(CallArgs...)> {
237
241
// / Since FnRef is callable, FnMutRef is already constructible from it, but
238
242
// / this constructor avoids extra indirections being inserted when converting,
239
243
// / since otherwise an extra invoker call would be introduced.
244
+ // /
245
+ // / #[doc.overloads=ctor.fnref]
240
246
constexpr FnMutRef (FnRef<R (CallArgs...)>&& o sus_lifetimebound) noexcept
241
247
: storage_ (o.storage_ ),
242
248
invoke_ (::sus::mem::replace_ptr (o.invoke_ , nullptr )) {
@@ -268,12 +274,16 @@ class [[sus_trivial_abi]] FnMutRef<R(CallArgs...)> {
268
274
}
269
275
270
276
// / Runs the closure.
277
+ // /
278
+ // / #[doc.overloads=call.mut]
271
279
inline R operator ()(CallArgs... args) & {
272
280
::sus::check (invoke_); // Catch use-after-move.
273
281
return (*invoke_)(storage_, ::sus::forward<CallArgs>(args)...);
274
282
}
275
283
276
284
// / Runs and consumes the closure.
285
+ // /
286
+ // / #[doc.overloads=call.rvalue]
277
287
inline R operator ()(CallArgs... args) && {
278
288
::sus::check (invoke_); // Catch use-after-move.
279
289
return (*::sus::mem::replace_ptr (invoke_, nullptr ))(
@@ -385,6 +395,8 @@ class [[sus_trivial_abi]] FnOnceRef<R(CallArgs...)> {
385
395
// / Since FnMutRef is callable, FnOnceRef is already constructible from it,
386
396
// / but this constructor avoids extra indirections being inserted when
387
397
// / converting, since otherwise an extra invoker call would be introduced.
398
+ // /
399
+ // / #[doc.overloads=ctor.fnmutref]
388
400
constexpr FnOnceRef (FnMutRef<R (CallArgs...)>&& o sus_lifetimebound) noexcept
389
401
: storage_ (o.storage_ ),
390
402
invoke_ (::sus::mem::replace_ptr (o.invoke_ , nullptr )) {
@@ -396,6 +408,8 @@ class [[sus_trivial_abi]] FnOnceRef<R(CallArgs...)> {
396
408
// / Since FnRef is callable, FnOnceRef is already constructible from it, but
397
409
// / this constructor avoids extra indirections being inserted when converting,
398
410
// / since otherwise an extra invoker call would be introduced.
411
+ // /
412
+ // / #[doc.overloads=ctor.fnref]
399
413
constexpr FnOnceRef (FnRef<R (CallArgs...)>&& o sus_lifetimebound) noexcept
400
414
: storage_ (o.storage_ ),
401
415
invoke_ (::sus::mem::replace_ptr (o.invoke_ , nullptr )) {
0 commit comments